[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170925103038.lvr5msjvekwczctn@mwanda>
Date: Mon, 25 Sep 2017 13:30:38 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: Daniel Vetter <daniel.vetter@...el.com>,
Linus Walleij <linus.walleij@...aro.org>
Cc: Jani Nikula <jani.nikula@...ux.intel.com>,
Sean Paul <seanpaul@...omium.org>,
David Airlie <airlied@...ux.ie>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: [PATCH] drm: of: always initialize panel in
drm_of_find_panel_or_bridge()
The callers expect "panel" to be initialized, but that isn't true if we
return -ENODEV. It causes bugs like:
drivers/gpu/drm/tve200/tve200_drv.c:83 tve200_modeset_init()
error: uninitialized symbol 'panel'.
Signed-off-by: Dan Carpenter <dan.carpenter@...cle.com>
diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c
index 8dafbdfcd2ea..4c191c050e7d 100644
--- a/drivers/gpu/drm/drm_of.c
+++ b/drivers/gpu/drm/drm_of.c
@@ -233,6 +233,8 @@ int drm_of_find_panel_or_bridge(const struct device_node *np,
if (!panel && !bridge)
return -EINVAL;
+ if (panel)
+ *panel = NULL;
remote = of_graph_get_remote_node(np, port, endpoint);
if (!remote)
Powered by blists - more mailing lists