aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/ctrl_iface.c
diff options
context:
space:
mode:
authorJithu Jance <jithu@broadcom.com>2013-10-17 06:26:02 (GMT)
committerJouni Malinen <j@w1.fi>2013-11-18 12:35:48 (GMT)
commitf86d282f4326fac4a945094bd8f06c9ee1f3087e (patch)
treeb7def5a58c2ab4149efe055f404fd454bf8fd3ba /wpa_supplicant/ctrl_iface.c
parentc41e1d7cace6c84c767c4540eb807dea7f6da9ad (diff)
downloadhostap-f86d282f4326fac4a945094bd8f06c9ee1f3087e.zip
hostap-f86d282f4326fac4a945094bd8f06c9ee1f3087e.tar.gz
hostap-f86d282f4326fac4a945094bd8f06c9ee1f3087e.tar.bz2
Handle legacy scan interruption of sched_scan/PNO
While starting from PNO start context, the scheduled scan was not setting the flag wpa_s->scanning. This was resulting in the subsequent SCAN command to proceed further and send command to nl80211/cfg80211. The expected behavior of cancelling sched_scan was not happening here. While sched_scan is in progress and a legacy scan comes on the cli/socket, the sched_scan is cancelled and normal scan is allowed to continue. However, sometimes sched_scan cancelled event comes a bit delayed and we will send out the scan command before the wpa_s->scanning is cleared. Instead, reschedule the incoming scan req if the wpa_s->scanning shows that it is still in progress. Signed-hostap: Jithu Jance <jithu@broadcom.com>
Diffstat (limited to 'wpa_supplicant/ctrl_iface.c')
-rw-r--r--wpa_supplicant/ctrl_iface.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index 280441e..6472f4f 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -117,7 +117,7 @@ static int pno_start(struct wpa_supplicant *wpa_s)
interval = wpa_s->conf->sched_scan_interval ?
wpa_s->conf->sched_scan_interval : 10;
- ret = wpa_drv_sched_scan(wpa_s, &params, interval * 1000);
+ ret = wpa_supplicant_start_sched_scan(wpa_s, &params, interval);
os_free(params.filter_ssids);
if (ret == 0)
wpa_s->pno = 1;
@@ -131,7 +131,7 @@ static int pno_stop(struct wpa_supplicant *wpa_s)
if (wpa_s->pno) {
wpa_s->pno = 0;
- ret = wpa_drv_stop_sched_scan(wpa_s);
+ ret = wpa_supplicant_stop_sched_scan(wpa_s);
}
if (wpa_s->wpa_state == WPA_SCANNING)