Re: [PATCH] wifi: ath11k: fix txpower in ap mode for 6 Ghz
Sebastian Gottschall <[email protected]>
| Newsgroups | org.infradead.lists.ath11k |
|---|---|
| Message-ID | <[email protected]> |
Am 13.05.2026 um 03:56 schrieb Baochen Qiang: > > On 5/13/2026 4:48 AM, Sebastian Gottschall wrote: >> there is an issue which has been discovered a while ago while testing >> which killed txpower to 0dbm once scanning is triggered in AP mode >> on QCN9074 based chipsets if 6 Ghz is in use. >> ath11k_wmi_send_vdev_set_tpc_power must be set in AP mode in the same >> way is it is for STA as it is implemented in ath12k and in the >> qsdk version for ath11k. >> this patch must be considered to be backported (i discovered that issue >> already 2 years ago) >> >> Signed-off-by: Sebastian Gottschall <[email protected]> >> --- >> drivers/net/wireless/ath/ath11k/mac.c | 9 +++++---- >> 1 file changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c >> index a48b6bf1f29a..dc192152b2e8 100644 >> --- a/drivers/net/wireless/ath/ath11k/mac.c >> +++ b/drivers/net/wireless/ath/ath11k/mac.c >> @@ -3497,13 +3497,14 @@ static int ath11k_mac_config_obss_pd(struct ath11k *ar, >> return 0; >> } >> >> -static bool ath11k_mac_supports_station_tpc(struct ath11k *ar, >> +static bool ath11k_mac_supports_tpc(struct ath11k *ar, >> struct ath11k_vif *arvif, >> const struct cfg80211_chan_def *chandef) >> { >> return ath11k_wmi_supports_6ghz_cc_ext(ar) && >> test_bit(WMI_TLV_SERVICE_EXT_TPC_REG_SUPPORT, ar->ab->wmi_ab.svc_map) && >> - arvif->vdev_type == WMI_VDEV_TYPE_STA && >> + (arvif->vdev_type == WMI_VDEV_TYPE_STA || >> + arvif->vdev_type == WMI_VDEV_TYPE_AP) && >> arvif->vdev_subtype == WMI_VDEV_SUBTYPE_NONE && >> chandef->chan && >> chandef->chan->band == NL80211_BAND_6GHZ; >> @@ -7647,8 +7648,8 @@ ath11k_mac_vdev_start_restart(struct ath11k_vif *arvif, >> /* TODO: For now we only set TPC power here. However when >> * channel changes, say CSA, it should be updated again. >> */ >> - if (ath11k_mac_supports_station_tpc(ar, arvif, chandef)) { >> - ath11k_mac_fill_reg_tpc_info(ar, arvif->vif, &arvif->chanctx); >> + if (ath11k_mac_supports_tpc(ar, arvif, chandef)) { >> + ath11k_mac_fill_reg_tpc_info(ar, arvif->vif, ctx); > is this intentional change? I doubt it even doesn't compile. in addition. i compile tested it. and if you talk about the change from arvid->chanctx to ctx. this valid arvif->chanctx is not always set. the only trustworthy source is ctx and represents the current channel context. there was never a reason to use arvif->chanctx Sebastian > >> ath11k_wmi_send_vdev_set_tpc_power(ar, arvif->vdev_id, >> &arvif->reg_tpc_info); >> } > the ath12k patch has additional changes to hardcode power_type to LPI for an AP vdev, > should it be done for ath11k as well? > > commit a44958c83e52238996a48e7d604167c9b9d0a529 > Author: Hariharan Basuthkar <[email protected]> > Date: Fri Jun 6 16:53:16 2025 +0530 > > wifi: ath12k: Send WMI_VDEV_SET_TPC_POWER_CMD for AP vdev > > [...] > > For a AP vdev, hardcode ap_power_type as IEEE80211_REG_LPI_AP, which is > filled in the WMI_VDEV_SET_TPC_POWER_CMDID sent to the target. > Currently, LPI is the only supported AP power mode. Since there is > no method currently to set the AP power mode from user-space, the > power mode is hard-coded to LPI. > >