> This patch is causing some problems in the iwlwifi driver. Often when > one of these RCU locks are held the driver tries to send a command to > the device and waits for the response, or it does some other activity > requiring sleeping. This causes numerous BUG messages as seen below: > > BUG: sleeping function called from invalid context at > /home/rchatre/wifi/repos.git/iwlwifi-2.6/kernel/mutex.c:209 > [<dca8e637>] iwl3945_mac_conf_tx+0x1b0/0x234 [iwl3945] > [<dc9d186a>] ieee80211_sta_wmm_params+0x165/0x195 [mac80211] Ouch, sorry. Try this patch please. johannes --- 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); } -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html