summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Kaiser <nikai@nikai.net>2011-03-30 15:59:11 +0200
committerColin Cross <ccross@android.com>2011-04-01 13:32:25 -0700
commit906c3b616dcf8e64b11d7d665d62f5e9940f4d46 (patch)
tree6f67b12cf065557373f3ef625f221e33299bf73c
parentc8309ef6a4c52919d44bbc9743d7ea05ae8f4c7f (diff)
downloadlinux-stable-906c3b616dcf8e64b11d7d665d62f5e9940f4d46.tar.gz
linux-stable-906c3b616dcf8e64b11d7d665d62f5e9940f4d46.tar.bz2
linux-stable-906c3b616dcf8e64b11d7d665d62f5e9940f4d46.zip
arm: tegra: fix error check in tegra2_clocks.c
Checking 'rate < 0' doesn't work because 'rate' is unsigned. Signed-off-by: Nicolas Kaiser <nikai@nikai.net> Signed-off-by: Colin Cross <ccross@android.com>
-rw-r--r--arch/arm/mach-tegra/tegra2_clocks.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/tegra2_clocks.c b/arch/arm/mach-tegra/tegra2_clocks.c
index 6d7c4eea4dcb..4459470c052d 100644
--- a/arch/arm/mach-tegra/tegra2_clocks.c
+++ b/arch/arm/mach-tegra/tegra2_clocks.c
@@ -1362,14 +1362,15 @@ static int tegra_clk_shared_bus_set_rate(struct clk *c, unsigned long rate)
{
unsigned long flags;
int ret;
+ long new_rate = rate;
- rate = clk_round_rate(c->parent, rate);
- if (rate < 0)
- return rate;
+ new_rate = clk_round_rate(c->parent, new_rate);
+ if (new_rate < 0)
+ return new_rate;
spin_lock_irqsave(&c->parent->spinlock, flags);
- c->u.shared_bus_user.rate = rate;
+ c->u.shared_bus_user.rate = new_rate;
ret = tegra_clk_shared_bus_update(c->parent);
spin_unlock_irqrestore(&c->parent->spinlock, flags);