summary refs log tree commit diff
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorPaul Walmsley <pwalmsley@nvidia.com>2013-11-25 18:04:34 -0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-12-06 23:19:19 +0100
commit189c9b8d925691cc58823ffdc3bf75dc8630ccdf (patch)
tree91545c503f2a3e44ce04ca83db745964c8b1ed0d /drivers/cpufreq
parent2209b0c964c7c402b07d0df6fcfbecf8ff53db30 (diff)
downloadlinux-189c9b8d925691cc58823ffdc3bf75dc8630ccdf.tar.gz
cpufreq: SPEAr: clk_round_rate() can return a zero upon error
Treat both negative and zero return values from clk_round_rate()
as errors.  This is needed since subsequent patches will convert
clk_round_rate()'s return value to be an unsigned type, rather
than a signed type, since some clock sources can generate rates
higher than (2^31)-1 Hz.

Eventually, when calling clk_round_rate(), only a return value of
zero will be considered a error.  All other values will be
considered valid rates.  The comparison against values less than
0 is kept to preserve the correct behavior in the meantime.

Signed-off-by: Paul Walmsley <pwalmsley@nvidia.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/spear-cpufreq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cpufreq/spear-cpufreq.c b/drivers/cpufreq/spear-cpufreq.c
index d02ccd19c9c4..45ea4c094542 100644
--- a/drivers/cpufreq/spear-cpufreq.c
+++ b/drivers/cpufreq/spear-cpufreq.c
@@ -138,7 +138,7 @@ static int spear_cpufreq_target(struct cpufreq_policy *policy,
 	}
 
 	newfreq = clk_round_rate(srcclk, newfreq * mult);
-	if (newfreq < 0) {
+	if (newfreq <= 0) {
 		pr_err("clk_round_rate failed for cpu src clock\n");
 		return newfreq;
 	}