summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2006-06-26 04:31:36 +0000
committersam <sam@FreeBSD.org>2006-06-26 04:31:36 +0000
commit0cf0aadbe39a7d82e6d4494b331d8301005c6d09 (patch)
tree641b304c2f8ee6edee7a899762aa4a0e9592b555 /sys/dev/ath
parent36eaea84d88886355403ae4954282448ea475d43 (diff)
downloadFreeBSD-src-0cf0aadbe39a7d82e6d4494b331d8301005c6d09.zip
FreeBSD-src-0cf0aadbe39a7d82e6d4494b331d8301005c6d09.tar.gz
enable rx of control frames when in monitor mode
Submitted by: Andrea Bittau <a.bittau@cs.ucl.ac.uk> MFC after: 1 week
Diffstat (limited to 'sys/dev/ath')
-rw-r--r--sys/dev/ath/if_ath.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index be28b42..a312367 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -1699,6 +1699,8 @@ ath_key_update_end(struct ieee80211com *ic)
* - when operating in station mode for collecting rssi data when
* the station is otherwise quiet, or
* - when scanning
+ * o accept control frames:
+ * - when in monitor mode
*/
static u_int32_t
ath_calcrxfilter(struct ath_softc *sc, enum ieee80211_state state)
@@ -1720,6 +1722,8 @@ ath_calcrxfilter(struct ath_softc *sc, enum ieee80211_state state)
ic->ic_opmode == IEEE80211_M_IBSS ||
state == IEEE80211_S_SCAN)
rfilt |= HAL_RX_FILTER_BEACON;
+ if (ic->ic_opmode == IEEE80211_M_MONITOR)
+ rfilt |= HAL_RX_FILTER_CONTROL;
return rfilt;
#undef RX_FILTER_PRESERVE
}
OpenPOWER on IntegriCloud