From: jiawen <[email protected]> exynos_fimd_resume() can fail when clk_prepare_enable() succeeds for bus_clk but fails for lcd_clk. The function returns the error without disabling bus_clk, leaving it prepared and enabled.
Disable bus_clk before returning the error to keep the clock state balanced. Signed-off-by: jiawen <[email protected]> --- diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c @@ -1325,6 +1325,7 @@ DRM_DEV_ERROR(dev, "Failed to prepare_enable the lcd clk [%d]\n", ret); + clk_disable_unprepare(ctx->bus_clk); return ret; }
