mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
Revert "cpufreq: Fix possible race in cpufreq online error path"
This reverts commitf346e96267. The commit tried to fix a possible real bug but it made it even worse. The fix was simply buggy as now an error out to out_offline_policy or out_exit_policy will try to release a semaphore which was never taken in the first place. This works fine only if we failed late, i.e. via out_destroy_policy. Fixes:f346e96267("cpufreq: Fix possible race in cpufreq online error path") Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
740fcdc2c2
commit
85f0e42bd6
|
|
@ -1534,6 +1534,8 @@ static int cpufreq_online(unsigned int cpu)
|
|||
for_each_cpu(j, policy->real_cpus)
|
||||
remove_cpu_dev_symlink(policy, get_cpu_device(j));
|
||||
|
||||
up_write(&policy->rwsem);
|
||||
|
||||
out_offline_policy:
|
||||
if (cpufreq_driver->offline)
|
||||
cpufreq_driver->offline(policy);
|
||||
|
|
@ -1542,9 +1544,6 @@ static int cpufreq_online(unsigned int cpu)
|
|||
if (cpufreq_driver->exit)
|
||||
cpufreq_driver->exit(policy);
|
||||
|
||||
cpumask_clear(policy->cpus);
|
||||
up_write(&policy->rwsem);
|
||||
|
||||
out_free_policy:
|
||||
cpufreq_policy_free(policy);
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user