Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] mac80211: don't call conf_tx under RCU lock
@ 2008-03-05 19:39 Johannes Berg
  0 siblings, 0 replies; only message in thread
From: Johannes Berg @ 2008-03-05 19:39 UTC (permalink / raw)
  To: John Linville; +Cc: Reinette Chatre, linux-wireless

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 <johannes@sipsolutions.net>
Tested-by: Reinette Chatre <reinette.chatre@intel.com>
---
 net/mac80211/ieee80211_sta.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- everything.orig/net/mac80211/ieee80211_sta.c	2008-03-05 10:17:37.000000000 +0100
+++ everything/net/mac80211/ieee80211_sta.c	2008-03-05 10:18:12.000000000 +0100
@@ -1930,16 +1930,16 @@ static void ieee80211_rx_mgmt_assoc_resp
 
 	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);
 }
 



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-03-05 19:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-05 19:39 [PATCH] mac80211: don't call conf_tx under RCU lock Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox