]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: ath11k: fix TPE power levels
authorJohannes Berg <johannes.berg@intel.com>
Mon, 6 May 2024 19:37:55 +0000 (21:37 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 23 May 2024 08:35:02 +0000 (10:35 +0200)
The chanctx can be shared, but it seems like the TPE values for
this vif should only reflect the channel that the vif uses, which
is captured in bss_conf->chanreq.oper rather than the chanctx.
Use that when calculating defaults, a similar issue is where the
data from the AP is processed, but I'm moving that to mac80211.

Acked-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240506214536.d99fcf5856b9.I359bb401ea74bf82dc981a86a7ca3fa44d169d2e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/ath/ath11k/mac.c

index 59e5e80857422e3e592b252f47e6218c25eb2482..73876760afe922c96d8289a6499a5bd9f3cbb698 100644 (file)
@@ -7701,7 +7701,8 @@ void ath11k_mac_fill_reg_tpc_info(struct ath11k *ar,
                is_tpe_present = true;
                num_pwr_levels = arvif->reg_tpc_info.num_pwr_levels;
        } else {
-               num_pwr_levels = ath11k_mac_get_num_pwr_levels(&ctx->def);
+               num_pwr_levels =
+                       ath11k_mac_get_num_pwr_levels(&bss_conf->chanreq.oper);
        }
 
        for (pwr_lvl_idx = 0; pwr_lvl_idx < num_pwr_levels; pwr_lvl_idx++) {