On Wednesday 30 September 2009 16:54:26 Johannes Berg wrote: > On Wed, 2009-09-30 at 17:47 +0300, Kalle Valo wrote: > > > I agree with Michael. The bug is real and I have verified that > > Michael's patch fixes the issue. Better to apply the patch now, it's > > trivial to change the implementation if/when the network stack has > > support for this. > > FWIW, I think in mac80211 the in_interrupt() check can never return true > since we postpone all RX to the tasklet. But the tasklet seems to be ok > -- so should it really be in_interrupt()? I think a tasklet is also in_interrupt(), because it's a softirq. in_interrupt() returns false in process context. The problem appeared when the b43 driver started passing RX frames while being in process context (threaded IRQ). It previously was in tasklet (= softirq) context. -- Greetings, Michael. -- 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