|
@@ -291,7 +291,8 @@ static void wpa_supplicant_scan(void *eloop_ctx, void *timeout_ctx)
|
|
|
|
|
|
if (wpa_s->scan_res_tried == 0 && wpa_s->conf->ap_scan == 1 &&
|
|
|
!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_USER_SPACE_MLME) &&
|
|
|
- wps != 2 && !wpa_s->conf->filter_ssids) {
|
|
|
+ wps != 2 && !wpa_s->conf->filter_ssids &&
|
|
|
+ !wpa_s->connect_without_scan) {
|
|
|
wpa_s->scan_res_tried++;
|
|
|
wpa_printf(MSG_DEBUG, "Trying to get current scan results "
|
|
|
"first without requesting a new scan to speed up "
|
|
@@ -322,7 +323,9 @@ static void wpa_supplicant_scan(void *eloop_ctx, void *timeout_ctx)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (scan_req != 2 && wpa_s->conf->ap_scan == 2) {
|
|
|
+ if (scan_req != 2 && (wpa_s->conf->ap_scan == 2 ||
|
|
|
+ wpa_s->connect_without_scan)) {
|
|
|
+ wpa_s->connect_without_scan = 0;
|
|
|
wpa_supplicant_assoc_try(wpa_s, ssid);
|
|
|
return;
|
|
|
} else if (wpa_s->conf->ap_scan == 2) {
|