WPS: Reduce scan wait time during WPS processing

Since the AP is expected to be available, there is no need to wait for
the full five second wait between scans during WPS connection. This
speeds up cases where the first scan misses the AP for some reason.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2013-11-28 12:56:21 +02:00 committed by Jouni Malinen
parent 015af91fea
commit 662b40b16b
2 changed files with 12 additions and 1 deletions

View file

@ -1395,6 +1395,16 @@ static int wpas_select_network_from_last_scan(struct wpa_supplicant *wpa_s,
return 1; return 1;
} }
#endif /* CONFIG_INTERWORKING */ #endif /* CONFIG_INTERWORKING */
#ifdef CONFIG_WPS
if (wpa_s->after_wps > 0) {
wpa_dbg(wpa_s, MSG_DEBUG, "Use shorter wait during WPS processing");
timeout_sec = 0;
timeout_usec = 500000;
wpa_supplicant_req_new_scan(wpa_s, timeout_sec,
timeout_usec);
return 0;
}
#endif /* CONFIG_WPS */
if (wpa_supplicant_req_sched_scan(wpa_s)) if (wpa_supplicant_req_sched_scan(wpa_s))
wpa_supplicant_req_new_scan(wpa_s, timeout_sec, wpa_supplicant_req_new_scan(wpa_s, timeout_sec,
timeout_usec); timeout_usec);

View file

@ -299,7 +299,8 @@ static void wpa_supplicant_optimize_freqs(
if (params->freqs) if (params->freqs)
params->freqs[0] = wpa_s->wps_freq; params->freqs[0] = wpa_s->wps_freq;
wpa_s->after_wps--; wpa_s->after_wps--;
} } else if (wpa_s->after_wps)
wpa_s->after_wps--;
if (params->freqs == NULL && wpa_s->known_wps_freq && wpa_s->wps_freq) if (params->freqs == NULL && wpa_s->known_wps_freq && wpa_s->wps_freq)
{ {