aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Cerqueira <ricardo@cyngn.com>2016-04-04 20:32:15 +0100
committerSteve Kondik <steve@cyngn.com>2016-09-01 09:56:50 -0700
commit2fd0d2c41fcf9b1bde42413380bbcfca40eb4f15 (patch)
tree0ffc8820ee312cba426a18898a729fc667b79d63
parentf02582af4b244fac253c007b678fc48e9f26fd7f (diff)
downloadandroid_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.c6
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: