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 <mikael.kanstrup@sonymobile.com>
This commit is contained in:
Mikael Kanstrup 2014-05-31 13:23:00 +03:00 committed by Jouni Malinen
parent 0aee8330bd
commit b77aeae732

View file

@ -2397,10 +2397,11 @@ static void interworking_select_network(struct wpa_supplicant *wpa_s)
if (interworking_find_network_match(wpa_s)) { if (interworking_find_network_match(wpa_s)) {
wpa_printf(MSG_DEBUG, "Interworking: Possible BSS " wpa_printf(MSG_DEBUG, "Interworking: Possible BSS "
"match for enabled network configurations"); "match for enabled network configurations");
if (wpa_s->auto_select) if (wpa_s->auto_select) {
interworking_reconnect(wpa_s); interworking_reconnect(wpa_s);
return; return;
} }
}
if (wpa_s->auto_network_select) { if (wpa_s->auto_network_select) {
wpa_printf(MSG_DEBUG, "Interworking: Continue " wpa_printf(MSG_DEBUG, "Interworking: Continue "