summary refs log tree commit diff
path: root/drivers/soc
diff options
context:
space:
mode:
authorRoger Lu <roger.lu@mediatek.com>2023-01-11 15:45:16 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-03-11 13:55:18 +0100
commit8fc4291f8de2408d019f8bfd46c94426b4684f3e (patch)
tree5fa718a801573e4595ee7b60207134f32409fc3b /drivers/soc
parente05aa300fb6979b3f063f83259b9d5166f877dc1 (diff)
downloadlinux-8fc4291f8de2408d019f8bfd46c94426b4684f3e.tar.gz
soc: mediatek: mtk-svs: reset svs when svs_resume() fail
[ Upstream commit f4f8ad204a15d57c1a3e8ea7eca62157b44cbf59 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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;