external/wpa_supplicant_6
Revision | c5f70d689ab6e50a51caa2d13fa85812574fc32a (tree) |
---|---|
Zeit | 2011-02-23 09:41:33 |
Autor | Dmitry Shmidt <dimitrysh@goog...> |
Commiter | Irfan Sheriff |
WEXT: Suppress scan errors during background scan
Change-Id: Iabc142f7d36955b55ac39605fe524b5edcc8c43c
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
@@ -969,6 +969,7 @@ void * wpa_driver_wext_init(void *ctx, const char *ifname) | ||
969 | 969 | drv->errors = 0; |
970 | 970 | drv->driver_is_started = TRUE; |
971 | 971 | drv->skip_disconnect = 0; |
972 | + drv->bgscan_enabled = 0; | |
972 | 973 | #endif |
973 | 974 | wpa_driver_wext_finish_drv_init(drv); |
974 | 975 |
@@ -1254,7 +1255,10 @@ int wpa_driver_wext_combo_scan(void *priv, struct wpa_ssid **ssid_ptr, | ||
1254 | 1255 | iwr.u.data.length = bp; |
1255 | 1256 | |
1256 | 1257 | if ((ret = ioctl(drv->ioctl_sock, SIOCSIWPRIV, &iwr)) < 0) { |
1257 | - wpa_printf(MSG_ERROR, "ioctl[SIOCSIWPRIV] (cscan): %d", ret); | |
1258 | + if (!drv->bgscan_enabled) | |
1259 | + wpa_printf(MSG_ERROR, "ioctl[SIOCSIWPRIV] (cscan): %d", ret); | |
1260 | + else | |
1261 | + ret = 0; /* Hide error in case of bg scan */ | |
1258 | 1262 | *ssid_ptr = ssid_orig; |
1259 | 1263 | /* goto old_scan; */ |
1260 | 1264 | } |
@@ -2704,8 +2708,10 @@ static int wpa_driver_priv_driver_cmd( void *priv, char *cmd, char *buf, size_t | ||
2704 | 2708 | return ret; |
2705 | 2709 | } |
2706 | 2710 | os_strncpy(cmd, "PNOFORCE 1", MAX_DRV_CMD_SIZE); |
2711 | + drv->bgscan_enabled = 1; | |
2707 | 2712 | } else if( os_strcasecmp(cmd, "BGSCAN-STOP") == 0 ) { |
2708 | 2713 | os_strncpy(cmd, "PNOFORCE 0", MAX_DRV_CMD_SIZE); |
2714 | + drv->bgscan_enabled = 0; | |
2709 | 2715 | } |
2710 | 2716 | |
2711 | 2717 | os_memset(&iwr, 0, sizeof(iwr)); |
@@ -47,6 +47,7 @@ struct wpa_driver_wext_data { | ||
47 | 47 | int errors; |
48 | 48 | int driver_is_started; |
49 | 49 | int skip_disconnect; |
50 | + int bgscan_enabled; | |
50 | 51 | #endif |
51 | 52 | }; |
52 | 53 |