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

From: Viresh Kumar
Date: Tue Aug 27 2013 - 02:31:13 EST


On 27 August 2013 04:15, Stephen Boyd <sboyd@xxxxxxxxxxxxxx> 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;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/