]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/b43/xmit.c
b43: fix ieee80211_rx() context
[karo-tx-linux.git] / drivers / net / wireless / b43 / xmit.c
index 14f541248b5c13e885cae1cf94add88854653822..f4e9695ec18611a2c33439184fa501fc9dc9a8c7 100644 (file)
@@ -27,7 +27,7 @@
 
 */
 
-#include "xmit.h"
+#include "b43.h"
 #include "phy_common.h"
 #include "dma.h"
 #include "pio.h"
@@ -690,8 +690,14 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
        }
 
        memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
-       ieee80211_rx_irqsafe(dev->wl->hw, skb);
 
+       local_bh_disable();
+       ieee80211_rx(dev->wl->hw, skb);
+       local_bh_enable();
+
+#if B43_DEBUG
+       dev->rx_count++;
+#endif
        return;
 drop:
        b43dbg(dev->wl, "RX: Packet dropped\n");