mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 17:11:33 +00:00
cpufreq: don't allow governor limits to be changed when it is disabled
__cpufreq_governor() returns with -EBUSY when governor is already stopped and we try to stop it again, but when it is stopped we must not allow calls to CPUFREQ_GOV_LIMITS event as well. This patch adds this check in __cpufreq_governor(). Reported-by: Stephen Boyd <sboyd@codeaurora.org> 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
6932078376
commit
f73d393384
@ -1692,8 +1692,9 @@ static int __cpufreq_governor(struct cpufreq_policy *policy,
|
|||||||
policy->cpu, event);
|
policy->cpu, event);
|
||||||
|
|
||||||
mutex_lock(&cpufreq_governor_lock);
|
mutex_lock(&cpufreq_governor_lock);
|
||||||
if ((!policy->governor_enabled && (event == CPUFREQ_GOV_STOP)) ||
|
if ((policy->governor_enabled && event == CPUFREQ_GOV_START)
|
||||||
(policy->governor_enabled && (event == CPUFREQ_GOV_START))) {
|
|| (!policy->governor_enabled
|
||||||
|
&& (event == CPUFREQ_GOV_LIMITS || event == CPUFREQ_GOV_STOP))) {
|
||||||
mutex_unlock(&cpufreq_governor_lock);
|
mutex_unlock(&cpufreq_governor_lock);
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user