aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/wpa_supplicant.c
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/wpa_supplicant.c
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/wpa_supplicant.c')
-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);
}