Add the missing clk_disable_unprepare() before return in
kmb_dsi_clk_enable().

Signed-off-by: Gaosheng Cui <cuigaoshe...@huawei.com>
---
 drivers/gpu/drm/kmb/kmb_dsi.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/kmb/kmb_dsi.c b/drivers/gpu/drm/kmb/kmb_dsi.c
index cf7cf0b07541..02141ac593c6 100644
--- a/drivers/gpu/drm/kmb/kmb_dsi.c
+++ b/drivers/gpu/drm/kmb/kmb_dsi.c
@@ -1494,12 +1494,15 @@ static int kmb_dsi_clk_enable(struct kmb_dsi *kmb_dsi)
        ret = clk_prepare_enable(kmb_dsi->clk_mipi_ecfg);
        if (ret) {
                dev_err(dev, "Failed to enable MIPI_ECFG clock: %d\n", ret);
+               clk_disable_unprepare(kmb_dsi->clk_mipi);
                return ret;
        }
 
        ret = clk_prepare_enable(kmb_dsi->clk_mipi_cfg);
        if (ret) {
                dev_err(dev, "Failed to enable MIPI_CFG clock: %d\n", ret);
+               clk_disable_unprepare(kmb_dsi->clk_mipi);
+               clk_disable_unprepare(kmb_dsi->clk_mipi_ecfg);
                return ret;
        }
 
-- 
2.25.1

Reply via email to