2009-10-21 11:04:28

by Luciano Coelho

[permalink] [raw]
Subject: [PATCH] wl1271: use ieee80211_rx_ni()

Use the new ieee80211_rx_ni() function instead of ieee80211_rx(). Since we
use a workqueue to handle the RX path, we need to call the new function,
which disables bottom half handling. This patch fixes the NOHZ:
local_softirq_pending messages.

CC: Kalle Valo <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
Reviewed-by: Kalle Valo <[email protected]>
---
drivers/net/wireless/wl12xx/wl1271_rx.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/wl12xx/wl1271_rx.c b/drivers/net/wireless/wl12xx/wl1271_rx.c
index dbf07be..37d81ab 100644
--- a/drivers/net/wireless/wl12xx/wl1271_rx.c
+++ b/drivers/net/wireless/wl12xx/wl1271_rx.c
@@ -184,7 +184,7 @@ static void wl1271_rx_handle_data(struct wl1271 *wl, u32 length)
beacon ? "beacon" : "");

memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status));
- ieee80211_rx(wl->hw, skb);
+ ieee80211_rx_ni(wl->hw, skb);
}

void wl1271_rx(struct wl1271 *wl, struct wl1271_fw_status *status)
--
1.5.6.5