diff options
author | Stefan Wahren <stefan.wahren@i2se.com> | 2014-10-17 22:09:49 +0000 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2015-10-28 10:59:21 +0800 |
commit | c3b36f34f1a06ebd9747143c4936b930402840d4 (patch) | |
tree | 321ba6a7000425dec37c5c152b12ff27abe9b5df | |
parent | a05aa9b13f6ecb7225030504a40fea57dc1388db (diff) |
cpufreq: cpufreq-dt: Handle regulator_get_voltage() failure
In error cases regulator_get_voltage() returns a negative value.
So take care of it.
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit 8197bb1bffbee6a7678d20b4c1e77940cdaa8640)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
-rw-r--r-- | drivers/cpufreq/cpufreq-dt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c index c3528a05cdb6..e7c081fcdfa3 100644 --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c @@ -78,7 +78,7 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) } dev_dbg(cpu_dev, "%u MHz, %ld mV --> %u MHz, %ld mV\n", - old_freq / 1000, volt_old ? volt_old / 1000 : -1, + old_freq / 1000, (volt_old > 0) ? volt_old / 1000 : -1, new_freq / 1000, volt ? volt / 1000 : -1); /* scaling up? scale voltage before frequency */ @@ -94,7 +94,7 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) ret = clk_set_rate(cpu_clk, freq_exact); if (ret) { dev_err(cpu_dev, "failed to set clock rate: %d\n", ret); - if (!IS_ERR(cpu_reg)) + if (!IS_ERR(cpu_reg) && volt_old > 0) regulator_set_voltage_tol(cpu_reg, volt_old, tol); return ret; } |