aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunil Dutt <usdutt@qti.qualcomm.com>2014-10-20 10:18:47 +0530
committerLinux Build Service Account <lnxbuild@localhost>2014-11-04 08:24:49 -0700
commit036fae13522e46eebd0d99ee35caea438f7c2333 (patch)
treed214fdeae13790866a1f376633981f2f30609628
parent216e3c9c95c0af7ec7a09e46cc7bf72e822802cc (diff)
downloadandroid_external_wpa_supplicant_8-036fae13522e46eebd0d99ee35caea438f7c2333.tar.gz
android_external_wpa_supplicant_8-036fae13522e46eebd0d99ee35caea438f7c2333.tar.bz2
android_external_wpa_supplicant_8-036fae13522e46eebd0d99ee35caea438f7c2333.zip
Invoke connect work done for all the connection failure cases
This commit fixes couple of connection failure paths where wpas_connect_work_done() was not called, thus enabling the radio work interface to proceed with the other queued actions. CRs-fixed: 720732 Git-commit: 7465640066ce3215348ab94df8a6cfef8fff90b8 Git-repo : git://w1.fi/srv/git/hostap.git Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Change-Id: I5b700cb6d7d93cc111e4272991b4c5df3f5d971c
-rw-r--r--wpa_supplicant/wpa_supplicant.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 53024c21..9aa5bea2 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1535,6 +1535,7 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
(ssid->key_mgmt & WPA_KEY_MGMT_WPS)) {
/* Use ap_scan==1 style network selection to find the network
*/
+ wpas_connect_work_done(wpa_s);
wpa_s->scan_req = MANUAL_SCAN_REQ;
wpa_s->reassociate = 1;
wpa_supplicant_req_scan(wpa_s, 0, 0);
@@ -1585,6 +1586,7 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
wpa_ie, &wpa_ie_len)) {
wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to set WPA "
"key management and encryption suites");
+ wpas_connect_work_done(wpa_s);
return;
}
} else if ((ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) && bss &&
@@ -1604,6 +1606,7 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to set WPA "
"key management and encryption suites (no "
"scan results)");
+ wpas_connect_work_done(wpa_s);
return;
}
#ifdef CONFIG_WPS
@@ -1876,8 +1879,10 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
freq, params.freq);
if (wpas_p2p_handle_frequency_conflicts(wpa_s,
params.freq,
- ssid) < 0)
+ ssid) < 0) {
+ wpas_connect_work_done(wpa_s);
return;
+ }
}
}
#endif /* CONFIG_P2P */