summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-11-29 07:44:05 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-11-29 07:44:05 -0800
commita95f91f51aeea37eeb45f8bdfde6fcc6eeb53129 (patch)
treea467c4a86758f1b7c0c3914ea96014a86b0a29bc
parent925ce43342c7dfa66b55f2deb7e489783fede412 (diff)
parent421676896cdd442477d863f405eef9d27851f479 (diff)
Merge "clk: fix critical clock locking"
-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 910c168bcbc1..c1865f9ee8b3 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -3128,8 +3128,13 @@ static int __clk_init(struct device *dev, struct clk *clk_user)
core->ops->init(core->hw);
if (core->flags & CLK_IS_CRITICAL) {
+ unsigned long flags;
+
clk_core_prepare(core);
+
+ flags = clk_enable_lock();
clk_core_enable(core);
+ clk_enable_unlock(flags);
}
kref_init(&core->ref);