mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
rk30: cpufreq: prevent deadlock by disable call get_online_cpus
The deadlock happens when: rk30_cpufreq_temp_limit_work_func: cpufreq_driver_target lock_policy_rwsem_write mutex_lock(&cpufreq_mutex) cpufreq_interactive_up_task: mutex_lock(&cpufreq_mutex) mutex_lock(&cpu_hotplug.lock) _cpu_down: mutex_lock(&cpu_hotplug.lock) lock_policy_rwsem_write
This commit is contained in:
@@ -548,7 +548,6 @@ int cpufreq_scale_rate_for_dvfs(struct clk *clk, unsigned long rate, dvfs_set_ra
|
||||
freqs.new = rate / 1000;
|
||||
freqs.old = rk30_getspeed(0);
|
||||
|
||||
get_online_cpus();
|
||||
for_each_online_cpu(freqs.cpu) {
|
||||
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
|
||||
}
|
||||
@@ -571,7 +570,6 @@ int cpufreq_scale_rate_for_dvfs(struct clk *clk, unsigned long rate, dvfs_set_ra
|
||||
for_each_online_cpu(freqs.cpu) {
|
||||
cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
|
||||
}
|
||||
put_online_cpus();
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user