cpufreq: Change order of online() CB and policy->cpus modification
From a state where all policy->related_cpus are offline, putting one of the policy's CPU back online re-activates the policy by: 1. Calling cpufreq_driver->online() 2. Setting the CPU in policy->cpus qcom_cpufreq_hw_cpu_online() makes use of policy->cpus. Thus 1. and 2. should be inverted to avoid having a policy->cpus empty. The qcom-cpufreq-hw is the only driver affected by this. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
committed by
Viresh Kumar
parent
f2b03dffa6
commit
68315f1a5f
@@ -1350,15 +1350,15 @@ static int cpufreq_online(unsigned int cpu)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!new_policy && cpufreq_driver->online) {
|
if (!new_policy && cpufreq_driver->online) {
|
||||||
|
/* Recover policy->cpus using related_cpus */
|
||||||
|
cpumask_copy(policy->cpus, policy->related_cpus);
|
||||||
|
|
||||||
ret = cpufreq_driver->online(policy);
|
ret = cpufreq_driver->online(policy);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_debug("%s: %d: initialization failed\n", __func__,
|
pr_debug("%s: %d: initialization failed\n", __func__,
|
||||||
__LINE__);
|
__LINE__);
|
||||||
goto out_exit_policy;
|
goto out_exit_policy;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Recover policy->cpus using related_cpus */
|
|
||||||
cpumask_copy(policy->cpus, policy->related_cpus);
|
|
||||||
} else {
|
} else {
|
||||||
cpumask_copy(policy->cpus, cpumask_of(cpu));
|
cpumask_copy(policy->cpus, cpumask_of(cpu));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user