[PATCH 1/1] STA: Request new scan only for the original interface

Jithu Jance jithujance
Tue Nov 12 04:10:23 PST 2013


Hi Jouni,

On Fri, Nov 8, 2013 at 10:10 AM, Jithu Jance <jithujance at gmail.com> wrote:

> Hi Jouni,
>
>
> Maybe an additional "int own_request" argument for
>> wpas_select_network_from_last_scan() and using that to determine whether
>> to start the scan request at the end of the selected == NULL && ssid ==
>> NULL case?
>
>
> Makes sense. Thanks for your feedback. I will change the patch accordingly
> and resubmit it.
>
>
Kindly see whether the below patch is fine.


Signed-hostap: Jithu Jance <jithu at broadcom.com>
---
 wpa_supplicant/events.c |   15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 4493772..ae2c07c 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -46,7 +46,7 @@

 #ifndef CONFIG_NO_SCAN_PROCESSING
 static int wpas_select_network_from_last_scan(struct wpa_supplicant *wpa_s,
-      int new_scan);
+      int new_scan, int own_request);
 #endif /* CONFIG_NO_SCAN_PROCESSING */


@@ -1302,12 +1302,12 @@ static int
_wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s,

  wpa_scan_results_free(scan_res);

- return wpas_select_network_from_last_scan(wpa_s, 1);
+ return wpas_select_network_from_last_scan(wpa_s, 1, own_request);
 }


 static int wpas_select_network_from_last_scan(struct wpa_supplicant *wpa_s,
-      int new_scan)
+      int new_scan, int own_request)
 {
  struct wpa_bss *selected;
  struct wpa_ssid *ssid = NULL;
@@ -1342,7 +1342,12 @@ static int wpas_select_network_from_last_scan(struct
wpa_supplicant *wpa_s,
  wpa_supplicant_associate(wpa_s, NULL, ssid);
  if (new_scan)
  wpa_supplicant_rsn_preauth_scan_results(wpa_s);
- } else {
+ } else if (own_request) {
+ /*
+ *  No SSID found. If SCAN results are as a result of
+ *  own scan request and not due to a scan request on
+ *  another shared interface, try another scan.
+ * */
  int timeout_sec = wpa_s->scan_interval;
  int timeout_usec = 0;
 #ifdef CONFIG_P2P
@@ -1446,7 +1451,7 @@ int wpa_supplicant_fast_associate(struct
wpa_supplicant *wpa_s)
  return -1;
  }

- return wpas_select_network_from_last_scan(wpa_s, 0);
+ return wpas_select_network_from_last_scan(wpa_s, 0, 1);
 #endif /* CONFIG_NO_SCAN_PROCESSING */
 }

--
1.7.9.5


*> Jithu Jance*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.shmoo.com/pipermail/hostap/attachments/20131112/112df235/attachment.htm>



More information about the Hostap mailing list