wpa_supplicant: Cancel sched_scan when stopping countermeasures
authorIlan Peer <ilan.peer@intel.com>
Wed, 18 Feb 2015 02:35:14 +0000 (21:35 -0500)
committerJouni Malinen <j@w1.fi>
Sat, 21 Feb 2015 14:07:53 +0000 (16:07 +0200)
When stopping the TKIP countermeasures, it would be preferable to
connect immediately. However if scheduled scan is in progress,
a connection attempt will be done only when scan results are received,
so cancel the scheduled scan to allow immediate scan and connection
attempt.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
wpa_supplicant/events.c

index c4bc02d..72a7368 100644 (file)
@@ -175,6 +175,15 @@ void wpa_supplicant_stop_countermeasures(void *eloop_ctx, void *sock_ctx)
                wpa_s->countermeasures = 0;
                wpa_drv_set_countermeasures(wpa_s, 0);
                wpa_msg(wpa_s, MSG_INFO, "WPA: TKIP countermeasures stopped");
+
+               /*
+                * It is possible that the device is sched scanning, which means
+                * that a connection attempt will be done only when we receive
+                * scan results. However, in this case, it would be preferable
+                * to scan and connect immediately, so cancel the sched_scan and
+                * issue a regular scan flow.
+                */
+               wpa_supplicant_cancel_sched_scan(wpa_s);
                wpa_supplicant_req_scan(wpa_s, 0, 0);
        }
 }