wl1251: use ieee80211_rx_ni()
authorKalle Valo <kalle.valo@nokia.com>
Tue, 13 Oct 2009 17:33:21 +0000 (20:33 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 27 Oct 2009 20:48:21 +0000 (16:48 -0400)
Because of SPI and SDIO wl1251 does everything in a workqueue, including
calling ieee80211_rx() which should be called with bottom halves disabled.
An error message is emitted because of this:

NOHZ: local_softirq_pending 08

Fix this by using ieee80211_rx_ni().

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1251_rx.c

index 17c54b59ef8623d4abccaaf7c9658bec89332129..601fe0d678274a0fc23c18e6430572e33b878331 100644 (file)
@@ -153,7 +153,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
                     beacon ? "beacon" : "");
 
        memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
-       ieee80211_rx(wl->hw, skb);
+       ieee80211_rx_ni(wl->hw, skb);
 }
 
 static void wl1251_rx_ack(struct wl1251 *wl)