]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Fix regression in start-GO/AP through a "fake" scan
authorJouni Malinen <jouni@qca.qualcomm.com>
Mon, 2 Mar 2015 14:45:51 +0000 (16:45 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 2 Mar 2015 14:45:51 +0000 (16:45 +0200)
Commit 3f9ebc439c9468bf51219c931a05028aa8a3d3a7 ('P2P: Allow AP/GO
interface to be started while P2P-in-progress') moved the
wpa_s->connect_without_scan and wpa_s->last_scan_req checks to an
earlier place within the wpa_supplicant_scan() function without
adjusting wpa_s->last_scan_req. This variable was set between the old
and new location, so the new location needs to use wpa_s->scan_req.

This fixes an issue where AP/GO operations were not properly started in
some operation sequence. Instead, a station mode scan was executed. This
issue could be triggered, e.g., by running the no_go_freq test case
followed by autogo_random_channel.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
wpa_supplicant/scan.c

index bc59705dc5fceecf2406fe9c432a1c7b90250660..805891a88005cd39daf3b6d9dc9e9d820421594d 100644 (file)
@@ -680,7 +680,7 @@ static void wpa_supplicant_scan(void *eloop_ctx, void *timeout_ctx)
        }
 
        ssid = NULL;
-       if (wpa_s->last_scan_req != MANUAL_SCAN_REQ &&
+       if (wpa_s->scan_req != MANUAL_SCAN_REQ &&
            wpa_s->connect_without_scan) {
                connect_without_scan = 1;
                for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) {