mirror of
https://github.com/torvalds/linux.git
synced 2024-10-30 00:32:38 +00:00
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 <hidave.darkstar@gmail.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
51f98f1313
commit
edbfdcceb4
@ -690,7 +690,10 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
|
memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
|
||||||
|
|
||||||
|
local_bh_disable();
|
||||||
ieee80211_rx(dev->wl->hw, skb);
|
ieee80211_rx(dev->wl->hw, skb);
|
||||||
|
local_bh_enable();
|
||||||
|
|
||||||
#if B43_DEBUG
|
#if B43_DEBUG
|
||||||
dev->rx_count++;
|
dev->rx_count++;
|
||||||
|
Loading…
Reference in New Issue
Block a user