Browse Source

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.
Jouni Malinen 14 years ago
parent
commit
3c85f144ce
2 changed files with 2 additions and 0 deletions
  1. 1 0
      wpa_supplicant/ap.c
  2. 1 0
      wpa_supplicant/events.c

+ 1 - 0
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;

+ 1 - 0
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);