From 3c85f144ce7aa3967f881a7584a5b125061ca436 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 25 Nov 2010 16:04:07 +0200 Subject: [PATCH] P2P: Fix Action frame sending after disconnection 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 | 1 + wpa_supplicant/events.c | 1 + 2 files changed, 2 insertions(+) diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index 6e84a6428..f0bc7d58f 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -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; diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 10487479f..125f52e13 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -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);