clk: unlock for handling unregistered clock
If clock is already unregistered, it returns with holding lock. It needs to be unlocked. Signed-off-by: Insu Yun <wuninsu@gmail.com> [sboyd@codeaurora.org: Use goto instead] Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
parent
7001ec560a
commit
4106a3d9eb
|
@ -2641,7 +2641,7 @@ void clk_unregister(struct clk *clk)
|
||||||
if (clk->core->ops == &clk_nodrv_ops) {
|
if (clk->core->ops == &clk_nodrv_ops) {
|
||||||
pr_err("%s: unregistered clock: %s\n", __func__,
|
pr_err("%s: unregistered clock: %s\n", __func__,
|
||||||
clk->core->name);
|
clk->core->name);
|
||||||
return;
|
goto unlock;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Assign empty clock ops for consumers that might still hold
|
* Assign empty clock ops for consumers that might still hold
|
||||||
|
@ -2667,7 +2667,7 @@ void clk_unregister(struct clk *clk)
|
||||||
pr_warn("%s: unregistering prepared clock: %s\n",
|
pr_warn("%s: unregistering prepared clock: %s\n",
|
||||||
__func__, clk->core->name);
|
__func__, clk->core->name);
|
||||||
kref_put(&clk->core->ref, __clk_release);
|
kref_put(&clk->core->ref, __clk_release);
|
||||||
|
unlock:
|
||||||
clk_prepare_unlock();
|
clk_prepare_unlock();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(clk_unregister);
|
EXPORT_SYMBOL_GPL(clk_unregister);
|
||||||
|
|
Loading…
Reference in New Issue