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>
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index c484a88..93ee1fd 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -823,8 +823,10 @@
}
if (params->vlan->ieee80211_ptr->use_4addr) {
- if (vlansdata->u.vlan.sta)
+ if (vlansdata->u.vlan.sta) {
+ rcu_read_unlock();
return -EBUSY;
+ }
rcu_assign_pointer(vlansdata->u.vlan.sta, sta);
}