summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2011-06-13 06:42:15 +0200
committerPaul Mundt <lethal@linux-sh.org>2011-06-14 08:15:25 +0200
commit583af252ab07cd1e8721878463da5b7016c18fdc (patch)
tree2203e7388bf7402264e4da8bee1e53ab8e24221f
parentdmaengine: shdma: SH_DMAC_MAX_CHANNELS message fix (diff)
downloadlinux-583af252ab07cd1e8721878463da5b7016c18fdc.tar.xz
linux-583af252ab07cd1e8721878463da5b7016c18fdc.zip
drivers: sh: resume enabled clocks fix
Extend the SH / SH-Mobile ARM clock framework to only resume clocks that have been enabled. Without this fix divide-by-zero is triggering on sh7372 FSIDIV during system wide resume of Suspend-to-RAM. Signed-off-by: Magnus Damm <damm@opensource.se> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--drivers/sh/clk/core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/sh/clk/core.c b/drivers/sh/clk/core.c
index 4f64183b27fa..7e9c39951ecb 100644
--- a/drivers/sh/clk/core.c
+++ b/drivers/sh/clk/core.c
@@ -635,7 +635,7 @@ static void clks_core_resume(void)
struct clk *clkp;
list_for_each_entry(clkp, &clock_list, node) {
- if (likely(clkp->ops)) {
+ if (likely(clkp->usecount && clkp->ops)) {
unsigned long rate = clkp->rate;
if (likely(clkp->ops->set_parent))