]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
scan: Reset normal scan counter when a connection succeeds
authorLuciano Coelho <luciano.coelho@intel.com>
Thu, 24 Apr 2014 05:45:36 +0000 (08:45 +0300)
committerJouni Malinen <j@w1.fi>
Thu, 24 Apr 2014 09:15:32 +0000 (12:15 +0300)
The normal scan counter is used to trigger a few normal scans before a
scheduled scan is issued. The reason for doing this is that we get
results faster and some drivers support more SSIDs per normal scan
than during sched scan. After 2 normal scans, we start using
sched_scan. But the problem is that when a connection succeeds, we do
not reset this counter, so we will keep using sched scans.

To fix this, now we reset the counter when we switch to WPA_COMPLETED
state.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
wpa_supplicant/wpa_supplicant.c

index 5d9cbf7a382e28172d11b7e13402c786d2765537..2cf595f71e727dbfbd744cbf7099f66d77a6b985 100644 (file)
@@ -673,8 +673,11 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
                wpa_s->normal_scans = 0;
        }
 
-       if (state == WPA_COMPLETED)
+       if (state == WPA_COMPLETED) {
                wpas_connect_work_done(wpa_s);
+               /* Reinitialize normal_scan counter */
+               wpa_s->normal_scans = 0;
+       }
 
        if (state != WPA_SCANNING)
                wpa_supplicant_notify_scanning(wpa_s, 0);