c7cdcacb88bd255ec0f72165956a396f7d48dbb6
[openwrt/staging/aparcar.git] /
1 From d58e0cb66d35de123f2219f4609f733e7a11a45d Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Thu, 15 Apr 2021 16:18:16 +0100
4 Subject: [PATCH] drm/vc4: Add correct stop condition to
5 vc4_dsi_encoder_disable iteration
6
7 vc4_dsi_encoder_disable is partially an open coded version of
8 drm_bridge_chain_disable, but it missed a termination condition
9 in the loop for ->disable which meant that no post_disable
10 calls were made.
11
12 Add in the termination clause.
13
14 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
15 ---
16 drivers/gpu/drm/vc4/vc4_dsi.c | 3 +++
17 1 file changed, 3 insertions(+)
18
19 --- a/drivers/gpu/drm/vc4/vc4_dsi.c
20 +++ b/drivers/gpu/drm/vc4/vc4_dsi.c
21 @@ -803,6 +803,9 @@ static void vc4_dsi_encoder_disable(stru
22 list_for_each_entry_reverse(iter, &dsi->bridge_chain, chain_node) {
23 if (iter->funcs->disable)
24 iter->funcs->disable(iter);
25 +
26 + if (iter == dsi->bridge)
27 + break;
28 }
29
30 vc4_dsi_ulps(dsi, true);