summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-07-26 23:50:27 +0000
committersam <sam@FreeBSD.org>2008-07-26 23:50:27 +0000
commit1fc2ef0208b69ae667b75ed3995790d478b8c93d (patch)
tree359293b084a5b4fdb4c034c5e9a109f540b9a399 /sys/net80211
parent8a94b46be40b505fc58db156dd09586daba53968 (diff)
downloadFreeBSD-src-1fc2ef0208b69ae667b75ed3995790d478b8c93d.zip
FreeBSD-src-1fc2ef0208b69ae667b75ed3995790d478b8c93d.tar.gz
don't deauth a station because it sends a ps-poll w/ a bogus aid in it;
turns out some devices do this and since we otherwise validate the station is associated and don't use the aid for anything being lenient here allows them to function Submitted by: Chris Zimmermann MFC after: 2 weeks
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_hostap.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c
index 3c15505..492ef13 100644
--- a/sys/net80211/ieee80211_hostap.c
+++ b/sys/net80211/ieee80211_hostap.c
@@ -2199,8 +2199,14 @@ hostap_recv_pspoll(struct ieee80211_node *ni, struct mbuf *m0)
"aid mismatch: sta aid 0x%x poll aid 0x%x",
ni->ni_associd, aid);
vap->iv_stats.is_ps_badaid++;
- IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_DEAUTH,
- IEEE80211_REASON_NOT_ASSOCED);
+ /*
+ * NB: We used to deauth the station but it turns out
+ * the Blackberry Curve 8230 (and perhaps other devices)
+ * sometimes send the wrong AID when WME is negotiated.
+ * Being more lenient here seems ok as we already check
+ * the station is associated and we only return frames
+ * queued for the station (i.e. we don't use the AID).
+ */
return;
}
OpenPOWER on IntegriCloud