--- a/wpa_supplicant/scan.c
+++ b/wpa_supplicant/scan.c
-@@ -250,6 +250,7 @@ static void wpa_supplicant_scan(void *el
- enum wps_request_type req_type = WPS_REQ_ENROLLEE_INFO;
- #endif /* CONFIG_WPS */
+@@ -423,6 +423,7 @@ static void wpa_supplicant_scan(void *el
+ int scan_req = 0, ret;
+ struct wpabuf *extra_ie;
struct wpa_driver_scan_params params;
+ int scan_ssid_all = 1;
size_t max_ssids;
enum wpa_states prev_state;
-@@ -306,6 +307,16 @@ static void wpa_supplicant_scan(void *el
- wpa_s->wpa_state == WPA_INACTIVE)
- wpa_supplicant_set_state(wpa_s, WPA_SCANNING);
+@@ -502,6 +503,16 @@ static void wpa_supplicant_scan(void *el
+ }
+ }
+ /* check if all configured ssids should be scanned directly */
+ ssid = wpa_s->conf->ssid;
/* Find the starting point from which to continue scanning */
ssid = wpa_s->conf->ssid;
if (wpa_s->prev_scan_ssid != WILDCARD_SSID_SCAN) {
-@@ -369,6 +380,9 @@ static void wpa_supplicant_scan(void *el
+@@ -564,6 +575,9 @@ static void wpa_supplicant_scan(void *el
int_array_sort_unique(params.freqs);
}