From: Eliad Peller Date: Mon, 29 Dec 2014 02:14:59 +0000 (-0500) Subject: WMM AC: Delete tspecs on roaming X-Git-Tag: hostap_2_4~564 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fecc2bb5a887bd291d05102070c8c7b61acf8aaf;p=thirdparty%2Fhostap.git 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 --- 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);