soc: mediatek: mtk-svs: reset svs when svs_resume() fail
authorRoger Lu <roger.lu@mediatek.com>
Wed, 11 Jan 2023 07:45:16 +0000 (15:45 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:55:18 +0000 (13:55 +0100)
[ 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>
drivers/soc/mediatek/mtk-svs.c

index 9859e6cf6b8f97c29c2dce671022cdd8b10fb23f..e0b8aa75c84b65c1951f978eb52d2d0b6bfb31f3 100644 (file)
@@ -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;