[PATCH 9/9] mac80211: save transmit power envelope element and power constraint
Wen Gong
wgong at codeaurora.org
Mon May 17 13:19:32 PDT 2021
This patch is to save the transmit power envelope element and power
constraint in struct ieee80211_bss_conf for 6GHz.
Signed-off-by: Wen Gong <wgong at codeaurora.org>
---
net/mac80211/mlme.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 2e33a1263518..5b02d78bd934 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -5076,6 +5076,27 @@ static int ieee80211_prep_channel(struct ieee80211_sub_if_data *sdata,
else
he_oper = NULL;
+ if (is_6ghz) {
+ struct ieee802_11_elems elems;
+ struct ieee80211_bss_conf *bss_conf;
+ u8 i, n;
+
+ ieee802_11_parse_elems(ies->data, ies->len, false, &elems,
+ NULL, NULL);
+ bss_conf = &sdata->vif.bss_conf;
+ bss_conf->pwr_reduction = 0;
+ if (elems.pwr_constr_elem)
+ bss_conf->pwr_reduction = *elems.pwr_constr_elem;
+
+ memset(bss_conf->tx_pwr_env, 0, sizeof(bss_conf->tx_pwr_env));
+ bss_conf->tx_pwr_env_num = elems.tx_pwr_env_num;
+ n = min_t(u8, elems.tx_pwr_env_num,
+ ARRAY_SIZE(elems.tx_pwr_env));
+ for (i = 0; i < n; i++)
+ memcpy(&bss_conf->tx_pwr_env[i], elems.tx_pwr_env[i],
+ elems.tx_pwr_env_len[i]);
+ }
+
if (!ieee80211_verify_sta_he_mcs_support(sband, he_oper))
ifmgd->flags |= IEEE80211_STA_DISABLE_HE;
}
--
2.31.1
More information about the ath11k
mailing list