]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Interworking: Clear SCANNING state if no network selected
authorJouni Malinen <j@w1.fi>
Sun, 11 Dec 2016 16:39:12 +0000 (18:39 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 11 Dec 2016 16:39:12 +0000 (18:39 +0200)
Commit 192ad3d7307473f14c049c1ea724e292a3f8ae24 ('Interworking: Clear
SCANNING state if no match found') did this for the case where no
network matched credentials, but left the SCANNING state in place if
there were a match, but automatic connection was not enabled. Extend
this to cover the case where INTERWORKING_SELECT is not followed by a
connection attempt so that wpa_state is not left indefinitely to
SCANNING.

This fixes a hwsim test case failure in the following sequence:
ap_anqp_sharing scan_trigger_failure

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/interworking.c

index 1fb40c74e5cf9a669e95955a50a83491394ea77a..5c0e109ebbe8f4a640b4ee439ec12fcf3ea4fc8e 100644 (file)
@@ -2530,7 +2530,8 @@ static void interworking_select_network(struct wpa_supplicant *wpa_s)
                wpa_msg(wpa_s, MSG_INFO, INTERWORKING_SELECTED MACSTR,
                        MAC2STR(selected->bssid));
                interworking_connect(wpa_s, selected, 0);
-       }
+       } else if (wpa_s->wpa_state == WPA_SCANNING)
+               wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
 }