]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/bridge: tc358767: fix uninitialized variable regression
authorLuca Ceresoli <luca.ceresoli@bootlin.com>
Thu, 3 Jul 2025 23:30:18 +0000 (01:30 +0200)
committerLuca Ceresoli <luca.ceresoli@bootlin.com>
Mon, 7 Jul 2025 11:07:52 +0000 (13:07 +0200)
Commit a59a27176914 ("drm/bridge: tc358767: convert to
devm_drm_bridge_alloc() API") split tc_probe_bridge_endpoint() in two
functions, thus duplicating the loop over the endpoints in each of those
functions. However it missed duplicating the of_graph_parse_endpoint() call
which initializes the struct of_endpoint, resulting in an uninitialized
read.

Fixes: a59a27176914 ("drm/bridge: tc358767: convert to devm_drm_bridge_alloc() API")
Cc: stable@vger.kernel.org
Reported-by: Colin King (gmail) <colin.i.king@gmail.com>
Closes: https://lore.kernel.org/all/056b34c3-c1ea-4b8c-9672-c98903ffd012@gmail.com/
Reviewed-by: Colin Ian King <colin.i.king@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250704-drm-bridge-alloc-fix-tc358767-regression-v2-1-ec0e511bedd0@bootlin.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
drivers/gpu/drm/bridge/tc358767.c

index 61559467e2d22b4b1b4223c97766ca3bf58908fd..562fea47b3ecf360e64a414e95ab5d645e610e9e 100644 (file)
@@ -2422,6 +2422,7 @@ static int tc_probe_bridge_endpoint(struct tc_data *tc, enum tc_mode mode)
        struct device_node *node = NULL;
 
        for_each_endpoint_of_node(dev->of_node, node) {
+               of_graph_parse_endpoint(node, &endpoint);
                if (endpoint.port == 2) {
                        of_property_read_u8_array(node, "toshiba,pre-emphasis",
                                                  tc->pre_emphasis,