[PATCH 3/7] WMM AC: delete tspecs on roaming

Ilan Peer ilan.peer at intel.com
Sun Dec 28 21:14:59 EST 2014


From: Eliad Peller <eliad at wizery.com>

In case of roaming, we don't get disassoc notification, but
still want to remove the existing tspecs.

Move the wmm_ac_notify_disassoc call to the state change
function, which get called also on roaming.

Signed-off-by: Eliad Peller <eliadx.peller at intel.com>
---
 wpa_supplicant/events.c         | 2 --
 wpa_supplicant/wpa_supplicant.c | 3 +++
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 5ef64e6..8d8fcec 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -2136,8 +2136,6 @@ static void wpa_supplicant_event_disassoc_finish(struct wpa_supplicant *wpa_s,
 		return;
 	}
 
-	wmm_ac_notify_disassoc(wpa_s);
-
 	if (could_be_psk_mismatch(wpa_s, reason_code, locally_generated)) {
 		wpa_msg(wpa_s, MSG_INFO, "WPA: 4-Way Handshake failed - "
 			"pre-shared key may be incorrect");
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 995c8d8..e8d7edb 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -757,6 +757,9 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
 	if (state == WPA_DISCONNECTED || state == WPA_INACTIVE)
 		wpa_supplicant_start_autoscan(wpa_s);
 
+	if (old_state >= WPA_ASSOCIATED && wpa_s->wpa_state < WPA_ASSOCIATED)
+		wmm_ac_notify_disassoc(wpa_s);
+
 	if (wpa_s->wpa_state != old_state) {
 		wpas_notify_state_changed(wpa_s, wpa_s->wpa_state, old_state);
 
-- 
1.8.3.2



More information about the HostAP mailing list