wl1271: don't get received frames from hardware in PLT mode
authorKalle Valo <kalle.valo@nokia.com>
Mon, 22 Feb 2010 06:38:30 +0000 (08:38 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 9 Mar 2010 20:03:01 +0000 (15:03 -0500)
Most probably patch "wl1271: add most of the normal initialization commands
to PLT mode" enabled the RX path in firmware so that now driver received
frames and passed them to mac80211, which warned about them.

Workaround this by not retrieving frames from the hardware, just ignore them.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1271_rx.c

index b7a7c0621ec1db404f0dae43cab3049a1ff80569..2df7852db9a5c5e9626cba1ebaf7e0a1a13b9794 100644 (file)
@@ -159,6 +159,13 @@ static void wl1271_rx_handle_data(struct wl1271 *wl, u32 length)
        u8 *buf;
        u8 beacon = 0;
 
+       /*
+        * In PLT mode we seem to get frames and mac80211 warns about them,
+        * workaround this by not retrieving them at all.
+        */
+       if (unlikely(wl->state == WL1271_STATE_PLT))
+               return;
+
        skb = __dev_alloc_skb(length, GFP_KERNEL);
        if (!skb) {
                wl1271_error("Couldn't allocate RX frame");