On 22 December 2017 at 10:46, Dong Aisheng <[email protected]> wrote: > Current clk_pm_runtime_put is using pm_runtime_put_sync which > is not safe to be called in clk_core_is_enabled as it should > be able to run in atomic context. > > Thus use pm_runtime_put instead which is atomic safe. > > Cc: Stephen Boyd <[email protected]> > Cc: Michael Turquette <[email protected]> > Cc: Ulf Hansson <[email protected]> > Cc: Marek Szyprowski <[email protected]> > Fixes: 9a34b45397e5 ("clk: Add support for runtime PM") > Signed-off-by: Dong Aisheng <[email protected]>
Reviewed-by: Ulf Hansson <[email protected]> Kind regards Uffe > --- > drivers/clk/clk.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index 5ec5809..e24968f 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -227,7 +227,8 @@ static bool clk_core_is_enabled(struct clk_core *core) > > ret = core->ops->is_enabled(core->hw); > done: > - clk_pm_runtime_put(core); > + if (core->dev) > + pm_runtime_put(core->dev); > > return ret; > } > -- > 2.7.4 >

