mac80211: add parse regulatory info in 6 GHz operation information
This patch is to convert the regulatory info subfield in HE operation element to power type and save in struct cfg80211_chan_def. Signed-off-by: Wen Gong <wgong@codeaurora.org> Link: https://lore.kernel.org/r/20210924100052.32029-3-wgong@codeaurora.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
405fca8a94
commit
cb751b7a57
|
@ -3385,6 +3385,7 @@ bool ieee80211_chandef_he_6ghz_oper(struct ieee80211_sub_if_data *sdata,
|
|||
const struct ieee80211_sta_he_cap *he_cap;
|
||||
struct cfg80211_chan_def he_chandef = *chandef;
|
||||
const struct ieee80211_he_6ghz_oper *he_6ghz_oper;
|
||||
struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
|
||||
bool support_80_80, support_160;
|
||||
u8 he_phy_cap;
|
||||
u32 freq;
|
||||
|
@ -3428,6 +3429,19 @@ bool ieee80211_chandef_he_6ghz_oper(struct ieee80211_sub_if_data *sdata,
|
|||
NL80211_BAND_6GHZ);
|
||||
he_chandef.chan = ieee80211_get_channel(sdata->local->hw.wiphy, freq);
|
||||
|
||||
switch (u8_get_bits(he_6ghz_oper->control,
|
||||
IEEE80211_HE_6GHZ_OPER_CTRL_REG_INFO)) {
|
||||
case IEEE80211_6GHZ_CTRL_REG_LPI_AP:
|
||||
bss_conf->power_type = IEEE80211_REG_LPI_AP;
|
||||
break;
|
||||
case IEEE80211_6GHZ_CTRL_REG_SP_AP:
|
||||
bss_conf->power_type = IEEE80211_REG_SP_AP;
|
||||
break;
|
||||
default:
|
||||
bss_conf->power_type = IEEE80211_REG_UNSET_AP;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (u8_get_bits(he_6ghz_oper->control,
|
||||
IEEE80211_HE_6GHZ_OPER_CTRL_CHANWIDTH)) {
|
||||
case IEEE80211_HE_6GHZ_OPER_CTRL_CHANWIDTH_20MHZ:
|
||||
|
|
Loading…
Reference in New Issue