Re: [PATCH v1] ACPI: processor: Remove freq Qos request for all CPUs

From: Jeremy Linton
Date: Tue Aug 23 2022 - 13:28:03 EST


Hi,

On 8/23/22 02:43, Riwen Lu wrote:
From: Riwen Lu <luriwen@xxxxxxxxxx>

The freq Qos request would be removed repeatedly if the cpufreq policy
relates to more than one CPU. Then, it would cause the "called for unknown
object" warning.

Remove the freq Qos request for each CPU relates to the cpufreq policy,
instead of removing repeatedly for the last CPU of it.

Fixes: a1bb46c36ce3 ("ACPI: processor: Add QoS requests for all CPUs")
Reported-by: Jeremy Linton <Jeremy.Linton@xxxxxxx>
Signed-off-by: Riwen Lu <luriwen@xxxxxxxxxx>
---
drivers/acpi/processor_thermal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
index db6ac540e924..e534fd49a67e 100644
--- a/drivers/acpi/processor_thermal.c
+++ b/drivers/acpi/processor_thermal.c
@@ -151,7 +151,7 @@ void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy)
unsigned int cpu;
for_each_cpu(cpu, policy->related_cpus) {
- struct acpi_processor *pr = per_cpu(processors, policy->cpu);
+ struct acpi_processor *pr = per_cpu(processors, cpu);
if (pr)
freq_qos_remove_request(&pr->thermal_req);

This appears to have fixed the module unloading problem. I haven't seen any newer issues either so:

Tested-by: Jeremy Linton <jeremy.linton@xxxxxxx>


Thanks,