From: Rafael J. Wysocki Date: Mon, 17 Mar 2014 12:51:39 +0000 (+0100) Subject: Merge back earlier 'pm-cpufreq' material. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=15afee3aeac874ac274d3d8e8783b3ada4125672;p=deliverable%2Flinux.git Merge back earlier 'pm-cpufreq' material. --- 15afee3aeac874ac274d3d8e8783b3ada4125672 diff --cc drivers/cpufreq/cpufreq.c index 199b52b7c3e1,571723b338f9..2677ff1c0a2c --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@@ -2143,10 -2148,15 +2148,15 @@@ int cpufreq_update_policy(unsigned int * BIOS might change freq behind our back * -> ask driver for current freq and notify governors about a change */ - if (cpufreq_driver->get) { + if (cpufreq_driver->get && !cpufreq_driver->setpolicy) { new_policy.cur = cpufreq_driver->get(cpu); + if (WARN_ON(!new_policy.cur)) { + ret = -EIO; + goto no_policy; + } + if (!policy->cur) { - pr_debug("Driver did not initialize current freq"); + pr_debug("Driver did not initialize current freq\n"); policy->cur = new_policy.cur; } else { if (policy->cur != new_policy.cur && has_target())