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 6e84a64..f0bc7d5 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 1048747..125f52e 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);