mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
wifi: mac80211: supplement parsing of puncturing bitmap
Current mac80211 won't parsing puncturing bitmap when process EHT Operation element in 6 GHz band or Bandwidth Indication element. This leads to puncturing bitmap cannot be updated in related situations, such as connecting to an EHT AP in 6 GHz band. So supplement parsing of puncturing bitmap for these elements. Signed-off-by: Kang Yang <quic_kangyang@quicinc.com> Link: https://msgid.link/20240312045947.576231-2-quic_kangyang@quicinc.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
9938fa0bdb
commit
b919099eba
@ -348,6 +348,10 @@ int ieee80211_parse_ch_switch_ie(struct ieee80211_sub_if_data *sdata,
|
||||
new_chandef = csa_ie->chanreq.oper;
|
||||
/* and update the width accordingly */
|
||||
ieee80211_chandef_eht_oper(&bwi->info, &new_chandef);
|
||||
|
||||
if (bwi->params & IEEE80211_BW_IND_DIS_SUBCH_PRESENT)
|
||||
new_chandef.punctured =
|
||||
get_unaligned_le16(bwi->info.optional);
|
||||
} else if (!wide_bw_chansw_ie || !wbcs_elem_to_chandef(wide_bw_chansw_ie,
|
||||
&new_chandef)) {
|
||||
if (!ieee80211_operating_class_to_chandef(new_op_class, new_chan,
|
||||
|
@ -3136,6 +3136,8 @@ bool ieee80211_chandef_he_6ghz_oper(struct ieee80211_local *local,
|
||||
} else {
|
||||
ieee80211_chandef_eht_oper((const void *)eht_oper->optional,
|
||||
&he_chandef);
|
||||
he_chandef.punctured =
|
||||
ieee80211_eht_oper_dis_subchan_bitmap(eht_oper);
|
||||
}
|
||||
|
||||
if (!cfg80211_chandef_valid(&he_chandef))
|
||||
|
Loading…
Reference in New Issue
Block a user