summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Prisk <linux@prisktech.co.nz>2013-05-18 09:18:49 +1200
committerMike Turquette <mturquette@linaro.org>2013-05-29 16:13:58 -0700
commit419e321df8d7d605f21f980903befc65ee66e848 (patch)
tree31996345df3b54495aaa3008c9f68a9d7f835400
parent6532cb71fb31436b8d31818a056f45b8f95dfb31 (diff)
downloadlinux-3.10-419e321df8d7d605f21f980903befc65ee66e848.tar.gz
linux-3.10-419e321df8d7d605f21f980903befc65ee66e848.tar.bz2
linux-3.10-419e321df8d7d605f21f980903befc65ee66e848.zip
clk: vt8500: Fix unbalanced spinlock in vt8500_dclk_set_rate()
With the addition of a DVO clock, a bug is now evident in the vt8500 clock code: [ 0.290000] WARNING: at init/main.c:698 do_one_initcall+0x158/0x18c() [ 0.300000] initcall wm8505fb_driver_init+0x0/0xc returned with disabled int This is caused by an unbalanced spinlock in vt8500_dclk_set_rate(). Replace the second call to spin_lock_irqsave() with spin_unlock_irqrestore(). Signed-off-by: Tony Prisk <linux@prisktech.co.nz> Signed-off-by: Mike Turquette <mturquette@linaro.org>
-rw-r--r--drivers/clk/clk-vt8500.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/clk-vt8500.c b/drivers/clk/clk-vt8500.c
index debf688afa8..553ac35bcc9 100644
--- a/drivers/clk/clk-vt8500.c
+++ b/drivers/clk/clk-vt8500.c
@@ -183,7 +183,7 @@ static int vt8500_dclk_set_rate(struct clk_hw *hw, unsigned long rate,
writel(divisor, cdev->div_reg);
vt8500_pmc_wait_busy();
- spin_lock_irqsave(cdev->lock, flags);
+ spin_unlock_irqrestore(cdev->lock, flags);
return 0;
}