[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