summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2010-05-30 14:53:43 +0200
committerJohn W. Linville <linville@tuxdriver.com>2010-06-03 14:10:45 -0400
commit08daecaead42b85b69b33d7d8429a93dfbf75b58 (patch)
tree920dce6666547bcf07ae6aad203e162a8ada9411 /net
parente0961f112cd88176acc6d1af6ca6352f85cdf993 (diff)
mac80211: drop control frames after processing
After ieee80211_rx_h_ctrl() processing we only want to process management (including action) frames, so there's no point in letting control frames continue. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/rx.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 0ade2679391..0b9898ac4d8 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1844,7 +1844,12 @@ ieee80211_rx_h_ctrl(struct ieee80211_rx_data *rx, struct sk_buff_head *frames)
return RX_QUEUED;
}
- return RX_CONTINUE;
+ /*
+ * After this point, we only want management frames,
+ * so we can drop all remaining control frames to
+ * cooked monitor interfaces.
+ */
+ return RX_DROP_MONITOR;
}
static void ieee80211_process_sa_query_req(struct ieee80211_sub_if_data *sdata,