Add the missing clk_disable_unprepare() before return from analogix_dp_resume() in the error handling case. Fixes: 211f276ed3d9 ("drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume time") Signed-off-by: Zhang Zekun <zhangzekun11@xxxxxxxxxx> --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 8aadcc0aa90b..a0fd652547f5 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1887,6 +1887,7 @@ int analogix_dp_resume(struct analogix_dp_device *dp) if (dp->plat_data->panel) { if (drm_panel_prepare(dp->plat_data->panel)) { DRM_ERROR("failed to setup the panel\n"); + clk_disable_unprepare(dp->clock); return -EBUSY; } } -- 2.17.1