From: Dave Stevenson Date: Mon, 13 Jun 2022 14:47:43 +0000 (+0200) Subject: drm/vc4: dsi: Add correct stop condition to vc4_dsi_encoder_disable iteration X-Git-Tag: v6.6.17~3937^2~23^2~2160 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7bcb9c8d0bc9f3cab8ac2634b056c2e6b63945ca;p=platform%2Fkernel%2Flinux-rpi.git drm/vc4: dsi: Add correct stop condition to vc4_dsi_encoder_disable iteration vc4_dsi_encoder_disable is partially an open coded version of drm_bridge_chain_disable, but it missed a termination condition in the loop for ->disable which meant that no post_disable calls were made. Add in the termination clause. Fixes: 033bfe7538a1 ("drm/vc4: dsi: Fix bridge chain handling") Signed-off-by: Dave Stevenson Link: https://lore.kernel.org/r/20220613144800.326124-17-maxime@cerno.tech Signed-off-by: Maxime Ripard --- diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c index 333ea96..b7b2c76 100644 --- a/drivers/gpu/drm/vc4/vc4_dsi.c +++ b/drivers/gpu/drm/vc4/vc4_dsi.c @@ -803,6 +803,9 @@ static void vc4_dsi_encoder_disable(struct drm_encoder *encoder) list_for_each_entry_reverse(iter, &dsi->bridge_chain, chain_node) { if (iter->funcs->disable) iter->funcs->disable(iter); + + if (iter == dsi->bridge) + break; } vc4_dsi_ulps(dsi, true);