diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2012-09-09 14:01:23 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-09-09 14:01:24 -0700 |
commit | dee117d008719acfac082af3740349fc86629627 (patch) | |
tree | b0b122c18521684c27d9e5d6667d2406beb439d2 | |
parent | 37f5fa5a8706c16490dd841c280bc015f79d81da (diff) | |
parent | f8a26a8e6e081a2c576568198d0bcb4f976258ac (diff) | |
download | external_wpa_supplicant_8-dee117d008719acfac082af3740349fc86629627.zip external_wpa_supplicant_8-dee117d008719acfac082af3740349fc86629627.tar.gz external_wpa_supplicant_8-dee117d008719acfac082af3740349fc86629627.tar.bz2 |
Merge "SME: Fix disconnec-while-authenticating" into jb-mr1-dev
-rw-r--r-- | wpa_supplicant/events.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 48faff2..c3acad4 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -1842,6 +1842,7 @@ static void wpa_supplicant_event_disassoc_finish(struct wpa_supplicant *wpa_s, u8 prev_pending_bssid[ETH_ALEN]; struct wpa_bss *fast_reconnect = NULL; struct wpa_ssid *fast_reconnect_ssid = NULL; + struct wpa_ssid *last_ssid; authenticating = wpa_s->wpa_state == WPA_AUTHENTICATING; os_memcpy(prev_pending_bssid, wpa_s->pending_bssid, ETH_ALEN); @@ -1914,10 +1915,13 @@ static void wpa_supplicant_event_disassoc_finish(struct wpa_supplicant *wpa_s, wpa_s->keys_cleared = 0; wpa_clear_keys(wpa_s, wpa_s->bssid); } + last_ssid = wpa_s->current_ssid; wpa_supplicant_mark_disassoc(wpa_s); - if (authenticating && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)) + if (authenticating && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)) { sme_disassoc_while_authenticating(wpa_s, prev_pending_bssid); + wpa_s->current_ssid = last_ssid; + } if (fast_reconnect) { #ifndef CONFIG_NO_SCAN_PROCESSING |