[PATCH] soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()

Peng Wu posted 1 patch 2 years, 3 months ago
There is a newer version of this series
drivers/soc/mediatek/mtk-svs.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()
Posted by Peng Wu 2 years, 3 months ago
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
Re: [PATCH] soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()
Posted by Matthias Brugger 2 years, 3 months ago

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;
>   	}
Re: [PATCH] soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()
Posted by wupeng (D) 2 years, 3 months ago
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