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

Jeff Johnson jeff.johnson at oss.qualcomm.com
Wed May 13 09:06:33 PDT 2026


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

> 
> 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