Commit 929ca89c authored by Andrzej Hajda's avatar Andrzej Hajda Committed by Rafael J. Wysocki

cpufreq-dt: fix handling regulator_get_voltage() result

The function can return negative values so it should be assigned
to signed type.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci.

Link: http://permalink.gmane.org/gmane.linux.kernel/2038576Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 0df35026
...@@ -50,7 +50,8 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) ...@@ -50,7 +50,8 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index)
struct private_data *priv = policy->driver_data; struct private_data *priv = policy->driver_data;
struct device *cpu_dev = priv->cpu_dev; struct device *cpu_dev = priv->cpu_dev;
struct regulator *cpu_reg = priv->cpu_reg; struct regulator *cpu_reg = priv->cpu_reg;
unsigned long volt = 0, volt_old = 0, tol = 0; unsigned long volt = 0, tol = 0;
int volt_old = 0;
unsigned int old_freq, new_freq; unsigned int old_freq, new_freq;
long freq_Hz, freq_exact; long freq_Hz, freq_exact;
int ret; int ret;
...@@ -83,7 +84,7 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) ...@@ -83,7 +84,7 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index)
opp_freq / 1000, volt); opp_freq / 1000, volt);
} }
dev_dbg(cpu_dev, "%u MHz, %ld mV --> %u MHz, %ld mV\n", dev_dbg(cpu_dev, "%u MHz, %d mV --> %u MHz, %ld mV\n",
old_freq / 1000, (volt_old > 0) ? volt_old / 1000 : -1, old_freq / 1000, (volt_old > 0) ? volt_old / 1000 : -1,
new_freq / 1000, volt ? volt / 1000 : -1); new_freq / 1000, volt ? volt / 1000 : -1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment