diff options
Diffstat (limited to 'drivers/acpi/processor_thermal.c')
| -rw-r--r-- | drivers/acpi/processor_thermal.c | 14 | 
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c index e534fd49a67e..b7c6287eccca 100644 --- a/drivers/acpi/processor_thermal.c +++ b/drivers/acpi/processor_thermal.c @@ -140,9 +140,13 @@ void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy)  		ret = freq_qos_add_request(&policy->constraints,  					   &pr->thermal_req,  					   FREQ_QOS_MAX, INT_MAX); -		if (ret < 0) +		if (ret < 0) {  			pr_err("Failed to add freq constraint for CPU%d (%d)\n",  			       cpu, ret); +			continue; +		} + +		thermal_cooling_device_update(pr->cdev);  	}  } @@ -153,8 +157,12 @@ void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy)  	for_each_cpu(cpu, policy->related_cpus) {  		struct acpi_processor *pr = per_cpu(processors, cpu); -		if (pr) -			freq_qos_remove_request(&pr->thermal_req); +		if (!pr) +			continue; + +		freq_qos_remove_request(&pr->thermal_req); + +		thermal_cooling_device_update(pr->cdev);  	}  }  #else				/* ! CONFIG_CPU_FREQ */  |