rendered paste body--- net80211/ieee80211_input.c 2007-05-23 01:43:05.000000000 -0700
+++ net80211/ieee80211_input.c 2007-06-04 02:45:27.000000000 -0700
@@ -3536,10 +3536,14 @@
case IEEE80211_FC0_SUBTYPE_DEAUTH: {
u_int16_t reason;
- if (vap->iv_state == IEEE80211_S_SCAN) {
- vap->iv_stats.is_rx_mgtdiscard++;
- return;
- }
+
+ if (vap->iv_state == IEEE80211_M_STA &&
+ vap->iv_state == IEEE80211_M_MONITOR &&
+ vap->iv_state == IEEE80211_S_SCAN) {
+ vap->iv_stats.is_rx_mgtdiscard++;
+ return;
+ }
+
/*
* deauth frame format
* [2] reason
@@ -3572,6 +3576,8 @@
if (vap->iv_state != IEEE80211_S_RUN &&
vap->iv_state != IEEE80211_S_ASSOC &&
+ vap->iv_state == IEEE80211_M_STA &&
+ vap->iv_state == IEEE80211_M_MONITOR &&
vap->iv_state != IEEE80211_S_AUTH) {
vap->iv_stats.is_rx_mgtdiscard++;
return;