Message ID | 20190403151719.12165-4-andrei.otcheretianski@intel.com |
---|---|
State | Accepted |
Headers | show |
Series | wpa_supplicant: Stop SA query on disconnection | expand |
On Wed, Apr 03, 2019 at 06:17:14PM +0300, Andrei Otcheretianski wrote: > SA query wasn't stopped after disconnection, which could potentially > result in an unexpected SA timeout firing later when already connected > to another AP. > Fix that, by stopping SA query when disconnected. > While at it, remove FT ies clearing from sme_deinit() as it is done > twice. Thanks, applied.
diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c index b0fb62bb0e..c3afe90ca9 100644 --- a/wpa_supplicant/sme.c +++ b/wpa_supplicant/sme.c @@ -1984,17 +1984,14 @@ void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s) if (wpa_s->sme.ft_ies || wpa_s->sme.ft_used) sme_update_ft_ies(wpa_s, NULL, NULL, 0); #endif /* CONFIG_IEEE80211R */ +#ifdef CONFIG_IEEE80211W + sme_stop_sa_query(wpa_s); +#endif /* CONFIG_IEEE80211W */ } void sme_deinit(struct wpa_supplicant *wpa_s) { - os_free(wpa_s->sme.ft_ies); - wpa_s->sme.ft_ies = NULL; - wpa_s->sme.ft_ies_len = 0; -#ifdef CONFIG_IEEE80211W - sme_stop_sa_query(wpa_s); -#endif /* CONFIG_IEEE80211W */ sme_clear_on_disassoc(wpa_s); eloop_cancel_timeout(sme_assoc_timer, wpa_s, NULL);
SA query wasn't stopped after disconnection, which could potentially result in an unexpected SA timeout firing later when already connected to another AP. Fix that, by stopping SA query when disconnected. While at it, remove FT ies clearing from sme_deinit() as it is done twice. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> --- wpa_supplicant/sme.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)