From 23270cd8f56768188f4b725d257ad2bdf009c96e Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 30 Oct 2012 12:27:05 +0200 Subject: [PATCH] Restore wpa_s->scan_req if scan trigger fails If the driver rejects the scan request while handling an external requested scan (e.g., SCAN command on ctrl_iface), wpa_s->scan_req gets cleared in wpa_supplicant_scan(). This can results in issues when the scheduled re-try of the scan in one seconds trigger another call to this function. If ap_scan==2 mode is used, this would result in new association attempt instead of a new scan. Avoid this by restoring value of wpa_s->scan_req in case the scan trigger fails and a new scan attempt is scheduled. Signed-hostap: Jouni Malinen --- wpa_supplicant/scan.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c index 68bdc59fb..df663bcc0 100644 --- a/wpa_supplicant/scan.c +++ b/wpa_supplicant/scan.c @@ -696,6 +696,8 @@ scan: wpa_msg(wpa_s, MSG_WARNING, "Failed to initiate AP scan"); if (prev_state != wpa_s->wpa_state) wpa_supplicant_set_state(wpa_s, prev_state); + /* Restore scan_req since we will try to scan again */ + wpa_s->scan_req = scan_req; wpa_supplicant_req_scan(wpa_s, 1, 0); } }