mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-06 13:56:40 +00:00
wifi: mac80211: Check for missing VHT elements only for 5 GHz
Check for missing VHT Capabilities and VHT Operation elements in
association response frame only for 5 GHz links.
Fixes: 310c8387c6
("wifi: mac80211: clean up connection process")
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240827103920.dd711282d543.Iaba245cebc52209b0499d5bab7d8a8ef1df9dd65@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
ac35180032
commit
67bb124cd9
@ -4715,7 +4715,7 @@ static bool ieee80211_assoc_config_link(struct ieee80211_link_data *link,
|
||||
((assoc_data->wmm && !elems->wmm_param) ||
|
||||
(link->u.mgd.conn.mode >= IEEE80211_CONN_MODE_HT &&
|
||||
(!elems->ht_cap_elem || !elems->ht_operation)) ||
|
||||
(link->u.mgd.conn.mode >= IEEE80211_CONN_MODE_VHT &&
|
||||
(is_5ghz && link->u.mgd.conn.mode >= IEEE80211_CONN_MODE_VHT &&
|
||||
(!elems->vht_cap_elem || !elems->vht_operation)))) {
|
||||
const struct cfg80211_bss_ies *ies;
|
||||
struct ieee802_11_elems *bss_elems;
|
||||
@ -4763,19 +4763,22 @@ static bool ieee80211_assoc_config_link(struct ieee80211_link_data *link,
|
||||
sdata_info(sdata,
|
||||
"AP bug: HT operation missing from AssocResp\n");
|
||||
}
|
||||
if (!elems->vht_cap_elem && bss_elems->vht_cap_elem &&
|
||||
link->u.mgd.conn.mode >= IEEE80211_CONN_MODE_VHT) {
|
||||
elems->vht_cap_elem = bss_elems->vht_cap_elem;
|
||||
sdata_info(sdata,
|
||||
"AP bug: VHT capa missing from AssocResp\n");
|
||||
}
|
||||
if (!elems->vht_operation && bss_elems->vht_operation &&
|
||||
link->u.mgd.conn.mode >= IEEE80211_CONN_MODE_VHT) {
|
||||
elems->vht_operation = bss_elems->vht_operation;
|
||||
sdata_info(sdata,
|
||||
"AP bug: VHT operation missing from AssocResp\n");
|
||||
}
|
||||
|
||||
if (is_5ghz) {
|
||||
if (!elems->vht_cap_elem && bss_elems->vht_cap_elem &&
|
||||
link->u.mgd.conn.mode >= IEEE80211_CONN_MODE_VHT) {
|
||||
elems->vht_cap_elem = bss_elems->vht_cap_elem;
|
||||
sdata_info(sdata,
|
||||
"AP bug: VHT capa missing from AssocResp\n");
|
||||
}
|
||||
|
||||
if (!elems->vht_operation && bss_elems->vht_operation &&
|
||||
link->u.mgd.conn.mode >= IEEE80211_CONN_MODE_VHT) {
|
||||
elems->vht_operation = bss_elems->vht_operation;
|
||||
sdata_info(sdata,
|
||||
"AP bug: VHT operation missing from AssocResp\n");
|
||||
}
|
||||
}
|
||||
kfree(bss_elems);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user