diff options
author | Ricardo Cerqueira <ricardo@cyngn.com> | 2016-04-04 20:32:15 +0100 |
---|---|---|
committer | Ricardo Cerqueira <ricardo@cyngn.com> | 2016-07-01 11:17:52 +0100 |
commit | a46cc719b5d14a91b4711aff5197edcf49b775e7 (patch) | |
tree | 86f4a447c7db0f04ed5749c7479a669fa6a53df7 | |
parent | 94b7293f57f67e901d69388f9a021ffb61f688be (diff) | |
download | android_external_wpa_supplicant_8-a46cc719b5d14a91b4711aff5197edcf49b775e7.tar.gz android_external_wpa_supplicant_8-a46cc719b5d14a91b4711aff5197edcf49b775e7.tar.bz2 android_external_wpa_supplicant_8-a46cc719b5d14a91b4711aff5197edcf49b775e7.zip |
eap: Don't force reassociation when getting the identity and handshakes are in progress
This creates a race-condition between credentials management and association,
often kicking the connection state into a loop.
This does not apply if the EAP connection is proxied.
Change-Id: Ie43612c6112438dbdacad2a0f585c11674f5b53d
-rw-r--r-- | wpa_supplicant/wpa_supplicant.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 7852268a..f93e0f6c 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -5403,7 +5403,11 @@ int wpa_supplicant_ctrl_iface_ctrl_rsp_handle(struct wpa_supplicant *wpa_s, eap->identity = (u8 *) os_strdup(value); eap->identity_len = os_strlen(value); eap->pending_req_identity = 0; - if (ssid == wpa_s->current_ssid) + if (ssid == wpa_s->current_ssid +#ifndef CONFIG_EAP_PROXY + && wpa_s->wpa_state < WPA_ASSOCIATING +#endif + ) wpa_s->reassociate = 1; break; case WPA_CTRL_REQ_EAP_PASSWORD: |