| From 7994f02450eb54f84b70039eff2f6ab73ffcb4f2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 18 Jun 2021 13:41:49 +0300 |
| Subject: mac80211: reset profile_periodicity/ema_ap |
| |
| From: Johannes Berg <johannes.berg@intel.com> |
| |
| [ Upstream commit bbc6f03ff26e7b71d6135a7b78ce40e7dee3d86a ] |
| |
| Apparently we never clear these values, so they'll remain set |
| since the setting of them is conditional. Clear the values in |
| the relevant other cases. |
| |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Luca Coelho <luciano.coelho@intel.com> |
| Link: https://lore.kernel.org/r/iwlwifi.20210618133832.316e32d136a9.I2a12e51814258e1e1b526103894f4b9f19a91c8d@changeid |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/mac80211/mlme.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c |
| index 6d3220c66931..fbe26e912300 100644 |
| --- a/net/mac80211/mlme.c |
| +++ b/net/mac80211/mlme.c |
| @@ -4019,10 +4019,14 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata, |
| if (elems.mbssid_config_ie) |
| bss_conf->profile_periodicity = |
| elems.mbssid_config_ie->profile_periodicity; |
| + else |
| + bss_conf->profile_periodicity = 0; |
| |
| if (elems.ext_capab_len >= 11 && |
| (elems.ext_capab[10] & WLAN_EXT_CAPA11_EMA_SUPPORT)) |
| bss_conf->ema_ap = true; |
| + else |
| + bss_conf->ema_ap = false; |
| |
| /* continue assoc process */ |
| ifmgd->assoc_data->timeout = jiffies; |
| @@ -5749,12 +5753,16 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata, |
| beacon_ies->data, beacon_ies->len); |
| if (elem && elem->datalen >= 3) |
| sdata->vif.bss_conf.profile_periodicity = elem->data[2]; |
| + else |
| + sdata->vif.bss_conf.profile_periodicity = 0; |
| |
| elem = cfg80211_find_elem(WLAN_EID_EXT_CAPABILITY, |
| beacon_ies->data, beacon_ies->len); |
| if (elem && elem->datalen >= 11 && |
| (elem->data[10] & WLAN_EXT_CAPA11_EMA_SUPPORT)) |
| sdata->vif.bss_conf.ema_ap = true; |
| + else |
| + sdata->vif.bss_conf.ema_ap = false; |
| } else { |
| assoc_data->timeout = jiffies; |
| assoc_data->timeout_started = true; |
| -- |
| 2.30.2 |
| |