aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/rx.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-11-04 11:18:13 +0100
committerJohn W. Linville <linville@tuxdriver.com>2011-11-09 16:12:30 -0500
commit21fc756087d7659d86c344c0b38229313afc6c7c (patch)
tree93debdafff19ae1596f56fba519bffe761ed8328 /net/mac80211/rx.c
parentnl80211: allow subscribing to unexpected class3 frames (diff)
downloadlinux-dev-21fc756087d7659d86c344c0b38229313afc6c7c.tar.xz
linux-dev-21fc756087d7659d86c344c0b38229313afc6c7c.zip
mac80211: support spurious class3 event
Add support for the spurious class3 frame event to mac80211 to enable AP w/o monitor mode. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r--net/mac80211/rx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index c8a7076f9bb8..e832e0dcab3c 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -866,6 +866,13 @@ ieee80211_rx_h_check(struct ieee80211_rx_data *rx)
rx->sdata->control_port_protocol)
return RX_CONTINUE;
}
+
+ if (rx->sdata->vif.type == NL80211_IFTYPE_AP &&
+ cfg80211_rx_spurious_frame(rx->sdata->dev,
+ hdr->addr2,
+ GFP_ATOMIC))
+ return RX_DROP_UNUSABLE;
+
return RX_DROP_MONITOR;
}