drivers/soc/mediatek/mtk-svs.c | 1 + 1 file changed, 1 insertion(+)
Fix the missing clk_disable_unprepare() before return
from svs_resume() in the error handling case.
Signed-off-by: Peng Wu <wupeng58@huawei.com>
Reported-by: Hulk Robot <hulkci@huawei.com>
---
drivers/soc/mediatek/mtk-svs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c
index 606a00a2e57d..1b5c297aaec5 100644
--- a/drivers/soc/mediatek/mtk-svs.c
+++ b/drivers/soc/mediatek/mtk-svs.c
@@ -1525,6 +1525,7 @@ static int svs_resume(struct device *dev)
ret = reset_control_deassert(svsp->rst);
if (ret) {
+ clk_disable_unprepare(svsp->main_clk);
dev_err(svsp->dev, "cannot deassert reset %d\n", ret);
return ret;
}
--
2.17.1
On 21/06/2022 13:46, Peng Wu wrote: > Fix the missing clk_disable_unprepare() before return > from svs_resume() in the error handling case. > > Signed-off-by: Peng Wu <wupeng58@huawei.com> > Reported-by: Hulk Robot <hulkci@huawei.com> > --- > drivers/soc/mediatek/mtk-svs.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c > index 606a00a2e57d..1b5c297aaec5 100644 > --- a/drivers/soc/mediatek/mtk-svs.c > +++ b/drivers/soc/mediatek/mtk-svs.c > @@ -1525,6 +1525,7 @@ static int svs_resume(struct device *dev) > > ret = reset_control_deassert(svsp->rst); > if (ret) { > + clk_disable_unprepare(svsp->main_clk); Same holds for the error path of svs_init02(), correct? Regards, Matthias > dev_err(svsp->dev, "cannot deassert reset %d\n", ret); > return ret; > }
On 2022/6/22 22:02, Matthias Brugger wrote: > > > On 21/06/2022 13:46, Peng Wu wrote: >> Fix the missing clk_disable_unprepare() before return >> from svs_resume() in the error handling case. >> >> Signed-off-by: Peng Wu <wupeng58@huawei.com> >> Reported-by: Hulk Robot <hulkci@huawei.com> >> --- >> drivers/soc/mediatek/mtk-svs.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c >> index 606a00a2e57d..1b5c297aaec5 100644 >> --- a/drivers/soc/mediatek/mtk-svs.c >> +++ b/drivers/soc/mediatek/mtk-svs.c >> @@ -1525,6 +1525,7 @@ static int svs_resume(struct device *dev) >> ret = reset_control_deassert(svsp->rst); >> if (ret) { >> + clk_disable_unprepare(svsp->main_clk); > > Same holds for the error path of svs_init02(), correct? > > Regards, > Matthias > >> dev_err(svsp->dev, "cannot deassert reset %d\n", ret); >> return ret; >> } > . Yes, the error path of svs_init02() requires the same operation. I will resubmit a patch. Regards, Peng
© 2016 - 2024 Red Hat, Inc.