aboutsummaryrefslogtreecommitdiff
path: root/ctrl_iface.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2009-06-22 15:45:09 -0700
committerDmitry Shmidt <dimitrysh@google.com>2009-06-22 15:45:09 -0700
commit692ddb28627925ab7391aff595b1d9ae489ca8d6 (patch)
tree8ea61e467c5c809d295c10c8a32616afe2618e56 /ctrl_iface.c
parent6bc625ab4c9fafd0161c36b8369500eddab9c70f (diff)
downloadwpa_supplicant-692ddb28627925ab7391aff595b1d9ae489ca8d6.tar.gz
Fix possible scan conflict if two scan commands are issued at same time
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'ctrl_iface.c')
-rw-r--r--ctrl_iface.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ctrl_iface.c b/ctrl_iface.c
index f606826..ef93533 100644
--- a/ctrl_iface.c
+++ b/ctrl_iface.c
@@ -642,6 +642,7 @@ static int wpa_supplicant_ctrl_iface_select_network(
ssid = ssid->next;
}
wpa_s->reassociate = 1;
+ wpa_s->prev_scan_ssid = BROADCAST_SSID_SCAN;
wpa_supplicant_req_scan(wpa_s, 0, 0);
return 0;
@@ -1253,8 +1254,12 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
wpa_s->disconnected = 1;
wpa_supplicant_disassociate(wpa_s, REASON_DEAUTH_LEAVING);
} else if (os_strcmp(buf, "SCAN") == 0) {
- wpa_s->scan_req = 2;
- wpa_supplicant_req_scan(wpa_s, 0, 0);
+ if (!wpa_s->scan_ongoing) {
+ wpa_s->scan_req = 2;
+ wpa_supplicant_req_scan(wpa_s, 0, 0);
+ }
+ else
+ wpa_printf(MSG_DEBUG, "Ongoing Scan action...");
} else if (os_strcmp(buf, "SCAN_RESULTS") == 0) {
reply_len = wpa_supplicant_ctrl_iface_scan_results(
wpa_s, reply, reply_size);