summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_proto.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2007-06-16 05:13:48 +0000
committersam <sam@FreeBSD.org>2007-06-16 05:13:48 +0000
commit4ee0fbbf170a572305b7a954d5250d5801e12939 (patch)
treee2a745b99ebfbabf41407c369ec8d998fa0ca252 /sys/net80211/ieee80211_proto.c
parenta8415c5a0d7d39fe501a93e2f31b2532cf6dfd91 (diff)
downloadFreeBSD-src-4ee0fbbf170a572305b7a954d5250d5801e12939.zip
FreeBSD-src-4ee0fbbf170a572305b7a954d5250d5801e12939.tar.gz
Correct state machine handling of AUTH -> AUTH transitions that pass
through wpa_supplcant. If a sta is deauth'd (e.g. due to inactivity) with roaming mode set to manual then a subsequent MLME assoc request will be incorrectly handled and the station will never reauthenticate. To fix this interpret a reason code of zero as sufficient to send an auth request frame.
Diffstat (limited to 'sys/net80211/ieee80211_proto.c')
-rw-r--r--sys/net80211/ieee80211_proto.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c
index 40fef21..4a2b8f9 100644
--- a/sys/net80211/ieee80211_proto.c
+++ b/sys/net80211/ieee80211_proto.c
@@ -1065,6 +1065,7 @@ static void
sta_authretry(struct ieee80211com *ic, struct ieee80211_node *ni, int reason)
{
switch (reason) {
+ case IEEE80211_STATUS_SUCCESS:
case IEEE80211_STATUS_TIMEOUT:
case IEEE80211_REASON_ASSOC_EXPIRE:
case IEEE80211_REASON_NOT_AUTHED:
OpenPOWER on IntegriCloud