Make sure the connector is fully initialized before signalling any
HPD events via drm_kms_helper_hotplug_event(), otherwise this may
lead to NULL pointer dereference.

Signed-off-by: Marek Vasut <ma...@denx.de>
---
Cc: Andrzej Hajda <andrzej.ha...@intel.com>
Cc: Daniel Vetter <dan...@ffwll.ch>
Cc: David Airlie <airl...@gmail.com>
Cc: Jernej Skrabec <jernej.skra...@gmail.com>
Cc: Jonas Karlman <jo...@kwiboo.se>
Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Cc: Lucas Stach <l.st...@pengutronix.de>
Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
Cc: Maxime Ripard <mrip...@kernel.org>
Cc: Neil Armstrong <neil.armstr...@linaro.org>
Cc: Robert Foss <rf...@kernel.org>
Cc: Thomas Zimmermann <tzimmerm...@suse.de>
Cc: dri-devel@lists.freedesktop.org
Cc: ker...@dh-electronics.com
---
 drivers/gpu/drm/bridge/tc358767.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/tc358767.c 
b/drivers/gpu/drm/bridge/tc358767.c
index eab3a529e8c4f..029002938a5e8 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -2217,7 +2217,7 @@ static irqreturn_t tc_irq_handler(int irq, void *arg)
                dev_err(tc->dev, "syserr %x\n", stat);
        }
 
-       if (tc->hpd_pin >= 0 && tc->bridge.dev) {
+       if (tc->hpd_pin >= 0 && tc->bridge.dev && tc->aux.drm_dev) {
                /*
                 * H is triggered when the GPIO goes high.
                 *
-- 
2.43.0

Reply via email to