Clear current_bss pointer on disassociation/deauthentication
authorJouni Malinen <j@w1.fi>
Sat, 27 Feb 2010 16:40:25 +0000 (18:40 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 27 Feb 2010 16:40:25 +0000 (18:40 +0200)
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

index e47777d..6ead501 100644 (file)
@@ -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);