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.

i renamed the function from ath11k_mac_supports_station_tpc to 
ath11k_mac_supports_tpc since the function now checks for ap and station 
mode or what are you talking about?


>
>>   		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?
hard to tell. i just can tell you that this issue on 6 ghz channels 
happens if tpc power isnt used. but i tested this solution
you can simply check it. got to a 6 ghz channel.

to

iw dev wlanX scan
iw dev wlanX info
and you will see that txpower is 0 and the ap is also now very weak.
btw. this issue is fixed and covered in the qca qsdk for ath11k. i dont 
know what it was limited to sta only which porting this patch to 
upstream ath11k.

Sebastian


>
> 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.
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.