summaryrefslogtreecommitdiffstats
path: root/drivers/soc
diff options
context:
space:
mode:
authorRoger Lu <roger.lu@mediatek.com>2023-01-11 08:45:16 +0100
committerMatthias Brugger <matthias.bgg@gmail.com>2023-01-31 14:22:14 +0100
commitf4f8ad204a15d57c1a3e8ea7eca62157b44cbf59 (patch)
treea63c207fdaddcc7278d5a07d4602901d56e408f4 /drivers/soc
parentsoc: mediatek: mtk-svs: restore default voltages when svs_init02() fail (diff)
downloadlinux-f4f8ad204a15d57c1a3e8ea7eca62157b44cbf59.tar.xz
linux-f4f8ad204a15d57c1a3e8ea7eca62157b44cbf59.zip
soc: mediatek: mtk-svs: reset svs when svs_resume() fail
Add svs reset when svs_resume() fail. Fixes: a825d72f74a3 ("soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()") Signed-off-by: Roger Lu <roger.lu@mediatek.com> Link: https://lore.kernel.org/r/20230111074528.29354-3-roger.lu@mediatek.com Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Diffstat (limited to 'drivers/soc')
-rw-r--r--drivers/soc/mediatek/mtk-svs.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c
index 9859e6cf6b8f..e0b8aa75c84b 100644
--- a/drivers/soc/mediatek/mtk-svs.c
+++ b/drivers/soc/mediatek/mtk-svs.c
@@ -1614,12 +1614,16 @@ static int svs_resume(struct device *dev)
ret = svs_init02(svsp);
if (ret)
- goto out_of_resume;
+ goto svs_resume_reset_assert;
svs_mon_mode(svsp);
return 0;
+svs_resume_reset_assert:
+ dev_err(svsp->dev, "assert reset: %d\n",
+ reset_control_assert(svsp->rst));
+
out_of_resume:
clk_disable_unprepare(svsp->main_clk);
return ret;