[PATCH 5/5] wifi: ath11k: thermal: don't try to register multiple times

Jeff Johnson quic_jjohnson at quicinc.com
Wed Feb 21 09:15:32 PST 2024


On 2/20/2024 6:47 PM, Baochen Qiang wrote:
> From: Kalle Valo <quic_kvalo at quicinc.com>
> 
> Every time the firmware boots we call ath11k_core_qmi_firmware_ready() which
> ends up calling ath11k_thermal_register(). So we try to register thermal
> devices multiple times. And when we power off the firmware during
> suspend/hibernation (implemented in the next patch) we get a warning in resume:
> 
> hwmon hwmon4: PM: parent phy0 should not be sleeping
> 
> Workaround this similarly like ath11k_mac_register() does by testing
> ATH11K_FLAG_REGISTERED.
> 
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
> 
> Signed-off-by: Kalle Valo <quic_kvalo at quicinc.com>

you need to add your own S-O-B

> ---
>  drivers/net/wireless/ath/ath11k/thermal.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/ath11k/thermal.c b/drivers/net/wireless/ath/ath11k/thermal.c
> index c29b11ab5bfa..41e7499f075f 100644
> --- a/drivers/net/wireless/ath/ath11k/thermal.c
> +++ b/drivers/net/wireless/ath/ath11k/thermal.c
> @@ -1,7 +1,7 @@
>  // SPDX-License-Identifier: BSD-3-Clause-Clear
>  /*
>   * Copyright (c) 2020 The Linux Foundation. All rights reserved.
> - * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
>   */
>  
>  #include <linux/device.h>
> @@ -163,6 +163,9 @@ int ath11k_thermal_register(struct ath11k_base *ab)
>  	struct ath11k_pdev *pdev;
>  	int i, ret;
>  
> +	if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags))
> +		return 0;
> +
>  	for (i = 0; i < ab->num_radios; i++) {
>  		pdev = &ab->pdevs[i];
>  		ar = pdev->ar;




More information about the ath11k mailing list