aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Lu2023-01-11 15:45:16 +0800
committerGreg Kroah-Hartman2023-03-11 13:55:18 +0100
commit8fc4291f8de2408d019f8bfd46c94426b4684f3e (patch)
tree5fa718a801573e4595ee7b60207134f32409fc3b
parente05aa300fb6979b3f063f83259b9d5166f877dc1 (diff)
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>
-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;