diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2013-09-12 17:06:33 +0530 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-09-18 00:01:27 +0200 |
commit | 9c8f1ee40b6368e6b2775c9c9f816e2a5dca3c07 (patch) | |
tree | 40ecbfa5c590cb9b04f13ec9f62ac6a209233834 /drivers/ssb | |
parent | 272b98c6455f00884f0350f775c5342358ebb73f (diff) | |
download | op-kernel-dev-9c8f1ee40b6368e6b2775c9c9f816e2a5dca3c07.zip op-kernel-dev-9c8f1ee40b6368e6b2775c9c9f816e2a5dca3c07.tar.gz |
cpufreq: Clear policy->cpus bits in __cpufreq_remove_dev_finish()
This broke after a recent change "cedb70a cpufreq: Split __cpufreq_remove_dev()
into two parts" from Srivatsa.
Consider a scenario where we have two CPUs in a policy (0 & 1) and we are
removing CPU 1. On the call to __cpufreq_remove_dev_prepare() we have cleared 1
from policy->cpus and now on a call to __cpufreq_remove_dev_finish() we read
cpumask_weight of policy->cpus, which will come as 1 and this code will behave
as if we are removing the last CPU from policy :)
Fix it by clearing the CPU mask in __cpufreq_remove_dev_finish() instead of
__cpufreq_remove_dev_prepare().
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/ssb')
0 files changed, 0 insertions, 0 deletions