From be8be6717d0fc9568b436826453ed8541a017f5b Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 27 Feb 2010 18:40:25 +0200 Subject: [PATCH] Clear current_bss pointer on disassociation/deauthentication This is needed to allow the BSS table entry for the previously used BSS to be removed. Now wpa_bss_in_use() can return 0 for the last BSS that was used as soon as deauthentication/disassociation event has been received. --- wpa_supplicant/events.c | 1 + 1 file changed, 1 insertion(+) diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index e47777d13..6ead50120 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -113,6 +113,7 @@ void wpa_supplicant_mark_disassoc(struct wpa_supplicant *wpa_s) bssid_changed = !is_zero_ether_addr(wpa_s->bssid); os_memset(wpa_s->bssid, 0, ETH_ALEN); os_memset(wpa_s->pending_bssid, 0, ETH_ALEN); + wpa_s->current_bss = NULL; if (bssid_changed) wpas_notify_bssid_changed(wpa_s);