summaryrefslogtreecommitdiffstats
path: root/drivers/sh/clk
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2011-06-13 04:42:15 +0000
committerPaul Mundt <lethal@linux-sh.org>2011-06-14 15:15:25 +0900
commit583af252ab07cd1e8721878463da5b7016c18fdc (patch)
tree2203e7388bf7402264e4da8bee1e53ab8e24221f /drivers/sh/clk
parentdcee0bb713d0ba0d32c5ce6fe0c5aa22e6fc274a (diff)
downloadlinux-583af252ab07cd1e8721878463da5b7016c18fdc.tar.bz2
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>
Diffstat (limited to 'drivers/sh/clk')
-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))