[PATCH] wifi: ath11k: fix txpower in ap mode for 6 Ghz

Sebastian Gottschall s.gottschall at dd-wrt.com
Wed May 13 11:31:31 PDT 2026


Am 13.05.2026 um 18:06 schrieb Jeff Johnson:
> On 5/12/2026 1:48 PM, 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.
> s/Ghz/GHz/ to align with SI (also in subject)
>> 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)
> There needs to be a Fixes tag for any patch to be considered for backporting
> by the stable team
i will follow up with a v2 version which also considers the LPI power 
setting mentioned by Baochen Qiang
but need to test this first
>> Signed-off-by: Sebastian Gottschall <s.gottschall at dd-wrt.com>
>> ---
>>   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)
> CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
>
>>   {
>>   	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);
>>   		ath11k_wmi_send_vdev_set_tpc_power(ar, arvif->vdev_id,
>>   						   &arvif->reg_tpc_info);
>>   	}
>



More information about the ath11k mailing list