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:
Viresh Kumar 2013-08-31 17:53:40 +05:30 committed by Rafael J. Wysocki
parent 6932078376
commit f73d393384

View File

@ -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;
} }