From 0cf24fdaed7cc0a1abdf83f3744e7fb9db0d83c3 Mon Sep 17 00:00:00 2001 From: Luciano Coelho Date: Thu, 24 Apr 2014 08:45:36 +0300 Subject: [PATCH] scan: Reset normal scan counter when a connection succeeds 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 --- wpa_supplicant/wpa_supplicant.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 5d9cbf7a3..2cf595f71 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -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);