cpufreq: governors: Fix WARN_ON() for multi-policy platforms
On multi-policy systems there is a single instance of governor for both the policies (if same governor is chosen for both policies). With the code update from following patches:8eeed09
cpufreq: governors: Get rid of dbs_data->enable fieldb394058
cpufreq: governors: Reset tunables only for cpufreq_unregister_governor() We are creating/removing sysfs directory of governor for for every call to GOV_START and STOP. This would fail for multi-policy system as there is a per-policy call to START/STOP. This patch reuses the governor->initialized variable to detect total users of governor. 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:

committed by
Rafael J. Wysocki

parent
4bd4e42819
commit
8e53695f7f
@@ -1552,8 +1552,10 @@ static int __cpufreq_governor(struct cpufreq_policy *policy,
|
||||
policy->cpu, event);
|
||||
ret = policy->governor->governor(policy, event);
|
||||
|
||||
if (!policy->governor->initialized && (event == CPUFREQ_GOV_START))
|
||||
policy->governor->initialized = 1;
|
||||
if (event == CPUFREQ_GOV_START)
|
||||
policy->governor->initialized++;
|
||||
else if (event == CPUFREQ_GOV_STOP)
|
||||
policy->governor->initialized--;
|
||||
|
||||
/* we keep one module reference alive for
|
||||
each CPU governed by this CPU */
|
||||
|
Reference in New Issue
Block a user