]> Pileus Git - ~andy/linux/blobdiff - drivers/cpufreq/cpufreq_governor.c
Merge tag 'dm-3.14-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
[~andy/linux] / drivers / cpufreq / cpufreq_governor.c
index e6be63561fa699a28053c7528056dcd08ffb2285..ba43991ba98aeeee2c7f833be6cb08f58638bb19 100644 (file)
@@ -119,8 +119,9 @@ void gov_queue_work(struct dbs_data *dbs_data, struct cpufreq_policy *policy,
 {
        int i;
 
+       mutex_lock(&cpufreq_governor_lock);
        if (!policy->governor_enabled)
-               return;
+               goto out_unlock;
 
        if (!all_cpus) {
                /*
@@ -135,6 +136,9 @@ void gov_queue_work(struct dbs_data *dbs_data, struct cpufreq_policy *policy,
                for_each_cpu(i, policy->cpus)
                        __gov_queue_work(i, dbs_data, delay);
        }
+
+out_unlock:
+       mutex_unlock(&cpufreq_governor_lock);
 }
 EXPORT_SYMBOL_GPL(gov_queue_work);