From 693e312235cf1275a5cb6fddfe9dd3ef11a584af Mon Sep 17 00:00:00 2001 From: Sam Leffler Date: Sat, 26 Jul 2008 23:50:27 +0000 Subject: [PATCH] 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 --- sys/net80211/ieee80211_hostap.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index 3c15505b56e7..492ef13418cb 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; }