From 8cd82735cb8181a6cd77c14740e928fa33882369 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 11 Apr 2010 19:55:40 +0300 Subject: [PATCH] Add an option to request a connection without a new scan --- wpa_supplicant/scan.c | 7 +++++-- wpa_supplicant/wpa_supplicant_i.h | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c index 1a9eba690..610d56b45 100644 --- a/wpa_supplicant/scan.c +++ b/wpa_supplicant/scan.c @@ -291,7 +291,8 @@ static void wpa_supplicant_scan(void *eloop_ctx, void *timeout_ctx) if (wpa_s->scan_res_tried == 0 && wpa_s->conf->ap_scan == 1 && !(wpa_s->drv_flags & WPA_DRIVER_FLAGS_USER_SPACE_MLME) && - wps != 2 && !wpa_s->conf->filter_ssids) { + wps != 2 && !wpa_s->conf->filter_ssids && + !wpa_s->connect_without_scan) { wpa_s->scan_res_tried++; wpa_printf(MSG_DEBUG, "Trying to get current scan results " "first without requesting a new scan to speed up " @@ -322,7 +323,9 @@ static void wpa_supplicant_scan(void *eloop_ctx, void *timeout_ctx) } } - if (scan_req != 2 && wpa_s->conf->ap_scan == 2) { + if (scan_req != 2 && (wpa_s->conf->ap_scan == 2 || + wpa_s->connect_without_scan)) { + wpa_s->connect_without_scan = 0; wpa_supplicant_assoc_try(wpa_s, ssid); return; } else if (wpa_s->conf->ap_scan == 2) { diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h index 6465cb192..d7fc884c3 100644 --- a/wpa_supplicant/wpa_supplicant_i.h +++ b/wpa_supplicant/wpa_supplicant_i.h @@ -430,6 +430,8 @@ struct wpa_supplicant { const struct bgscan_ops *bgscan; void *bgscan_priv; + int connect_without_scan; + int after_wps; unsigned int wps_freq; };