From: Johannes Berg Date: Wed, 5 Mar 2008 19:39:31 +0000 (+0100) Subject: mac80211: don't call conf_tx under RCU lock X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e5f98f2df903af627a9b9ac55b9352fd54fc431a;p=linux-beck.git mac80211: don't call conf_tx under RCU lock Reinette pointed out that with the sta_info RCU-ification the behaviour here changed and the conf_tx callback is now invoked under RCU read lock. That is not necessary so this patch restores the original behaviour Signed-off-by: Johannes Berg Tested-by: Reinette Chatre Signed-off-by: John W. Linville --- diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c index bece28b3eba5..8b991ebcbb4e 100644 --- a/net/mac80211/ieee80211_sta.c +++ b/net/mac80211/ieee80211_sta.c @@ -1930,16 +1930,16 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata, if (elems.wmm_param && (ifsta->flags & IEEE80211_STA_WMM_ENABLED)) { sta->flags |= WLAN_STA_WME; + rcu_read_unlock(); ieee80211_sta_wmm_params(dev, ifsta, elems.wmm_param, elems.wmm_param_len); - } + } else + rcu_read_unlock(); /* set AID, ieee80211_set_associated() will tell the driver */ bss_conf->aid = aid; ieee80211_set_associated(dev, ifsta, 1); - rcu_read_unlock(); - ieee80211_associated(dev, ifsta); }