diff options
author | Ricardo Cerqueira <ricardo@cyngn.com> | 2016-04-04 20:32:15 +0100 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-09-01 09:56:50 -0700 |
commit | 2fd0d2c41fcf9b1bde42413380bbcfca40eb4f15 (patch) | |
tree | 0ffc8820ee312cba426a18898a729fc667b79d63 | |
parent | f02582af4b244fac253c007b678fc48e9f26fd7f (diff) | |
download | android_external_wpa_supplicant_8-2fd0d2c41fcf9b1bde42413380bbcfca40eb4f15.tar.gz android_external_wpa_supplicant_8-2fd0d2c41fcf9b1bde42413380bbcfca40eb4f15.tar.bz2 android_external_wpa_supplicant_8-2fd0d2c41fcf9b1bde42413380bbcfca40eb4f15.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 6a978667..ec92095b 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -5684,7 +5684,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: |