diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2011-02-22 11:25:10 -0800 |
---|---|---|
committer | Irfan Sheriff <isheriff@google.com> | 2011-02-22 13:28:07 -0800 |
commit | 3a3bb4e12d8659161a8b25c8919c02abb589ed10 (patch) | |
tree | c8481fdc0df2efc6777704b02f3b37eb969e0966 | |
parent | e579499f62982cc3493149d3947b9d2f67b105d6 (diff) | |
download | wpa_supplicant_6-3a3bb4e12d8659161a8b25c8919c02abb589ed10.tar.gz |
WEXT: Suppress scan errors during background scan
Change-Id: Iab7138e1408afe409b27657d599a159d0fcb8ed8
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
-rw-r--r-- | wpa_supplicant/src/drivers/driver_wext.c | 8 | ||||
-rw-r--r-- | wpa_supplicant/src/drivers/driver_wext.h | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/wpa_supplicant/src/drivers/driver_wext.c b/wpa_supplicant/src/drivers/driver_wext.c index 4982bff..c4dd036 100644 --- a/wpa_supplicant/src/drivers/driver_wext.c +++ b/wpa_supplicant/src/drivers/driver_wext.c @@ -969,6 +969,7 @@ void * wpa_driver_wext_init(void *ctx, const char *ifname) drv->errors = 0; drv->driver_is_started = TRUE; drv->skip_disconnect = 0; + drv->bgscan_enabled = 0; #endif wpa_driver_wext_finish_drv_init(drv); @@ -1254,7 +1255,10 @@ int wpa_driver_wext_combo_scan(void *priv, struct wpa_ssid **ssid_ptr, iwr.u.data.length = bp; if ((ret = ioctl(drv->ioctl_sock, SIOCSIWPRIV, &iwr)) < 0) { - wpa_printf(MSG_ERROR, "ioctl[SIOCSIWPRIV] (cscan): %d", ret); + if (!drv->bgscan_enabled) + wpa_printf(MSG_ERROR, "ioctl[SIOCSIWPRIV] (cscan): %d", ret); + else + ret = 0; /* Hide error in case of bg scan */ *ssid_ptr = ssid_orig; /* goto old_scan; */ } @@ -2704,8 +2708,10 @@ static int wpa_driver_priv_driver_cmd( void *priv, char *cmd, char *buf, size_t return ret; } os_strncpy(cmd, "PNOFORCE 1", MAX_DRV_CMD_SIZE); + drv->bgscan_enabled = 1; } else if( os_strcasecmp(cmd, "BGSCAN-STOP") == 0 ) { os_strncpy(cmd, "PNOFORCE 0", MAX_DRV_CMD_SIZE); + drv->bgscan_enabled = 0; } os_memset(&iwr, 0, sizeof(iwr)); diff --git a/wpa_supplicant/src/drivers/driver_wext.h b/wpa_supplicant/src/drivers/driver_wext.h index 7ba31e8..b9f50ce 100644 --- a/wpa_supplicant/src/drivers/driver_wext.h +++ b/wpa_supplicant/src/drivers/driver_wext.h @@ -47,6 +47,7 @@ struct wpa_driver_wext_data { int errors; int driver_is_started; int skip_disconnect; + int bgscan_enabled; #endif }; |