diff options
author | Magnus Damm <damm@opensource.se> | 2011-06-13 06:42:15 +0200 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-06-14 08:15:25 +0200 |
commit | 583af252ab07cd1e8721878463da5b7016c18fdc (patch) | |
tree | 2203e7388bf7402264e4da8bee1e53ab8e24221f | |
parent | dmaengine: shdma: SH_DMAC_MAX_CHANNELS message fix (diff) | |
download | linux-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.c | 2 |
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)) |