From: Dan Carpenter Date: Thu, 12 Oct 2023 09:41:12 +0000 (+0300) Subject: PM / devfreq: mediatek: unlock on error in mtk_ccifreq_target() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6c29e29e4d7f29348a9e051ad5bdb833c5a1bbb6;p=linux.git PM / devfreq: mediatek: unlock on error in mtk_ccifreq_target() Call mutex_unlock(&drv->reg_lock) before returning the error code. Link: https://lore.kernel.org/all/1bada9b2-d276-4123-bfdf-03d165569543@moroto.mountain/ Fixes: d2805601988f ("PM / devfreq: mediatek: protect oop in critical session") Signed-off-by: Dan Carpenter Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chanwoo Choi --- diff --git a/drivers/devfreq/mtk-cci-devfreq.c b/drivers/devfreq/mtk-cci-devfreq.c index b0ed25e33f2bb..11bc3d03494cb 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);