forked from mirrors/linux
		
	powercap/dtpm_cpu: Reset per_cpu variable in the release function
The release function does not reset the per cpu variable when it is called. That will prevent creation again as the variable will be already from the previous creation. Fix it by resetting them. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20220130210210.549877-2-daniel.lezcano@linaro.org
This commit is contained in:
		
							parent
							
								
									7b75bbdf5b
								
							
						
					
					
						commit
						0aea2e4ec2
					
				
					 1 changed files with 7 additions and 0 deletions
				
			
		|  | @ -151,10 +151,17 @@ static int update_pd_power_uw(struct dtpm *dtpm) | |||
| static void pd_release(struct dtpm *dtpm) | ||||
| { | ||||
| 	struct dtpm_cpu *dtpm_cpu = to_dtpm_cpu(dtpm); | ||||
| 	struct cpufreq_policy *policy; | ||||
| 
 | ||||
| 	if (freq_qos_request_active(&dtpm_cpu->qos_req)) | ||||
| 		freq_qos_remove_request(&dtpm_cpu->qos_req); | ||||
| 
 | ||||
| 	policy = cpufreq_cpu_get(dtpm_cpu->cpu); | ||||
| 	if (policy) { | ||||
| 		for_each_cpu(dtpm_cpu->cpu, policy->related_cpus) | ||||
| 			per_cpu(dtpm_per_cpu, dtpm_cpu->cpu) = NULL; | ||||
| 	} | ||||
| 	 | ||||
| 	kfree(dtpm_cpu); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Daniel Lezcano
						Daniel Lezcano