Re: [PATCH 2/3] cpufreq: governor: Rearrange governor data structures
From: Viresh Kumar
Date: Sun Feb 07 2016 - 10:46:44 EST
On 07-02-16, 16:24, Rafael J. Wysocki wrote:
> static int cpufreq_governor_exit(struct cpufreq_policy *policy)
> {
> struct dbs_governor *gov = dbs_governor_of(policy);
> - struct dbs_data *dbs_data = policy->governor_data;
> - struct cpu_dbs_info *cdbs = gov->get_cpu_cdbs(policy->cpu);
> + struct policy_dbs_info *policy_dbs = policy->governor_data;
> + struct dbs_data *dbs_data = policy_dbs->dbs_data;
>
> /* State should be equivalent to INIT */
> - if (!cdbs->policy_dbs || cdbs->policy_dbs->policy)
> + if (policy_dbs->policy)
> return -EBUSY;
We can crash here if policy_dbs is NULL, which can happen if EXIT is called
twice (due to the lock-dropping thing in cpufreq-core). So we really need to
keep these checks for now atleast.
--
viresh