Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5f98f2d authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

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: default avatarJohannes Berg <johannes@sipsolutions.net>
Tested-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent bb0c9dc2
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -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)) {
	if (elems.wmm_param && (ifsta->flags & IEEE80211_STA_WMM_ENABLED)) {
		sta->flags |= WLAN_STA_WME;
		sta->flags |= WLAN_STA_WME;
		rcu_read_unlock();
		ieee80211_sta_wmm_params(dev, ifsta, elems.wmm_param,
		ieee80211_sta_wmm_params(dev, ifsta, elems.wmm_param,
					 elems.wmm_param_len);
					 elems.wmm_param_len);
	}
	} else
		rcu_read_unlock();


	/* set AID, ieee80211_set_associated() will tell the driver */
	/* set AID, ieee80211_set_associated() will tell the driver */
	bss_conf->aid = aid;
	bss_conf->aid = aid;
	ieee80211_set_associated(dev, ifsta, 1);
	ieee80211_set_associated(dev, ifsta, 1);


	rcu_read_unlock();

	ieee80211_associated(dev, ifsta);
	ieee80211_associated(dev, ifsta);
}
}