diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-11-20 04:09:14 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-11-23 17:05:29 -0500 |
commit | 3305443c968b98902199bea0abbd9443c6a2bb8d (patch) | |
tree | 9a31f5c76c76f97c5d959b4a75a84de2ebf693be /net | |
parent | f1cf2dbd0f798b71b1590e7aca6647f2caef1649 (diff) |
mac80211: fix rcu locking
Add a missing rcu_read_unlock() before jumping out
of the ieee80211_change_station() function in the
error case.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/cfg.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index c484a882140e..93ee1fd5c08d 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -823,8 +823,10 @@ static int ieee80211_change_station(struct wiphy *wiphy, | |||
823 | } | 823 | } |
824 | 824 | ||
825 | if (params->vlan->ieee80211_ptr->use_4addr) { | 825 | if (params->vlan->ieee80211_ptr->use_4addr) { |
826 | if (vlansdata->u.vlan.sta) | 826 | if (vlansdata->u.vlan.sta) { |
827 | rcu_read_unlock(); | ||
827 | return -EBUSY; | 828 | return -EBUSY; |
829 | } | ||
828 | 830 | ||
829 | rcu_assign_pointer(vlansdata->u.vlan.sta, sta); | 831 | rcu_assign_pointer(vlansdata->u.vlan.sta, sta); |
830 | } | 832 | } |