This avoids an extra timeout to move to INACTIVE state.
*/
wpa_s->scan_res_tried++;
timeout = 0;
+ } else if (!wpa_supplicant_enabled_networks(wpa_s->conf)) {
+ /*
+ * No networks are enabled; short-circuit request so
+ * we don't wait timeout seconds before transitioning
+ * to INACTIVE state.
+ */
+ wpa_supplicant_set_state(wpa_s, WPA_INACTIVE);
+ return;
}
wpa_supplicant_req_scan(wpa_s, timeout, 0);
}
#endif /* CONFIG_WPS */
-static int wpa_supplicant_enabled_networks(struct wpa_config *conf)
+int wpa_supplicant_enabled_networks(struct wpa_config *conf)
{
struct wpa_ssid *ssid = conf->ssid;
while (ssid) {
struct wpa_ssid *ssid);
/* scan.c */
+int wpa_supplicant_enabled_networks(struct wpa_config *conf);
void wpa_supplicant_req_scan(struct wpa_supplicant *wpa_s, int sec, int usec);
void wpa_supplicant_cancel_scan(struct wpa_supplicant *wpa_s);
void wpa_supplicant_notify_scanning(struct wpa_supplicant *wpa_s,