diff options
author | Stefan Wahren <stefan.wahren@i2se.com> | 2014-10-17 18:09:49 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-11-05 19:28:59 -0500 |
commit | 8197bb1bffbee6a7678d20b4c1e77940cdaa8640 (patch) | |
tree | 88b21606bdd410f7ed4e3498f71e177e6039131e | |
parent | 0a1e879d353f6f6e661d14c6a0e42dd19efbc504 (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>
-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 725fb1d86578..8cba13df5f28 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) | |||
78 | } | 78 | } |
79 | 79 | ||
80 | dev_dbg(cpu_dev, "%u MHz, %ld mV --> %u MHz, %ld mV\n", | 80 | dev_dbg(cpu_dev, "%u MHz, %ld mV --> %u MHz, %ld mV\n", |
81 | old_freq / 1000, volt_old ? volt_old / 1000 : -1, | 81 | old_freq / 1000, (volt_old > 0) ? volt_old / 1000 : -1, |
82 | new_freq / 1000, volt ? volt / 1000 : -1); | 82 | new_freq / 1000, volt ? volt / 1000 : -1); |
83 | 83 | ||
84 | /* scaling up? scale voltage before frequency */ | 84 | /* scaling up? scale voltage before frequency */ |
@@ -94,7 +94,7 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) | |||
94 | ret = clk_set_rate(cpu_clk, freq_exact); | 94 | ret = clk_set_rate(cpu_clk, freq_exact); |
95 | if (ret) { | 95 | if (ret) { |
96 | dev_err(cpu_dev, "failed to set clock rate: %d\n", ret); | 96 | dev_err(cpu_dev, "failed to set clock rate: %d\n", ret); |
97 | if (!IS_ERR(cpu_reg)) | 97 | if (!IS_ERR(cpu_reg) && volt_old > 0) |
98 | regulator_set_voltage_tol(cpu_reg, volt_old, tol); | 98 | regulator_set_voltage_tol(cpu_reg, volt_old, tol); |
99 | return ret; | 99 | return ret; |
100 | } | 100 | } |