|
@@ -2242,10 +2242,8 @@ int cpufreq_update_policy(unsigned int cpu)
|
|
struct cpufreq_policy new_policy;
|
|
struct cpufreq_policy new_policy;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
- if (!policy) {
|
|
|
|
- ret = -ENODEV;
|
|
|
|
- goto no_policy;
|
|
|
|
- }
|
|
|
|
|
|
+ if (!policy)
|
|
|
|
+ return -ENODEV;
|
|
|
|
|
|
down_write(&policy->rwsem);
|
|
down_write(&policy->rwsem);
|
|
|
|
|
|
@@ -2264,7 +2262,7 @@ int cpufreq_update_policy(unsigned int cpu)
|
|
new_policy.cur = cpufreq_driver->get(cpu);
|
|
new_policy.cur = cpufreq_driver->get(cpu);
|
|
if (WARN_ON(!new_policy.cur)) {
|
|
if (WARN_ON(!new_policy.cur)) {
|
|
ret = -EIO;
|
|
ret = -EIO;
|
|
- goto no_policy;
|
|
|
|
|
|
+ goto unlock;
|
|
}
|
|
}
|
|
|
|
|
|
if (!policy->cur) {
|
|
if (!policy->cur) {
|
|
@@ -2279,10 +2277,10 @@ int cpufreq_update_policy(unsigned int cpu)
|
|
|
|
|
|
ret = cpufreq_set_policy(policy, &new_policy);
|
|
ret = cpufreq_set_policy(policy, &new_policy);
|
|
|
|
|
|
|
|
+unlock:
|
|
up_write(&policy->rwsem);
|
|
up_write(&policy->rwsem);
|
|
|
|
|
|
cpufreq_cpu_put(policy);
|
|
cpufreq_cpu_put(policy);
|
|
-no_policy:
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(cpufreq_update_policy);
|
|
EXPORT_SYMBOL(cpufreq_update_policy);
|