diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2009-11-17 09:52:44 -0800 |
---|---|---|
committer | Dmitry Shmidt <dimitrysh@google.com> | 2009-11-17 09:52:44 -0800 |
commit | 0ebb71cfe0d43f8288055b20a96452d36713d845 (patch) | |
tree | 295f9ff8d92a8ca5cacecf35da145b5876ea5e58 | |
parent | f02dfc26f9c2a492e066582e7c739e11b0e88ff5 (diff) | |
download | wpa_supplicant-0ebb71cfe0d43f8288055b20a96452d36713d845.tar.gz |
wext: Use probe scan only for hidden networks (b/2262258)
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
-rw-r--r-- | driver_wext.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/driver_wext.c b/driver_wext.c index c512586..e939a00 100644 --- a/driver_wext.c +++ b/driver_wext.c @@ -1126,6 +1126,10 @@ int wpa_driver_wext_scan(void *priv, const u8 *ssid, size_t ssid_len) struct iwreq iwr; int ret = 0, timeout; struct iw_scan_req req; +#ifdef ANDROID + struct wpa_supplicant *wpa_s = (struct wpa_supplicant *)(drv->ctx); + int scan_probe_flag = 0; +#endif if (ssid_len > IW_ESSID_MAX_SIZE) { wpa_printf(MSG_DEBUG, "%s: too long SSID (%lu)", @@ -1136,7 +1140,14 @@ int wpa_driver_wext_scan(void *priv, const u8 *ssid, size_t ssid_len) os_memset(&iwr, 0, sizeof(iwr)); os_strncpy(iwr.ifr_name, drv->ifname, IFNAMSIZ); +#ifdef ANDROID + if (wpa_s->prev_scan_ssid != BROADCAST_SSID_SCAN) { + scan_probe_flag = wpa_s->prev_scan_ssid->scan_ssid; + } + if (scan_probe_flag && (ssid && ssid_len)) { +#else if (ssid && ssid_len) { +#endif os_memset(&req, 0, sizeof(req)); req.essid_len = ssid_len; req.bssid.sa_family = ARPHRD_ETHER; |