On Friday 23 May 2008, Johannes Berg wrote: > On Fri, 2008-05-23 at 03:05 +0100, Andrew Price wrote: > > Hi, > > > > I'm seeing this bug when I boot but unfortunately the messages don't > > seem to get logged and the system locks so I took a photo of as much as > > could fit on my laptop's screen: > > http://sucs.org/~welshbyte/wirelesstraces.jpg (sorry about the bad quality). > > > > Anyway, I've bisected it down to commit > > 2f561feb386d6adefbad63c59a1fcd298ac6a79c "mac80211: Add RTNL version of > > ieee80211_iterate_active_interfaces" > > > > lspci says I'm using a: > > > > 02:00.0 Network controller: RaLink RT2500 802.11g Cardbus/mini-PCI (rev 01) > > Looks like rt2x00 actually needs both versions of the function. Johannes: Thanks for the tip, I seriously overlooked that the rtnl version grabs a mutex in interrupt context. :) Andew: Could you try below patch to see if that works? --- diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 5645140..669d942 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -481,9 +481,9 @@ void rt2x00lib_beacondone(struct rt2x00_dev *rt2x00dev) if (!test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags)) return; - ieee80211_iterate_active_interfaces(rt2x00dev->hw, - rt2x00lib_beacondone_iter, - rt2x00dev); + ieee80211_iterate_active_interfaces_atomic(rt2x00dev->hw, + rt2x00lib_beacondone_iter, + rt2x00dev); queue_work(rt2x00dev->hw->workqueue, &rt2x00dev->intf_work); } -- 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