aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2010-08-18 18:23:26 (GMT)
committerJouni Malinen <j@w1.fi>2010-09-05 14:29:45 (GMT)
commit78842760c21f875845f7b7c8f9f4b55a942885e0 (patch)
tree3b36c0ef962112a753f07ff39e9ad7847af0c044
parentf6fa3cd4250a5f89bbe9f0fc861be9278db7a78e (diff)
downloadhostap-07-78842760c21f875845f7b7c8f9f4b55a942885e0.zip
hostap-07-78842760c21f875845f7b7c8f9f4b55a942885e0.tar.gz
hostap-07-78842760c21f875845f7b7c8f9f4b55a942885e0.tar.bz2
sme: Check for prev_bssid from sme_event_disassoc
wpa_s->bssid is already cleared by mark_disassoc() when we're getting the disassociation event for the case where wpa_supplicant requested disassociation. wpa_s->sme.prev_bssid holds the BSSID we need to check for, so use that instead. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> (cherry picked from commit 7e26053a2cffe400275dc57faf8681eea236809c)
-rw-r--r--wpa_supplicant/sme.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c
index 7cf3cc1..5604e97 100644
--- a/wpa_supplicant/sme.c
+++ b/wpa_supplicant/sme.c
@@ -474,7 +474,7 @@ void sme_event_disassoc(struct wpa_supplicant *wpa_s,
union wpa_event_data *data)
{
wpa_printf(MSG_DEBUG, "SME: Disassociation event received");
- if (!is_zero_ether_addr(wpa_s->bssid) &&
+ if (wpa_s->sme.prev_bssid_set &&
!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_USER_SPACE_MLME)) {
/*
* cfg80211/mac80211 can get into somewhat confused state if
@@ -484,7 +484,7 @@ void sme_event_disassoc(struct wpa_supplicant *wpa_s,
*/
wpa_printf(MSG_DEBUG, "SME: Deauthenticate to clear driver "
"state");
- wpa_drv_deauthenticate(wpa_s, wpa_s->bssid,
+ wpa_drv_deauthenticate(wpa_s, wpa_s->sme.prev_bssid,
WLAN_REASON_DEAUTH_LEAVING);
}
}