diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 8782ba83b..fa0dc9d9b 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -698,7 +698,7 @@ wpa_supplicant_pick_network(struct wpa_supplicant *wpa_s, static void wpa_supplicant_req_new_scan(struct wpa_supplicant *wpa_s, - int timeout) + int timeout_sec, int timeout_usec) { if (wpa_s->scan_res_tried == 1 && wpa_s->conf->ap_scan == 1) { /* @@ -706,7 +706,8 @@ static void wpa_supplicant_req_new_scan(struct wpa_supplicant *wpa_s, * complete when fetched before the first scan request. */ wpa_s->scan_res_tried++; - timeout = 0; + timeout_sec = 0; + timeout_usec = 0; } else if (!wpa_supplicant_enabled_networks(wpa_s->conf)) { /* * No networks are enabled; short-circuit request so @@ -716,7 +717,7 @@ static void wpa_supplicant_req_new_scan(struct wpa_supplicant *wpa_s, wpa_supplicant_set_state(wpa_s, WPA_INACTIVE); return; } - wpa_supplicant_req_scan(wpa_s, timeout, 0); + wpa_supplicant_req_scan(wpa_s, timeout_sec, timeout_usec); } @@ -727,7 +728,7 @@ void wpa_supplicant_connect(struct wpa_supplicant *wpa_s, if (wpas_wps_scan_pbc_overlap(wpa_s, selected, ssid)) { wpa_msg(wpa_s, MSG_INFO, WPS_EVENT_OVERLAP "PBC session overlap"); - wpa_supplicant_req_new_scan(wpa_s, 10); + wpa_supplicant_req_new_scan(wpa_s, 10, 0); return; } @@ -742,7 +743,7 @@ void wpa_supplicant_connect(struct wpa_supplicant *wpa_s, os_memcmp(selected->bssid, wpa_s->pending_bssid, ETH_ALEN) != 0))) { if (wpa_supplicant_scard_init(wpa_s, ssid)) { - wpa_supplicant_req_new_scan(wpa_s, 10); + wpa_supplicant_req_new_scan(wpa_s, 10, 0); return; } wpa_supplicant_associate(wpa_s, selected, ssid); @@ -894,7 +895,7 @@ static void wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s, return; wpa_printf(MSG_DEBUG, "Failed to get scan results - try " "scanning again"); - wpa_supplicant_req_new_scan(wpa_s, 1); + wpa_supplicant_req_new_scan(wpa_s, 1, 0); return; } @@ -949,8 +950,12 @@ static void wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s, if (ssid) { wpa_printf(MSG_DEBUG, "Setup a new network"); wpa_supplicant_associate(wpa_s, NULL, ssid); - } else - wpa_supplicant_req_new_scan(wpa_s, 5); + } else { + int timeout_sec = 5; + int timeout_usec = 0; + wpa_supplicant_req_new_scan(wpa_s, timeout_sec, + timeout_usec); + } } } #endif /* CONFIG_NO_SCAN_PROCESSING */