Skip to content

Commit edbfdcc

Browse files
jmberglinvjw
authored andcommitted
b43: fix ieee80211_rx() context
Due to the way it interacts with the networking stack and other parts of mac80211, ieee80211_rx() must be called with disabled softirqs. [1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/39440/focus=40266 Reported-by: Dave Young <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
1 parent 51f98f1 commit edbfdcc

File tree

1 file changed

+3
-0
lines changed
  • drivers/net/wireless/b43

1 file changed

+3
-0
lines changed

drivers/net/wireless/b43/xmit.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,10 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
690690
}
691691

692692
memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
693+
694+
local_bh_disable();
693695
ieee80211_rx(dev->wl->hw, skb);
696+
local_bh_enable();
694697

695698
#if B43_DEBUG
696699
dev->rx_count++;

0 commit comments

Comments
 (0)