diff mbox series

PM / devfreq: mediatek: unlock on error in mtk_ccifreq_target()

Message ID 1bada9b2-d276-4123-bfdf-03d165569543@moroto.mountain (mailing list archive)
State Accepted
Delegated to: Chanwoo Choi
Headers show
Series PM / devfreq: mediatek: unlock on error in mtk_ccifreq_target() | expand

Commit Message

Dan Carpenter Oct. 12, 2023, 9:41 a.m. UTC
Call mutex_unlock(&drv->reg_lock) before returning the error code.

Fixes: d2805601988f ("PM / devfreq: mediatek: protect oop in critical session")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/devfreq/mtk-cci-devfreq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

AngeloGioacchino Del Regno Oct. 12, 2023, 9:59 a.m. UTC | #1
Il 12/10/23 11:41, Dan Carpenter ha scritto:
> Call mutex_unlock(&drv->reg_lock) before returning the error code.
> 
> Fixes: d2805601988f ("PM / devfreq: mediatek: protect oop in critical session")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Chanwoo Choi Oct. 17, 2023, 8:43 a.m. UTC | #2
On 23. 10. 12. 18:41, Dan Carpenter wrote:
> Call mutex_unlock(&drv->reg_lock) before returning the error code.
> 
> Fixes: d2805601988f ("PM / devfreq: mediatek: protect oop in critical session")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/devfreq/mtk-cci-devfreq.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/devfreq/mtk-cci-devfreq.c b/drivers/devfreq/mtk-cci-devfreq.c
> index b0ed25e33f2b..11bc3d03494c 100644
> --- a/drivers/devfreq/mtk-cci-devfreq.c
> +++ b/drivers/devfreq/mtk-cci-devfreq.c
> @@ -146,7 +146,8 @@ static int mtk_ccifreq_target(struct device *dev, unsigned long *freq,
>  	opp = devfreq_recommended_opp(dev, &opp_rate, 1);
>  	if (IS_ERR(opp)) {
>  		dev_err(dev, "failed to find opp for freq: %ld\n", opp_rate);
> -		return PTR_ERR(opp);
> +		ret = PTR_ERR(opp);
> +		goto out_unlock;
>  	}
>  
>  	voltage = dev_pm_opp_get_voltage(opp);

Applied it. Thanks.
diff mbox series

Patch

diff --git a/drivers/devfreq/mtk-cci-devfreq.c b/drivers/devfreq/mtk-cci-devfreq.c
index b0ed25e33f2b..11bc3d03494c 100644
--- a/drivers/devfreq/mtk-cci-devfreq.c
+++ b/drivers/devfreq/mtk-cci-devfreq.c
@@ -146,7 +146,8 @@  static int mtk_ccifreq_target(struct device *dev, unsigned long *freq,
 	opp = devfreq_recommended_opp(dev, &opp_rate, 1);
 	if (IS_ERR(opp)) {
 		dev_err(dev, "failed to find opp for freq: %ld\n", opp_rate);
-		return PTR_ERR(opp);
+		ret = PTR_ERR(opp);
+		goto out_unlock;
 	}
 
 	voltage = dev_pm_opp_get_voltage(opp);