From b77aeae7323a77618e84ed370b1968022b7cca78 Mon Sep 17 00:00:00 2001 From: Mikael Kanstrup Date: Sat, 31 May 2014 13:23:00 +0300 Subject: [PATCH] Interworking: Re-trigger scan if no connect attempt is done For one specific case when running with Interworking enabled the re-initialisation of the scan timer is missing. This makes auto connect to a configured network fail. The case is: - Interworking credentials available, but do not match - Auto interworking is enabled (auto_interworking=1) - Interworking auto select is disabled (i.e., this is from auto_interworking=1, not from INTERWORKING_SELECT auto) - No configured (enabled and non blacklisted) networks are present in scan results list with full match - Interworking finds matching networks (it does not do full security policy match) This patch covers the case and re-initialises the scan timer to allow search for a suitable network to continue. Signed-off-by: Mikael Kanstrup --- wpa_supplicant/interworking.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c index a8ecb8cc2..6d1539c64 100644 --- a/wpa_supplicant/interworking.c +++ b/wpa_supplicant/interworking.c @@ -2397,9 +2397,10 @@ static void interworking_select_network(struct wpa_supplicant *wpa_s) if (interworking_find_network_match(wpa_s)) { wpa_printf(MSG_DEBUG, "Interworking: Possible BSS " "match for enabled network configurations"); - if (wpa_s->auto_select) + if (wpa_s->auto_select) { interworking_reconnect(wpa_s); - return; + return; + } } if (wpa_s->auto_network_select) {