]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/cpufreq/cpufreq.c
[CPUFREQ] _PPC frequency change issues
[linux-2.6-omap-h63xx.git] / drivers / cpufreq / cpufreq.c
index 0a6c4c8642e72599cb0ffb609c1804a30040520f..7a511479ae29b615e0d8fe1fcfdd223212a7e2a8 100644 (file)
@@ -1429,6 +1429,14 @@ int cpufreq_update_policy(unsigned int cpu)
        policy.policy = data->user_policy.policy;
        policy.governor = data->user_policy.governor;
 
+       /* BIOS might change freq behind our back
+         -> ask driver for current freq and notify governors about a change */
+       if (cpufreq_driver->get) {
+               policy.cur = cpufreq_driver->get(cpu);
+               if (data->cur != policy.cur)
+                       cpufreq_out_of_sync(cpu, data->cur, policy.cur);
+       }
+
        ret = __cpufreq_set_policy(data, &policy);
 
        mutex_unlock(&data->lock);