aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-01-24 14:44:35 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-25 16:36:28 -0500
commit1396b231b0369c4146988c2f42fb416ae19e2572 (patch)
tree3afd6b356b33d712eb88a01472cdf2a873f1d4ca
parenteb807fb23878bc319e029ed8ce3d835d239723a5 (diff)
mac80211: fix WARN_ON in the new work code
ieee80211_work_rx_mgmt currently enqueues various management frames, including deauth and disassoc frames, however the function ieee80211_work_rx_queued_mgmt does not handle these, as they should only occur if the AP is buggy. It does emit a WARN_ON when this happens though, and several users have reported such instances. Fix the WARN_ON by not queueing such frames in the first place. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/work.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/net/mac80211/work.c b/net/mac80211/work.c
index 81bd5d592bb4..df8277cdb4d0 100644
--- a/net/mac80211/work.c
+++ b/net/mac80211/work.c
@@ -1022,8 +1022,6 @@ ieee80211_rx_result ieee80211_work_rx_mgmt(struct ieee80211_sub_if_data *sdata,
1022 case IEEE80211_STYPE_PROBE_RESP: 1022 case IEEE80211_STYPE_PROBE_RESP:
1023 case IEEE80211_STYPE_ASSOC_RESP: 1023 case IEEE80211_STYPE_ASSOC_RESP:
1024 case IEEE80211_STYPE_REASSOC_RESP: 1024 case IEEE80211_STYPE_REASSOC_RESP:
1025 case IEEE80211_STYPE_DEAUTH:
1026 case IEEE80211_STYPE_DISASSOC:
1027 skb_queue_tail(&local->work_skb_queue, skb); 1025 skb_queue_tail(&local->work_skb_queue, skb);
1028 ieee80211_queue_work(&local->hw, &local->work_work); 1026 ieee80211_queue_work(&local->hw, &local->work_work);
1029 return RX_QUEUED; 1027 return RX_QUEUED;