aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2009-04-20 08:36:47 (GMT)
committerJouni Malinen <j@w1.fi>2009-04-20 09:24:17 (GMT)
commit5927f40e8b4f65c5c410cfaacd705c5b25426368 (patch)
treed3bb4730f4f29a47953eefb9cecff6bb2fe0aa40 /wpa_supplicant
parentc540c778a89e4cb45b739dcc949c30f8a2776ea4 (diff)
downloadhostap-06-5927f40e8b4f65c5c410cfaacd705c5b25426368.zip
hostap-06-5927f40e8b4f65c5c410cfaacd705c5b25426368.tar.gz
hostap-06-5927f40e8b4f65c5c410cfaacd705c5b25426368.tar.bz2
Make deauthentication and disassociation consistent
This fixes an issue where the station was not marked disassociated properly with locally requested deauthentication. (cherry picked from commit c3dc92e85f7bc5823102e70ecff1d3402d79139b)
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/wpa_supplicant.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index c1f95cb..8033f34 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1226,7 +1226,6 @@ void wpa_supplicant_deauthenticate(struct wpa_supplicant *wpa_s,
int reason_code)
{
u8 *addr = NULL;
- wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
if (!is_zero_ether_addr(wpa_s->bssid)) {
if (wpa_s->use_client_mlme)
ieee80211_sta_deauthenticate(wpa_s, reason_code);
@@ -1236,11 +1235,10 @@ void wpa_supplicant_deauthenticate(struct wpa_supplicant *wpa_s,
addr = wpa_s->bssid;
}
wpa_clear_keys(wpa_s, addr);
+ wpa_supplicant_mark_disassoc(wpa_s);
wpa_s->current_ssid = NULL;
wpa_sm_set_config(wpa_s->wpa, NULL);
eapol_sm_notify_config(wpa_s->eapol, NULL, NULL);
- eapol_sm_notify_portEnabled(wpa_s->eapol, FALSE);
- eapol_sm_notify_portValid(wpa_s->eapol, FALSE);
}