From f1609f119aebfef376c9f2b961bb121d566b40a4 Mon Sep 17 00:00:00 2001 From: Ilan Peer Date: Tue, 17 Feb 2015 21:35:14 -0500 Subject: [PATCH] wpa_supplicant: Cancel sched_scan when stopping countermeasures 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 --- wpa_supplicant/events.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index c4bc02d1c..72a736833 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -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); } }