Re: [PATCH] cpufreq: Fix timer/workqueue corruption due to double queueing

Viresh Kumar
2013-08-27T06:31:03Z

On 27 August 2013 04:15, Stephen Boyd <sboyd@codeaurora.org> wrote:
> +++ b/drivers/cpufreq/cpufreq_governor.c
> @@ -133,7 +133,7 @@ void gov_queue_work(struct dbs_data *dbs_data, struct cpufreq_policy *policy,
> {
> int i;
>
> - if (!all_cpus) {
> + if (!all_cpus || !policy->governor_enabled) {
> __gov_queue_work(smp_processor_id(), dbs_data, delay);
> } else {
> for_each_cpu(i, policy->cpus)

Shouldn't we simply do this instead at the top of this function?

> + if (!policy->governor_enabled)
> + return;