summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorDirk Brandewie2013-02-06 18:02:09 +0100
committerRafael J. Wysocki2013-02-09 12:55:47 +0100
commitf6b0515b078f641d00ca531a9f0ae34f3b05ec20 (patch)
treee2ba8cb57e5f2510d6504f1ce047912bd3cb5064 /drivers/cpufreq
parentcpufreq: Retrieve current frequency from scaling drivers with internal governors (diff)
downloadkernel-qcow2-linux-f6b0515b078f641d00ca531a9f0ae34f3b05ec20.tar.gz
kernel-qcow2-linux-f6b0515b078f641d00ca531a9f0ae34f3b05ec20.tar.xz
kernel-qcow2-linux-f6b0515b078f641d00ca531a9f0ae34f3b05ec20.zip
cpufreq: Only call cpufreq_out_of_sync() for driver that implement cpufreq_driver.target()
Scaling drivers that implement cpufreq_driver.setpolicy() have internal governors that do not signal changes via cpufreq_notify_transition() so the frequncy in the policy will almost certainly be different than the current frequncy. Only call cpufreq_out_of_sync() when the underlying driver implements cpufreq_driver.target() Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/cpufreq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index e98035dc2265..480c49c71afe 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1770,7 +1770,7 @@ int cpufreq_update_policy(unsigned int cpu)
pr_debug("Driver did not initialize current freq");
data->cur = policy.cur;
} else {
- if (data->cur != policy.cur)
+ if (data->cur != policy.cur && cpufreq_driver->target)
cpufreq_out_of_sync(cpu, data->cur,
policy.cur);
}