aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clk/clk.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 647d056df88c..8a1860a36c77 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1564,6 +1564,9 @@ static void clk_change_rate(struct clk_core *core)
1564 best_parent_rate = core->parent->rate; 1564 best_parent_rate = core->parent->rate;
1565 } 1565 }
1566 1566
1567 if (clk_pm_runtime_get(core))
1568 return;
1569
1567 if (core->flags & CLK_SET_RATE_UNGATE) { 1570 if (core->flags & CLK_SET_RATE_UNGATE) {
1568 unsigned long flags; 1571 unsigned long flags;
1569 1572
@@ -1634,6 +1637,8 @@ static void clk_change_rate(struct clk_core *core)
1634 /* handle the new child who might not be in core->children yet */ 1637 /* handle the new child who might not be in core->children yet */
1635 if (core->new_child) 1638 if (core->new_child)
1636 clk_change_rate(core->new_child); 1639 clk_change_rate(core->new_child);
1640
1641 clk_pm_runtime_put(core);
1637} 1642}
1638 1643
1639static int clk_core_set_rate_nolock(struct clk_core *core, 1644static int clk_core_set_rate_nolock(struct clk_core *core,