]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
clk: imx: clk-scu: fix clk enable state save and restore
authorDong Aisheng <aisheng.dong@nxp.com>
Sun, 27 Oct 2024 12:00:10 +0000 (20:00 +0800)
committerAbel Vesa <abel.vesa@linaro.org>
Tue, 5 Nov 2024 10:02:22 +0000 (12:02 +0200)
commite81361f6cf9bf4a1848b0813bc4becb2250870b8
tree5d74d3638bb8fe25cfa242f2c5d9c52ae0789bbf
parentff4279618f0aec350b0fb41b2b35841324fbd96e
clk: imx: clk-scu: fix clk enable state save and restore

The scu clk_ops only inplements prepare() and unprepare() callback.
Saving the clock state during suspend by checking clk_hw_is_enabled()
is not safe as it's possible that some device drivers may only
disable the clocks without unprepare. Then the state retention will not
work for such clocks.

Fixing it by checking clk_hw_is_prepared() which is more reasonable
and safe.

Fixes: d0409631f466 ("clk: imx: scu: add suspend/resume support")
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Carlos Song <carlos.song@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Link: https://lore.kernel.org/r/20241027-imx-clk-v1-v3-4-89152574d1d7@nxp.com
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
drivers/clk/imx/clk-scu.c