On Thu, 2009-10-15 at 03:04 +0800, Sedat Dilek wrote: > you are using ieee80211_rx() in > * drivers/net/wireless/iwlwifi/iwl-3945.c > * drivers/net/wireless/iwlwifi/iwl-rx.c > files. > Kalle posted "mac80211: add ieee80211_rx_ni()" patch [1] and I applied > on top of master 2009-10-13. > wl1251 driver uses ieee80211_rx_ni() [2]. > My question: > Is iwlagn/iwl3945 using workqueues - means shall/can it use > ieee80211_rx_ni() instead? The iwlagn context for calling ieee80211_rx{_irqsafe} is tasklet. But before my patch, the call site is also protected by a spinlock_irqsave(). This makes the actual context to be an IRQ one. Thus ieee80211_rx_irqsafe() is used originally. In this patch, I removed the spin lock protection for it (see the patch comment for why we can do it) so that ieee80211_rx() can be used now. > Out of curiosity, I substituted ieee80211_rx() by ieee80211_rx_ni() > and it seems to work. This is unnecessary. Tasklet has already had bh disabled. Thanks, -yi -- 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