From aa283ddd976aaac5e35fccdd116602c727d30798 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 15 Feb 2012 20:39:54 +0200 Subject: [PATCH] WPS: Do not use sched_scan for provisioning step Normal scan is more reliable and faster for WPS operations and since these are for short periods of time, the benefit of trying to use sched_scan would be limited. This can fix WPS connectivity issues with some drivers. Signed-hostap: Jouni Malinen intended-for: hostap-1 --- wpa_supplicant/scan.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c index 2cb4e323e..7fddb74a9 100644 --- a/wpa_supplicant/scan.c +++ b/wpa_supplicant/scan.c @@ -752,6 +752,20 @@ int wpa_supplicant_req_sched_scan(struct wpa_supplicant *wpa_s) wildcard = 1; } else if (!ssid->disabled && ssid->ssid_len) need_ssids++; + +#ifdef CONFIG_WPS + if (!ssid->disabled && ssid->key_mgmt == WPA_KEY_MGMT_WPS) { + /* + * Normal scan is more reliable and faster for WPS + * operations and since these are for short periods of + * time, the benefit of trying to use sched_scan would + * be limited. + */ + wpa_dbg(wpa_s, MSG_DEBUG, "Use normal scan instead of " + "sched_scan for WPS"); + return -1; + } +#endif /* CONFIG_WPS */ } if (wildcard) need_ssids++;