]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Fix Action frame sending after disconnection
authorJouni Malinen <jouni.malinen@atheros.com>
Thu, 25 Nov 2010 14:04:07 +0000 (16:04 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 25 Nov 2010 14:04:07 +0000 (16:04 +0200)
assoc_freq needs to be cleared when an interface gets disconnected.
This fixes an issue where P2P Action frame transmission may fail
because of missing remain-on-channel operation when using the same
interface for group operations (or non-P2P connections) and P2P
management operations.

wpa_supplicant/ap.c
wpa_supplicant/events.c

index 6e84a642801f73340c7b66a926f646ed3c66ddfa..f0bc7d58f30db9bfaad8258fb35c8a05bb00ade2 100644 (file)
@@ -442,6 +442,7 @@ void wpa_supplicant_ap_deinit(struct wpa_supplicant *wpa_s)
                return;
 
        wpa_s->current_ssid = NULL;
+       wpa_s->assoc_freq = 0;
 #ifdef CONFIG_P2P
        if (wpa_s->ap_iface->bss)
                wpa_s->ap_iface->bss[0]->p2p_group = NULL;
index 10487479f23e8c73ea9cd5d0586fd9a7eaab6344..125f52e1364e4261b0ba34c98da4ce4b1463b252 100644 (file)
@@ -121,6 +121,7 @@ void wpa_supplicant_mark_disassoc(struct wpa_supplicant *wpa_s)
        os_memset(wpa_s->bssid, 0, ETH_ALEN);
        os_memset(wpa_s->pending_bssid, 0, ETH_ALEN);
        wpa_s->current_bss = NULL;
+       wpa_s->assoc_freq = 0;
        if (bssid_changed)
                wpas_notify_bssid_changed(wpa_s);