From fecc2bb5a887bd291d05102070c8c7b61acf8aaf Mon Sep 17 00:00:00 2001 From: Eliad Peller Date: Sun, 28 Dec 2014 21:14:59 -0500 Subject: [PATCH] WMM AC: Delete tspecs on roaming 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 --- 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 7fe92ea87..db60e069d 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -2128,8 +2128,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 21f4af55e..b048728d8 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -760,6 +760,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);