diff options
author | sam <sam@FreeBSD.org> | 2008-07-26 23:50:27 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2008-07-26 23:50:27 +0000 |
commit | 1fc2ef0208b69ae667b75ed3995790d478b8c93d (patch) | |
tree | 359293b084a5b4fdb4c034c5e9a109f540b9a399 /sys/net80211 | |
parent | 8a94b46be40b505fc58db156dd09586daba53968 (diff) | |
download | FreeBSD-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.c | 10 |
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; } |