mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 23:34:05 +08:00
mac80211: do not advertise HE cap IE if HE disabled
When disabling HE due to the lack of HT/VHT, do it at an earlier stage to avoid advertising HE capabilities IE. Also, at this point, no need to check if AP supports HE, since it is already checked earlier (in ieee80211_prep_channel). Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
002245ec20
commit
dc7eb0f2c2
@ -916,6 +916,15 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
|
||||
ieee80211_add_vht_ie(sdata, skb, sband,
|
||||
&assoc_data->ap_vht_cap);
|
||||
|
||||
/*
|
||||
* If AP doesn't support HT, mark HE as disabled.
|
||||
* If on the 5GHz band, make sure it supports VHT.
|
||||
*/
|
||||
if (ifmgd->flags & IEEE80211_STA_DISABLE_HT ||
|
||||
(sband->band == NL80211_BAND_5GHZ &&
|
||||
ifmgd->flags & IEEE80211_STA_DISABLE_VHT))
|
||||
ifmgd->flags |= IEEE80211_STA_DISABLE_HE;
|
||||
|
||||
if (!(ifmgd->flags & IEEE80211_STA_DISABLE_HE))
|
||||
ieee80211_add_he_ie(sdata, skb, sband);
|
||||
|
||||
@ -3231,16 +3240,6 @@ static bool ieee80211_assoc_success(struct ieee80211_sub_if_data *sdata,
|
||||
goto out;
|
||||
}
|
||||
|
||||
/*
|
||||
* If AP doesn't support HT, or it doesn't have HE mandatory IEs, mark
|
||||
* HE as disabled. If on the 5GHz band, make sure it supports VHT.
|
||||
*/
|
||||
if (ifmgd->flags & IEEE80211_STA_DISABLE_HT ||
|
||||
(sband->band == NL80211_BAND_5GHZ &&
|
||||
ifmgd->flags & IEEE80211_STA_DISABLE_VHT) ||
|
||||
(!elems.he_cap && !elems.he_operation))
|
||||
ifmgd->flags |= IEEE80211_STA_DISABLE_HE;
|
||||
|
||||
if (!(ifmgd->flags & IEEE80211_STA_DISABLE_HE) &&
|
||||
(!elems.he_cap || !elems.he_operation)) {
|
||||
mutex_unlock(&sdata->local->sta_mtx);
|
||||
|
Loading…
Reference in New Issue
Block a user