From: Arend van Spriel Date: Wed, 15 Jan 2014 09:11:32 +0000 (+0100) Subject: Reset normal_scans counter upon entering INTERFACE_DISABLED state X-Git-Tag: hostap_2_1~121 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5ddd07cb37811718e21f9ab2611d3dcdc554f4b9;p=thirdparty%2Fhostap.git Reset normal_scans counter upon entering INTERFACE_DISABLED state Depending on the implementation, the scheduled scan may not give results quickly when in DISCONNECTED state. This patch resets wpa_s::normal_scans upon entering to the INTERFACE_DISABLED state so a normal scan is assured upon going to DISCONNECTED state after the interface has been re-enabled. This mainly solves a long reconnect time observed upon repeated kernel driver reloads, i.e., third reload resulted in a scheduled scan. Reviewed-by: Hante Meuleman Signed-hostap: Arend van Spriel --- diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 78e274979..b7c16caaf 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -652,6 +652,11 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s, wpa_supplicant_state_txt(wpa_s->wpa_state), wpa_supplicant_state_txt(state)); + if (state == WPA_INTERFACE_DISABLED) { + /* Assure normal scan when interface is restored */ + wpa_s->normal_scans = 0; + } + if (state == WPA_COMPLETED) wpas_connect_work_done(wpa_s);