Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752755AbdFOUls (ORCPT ); Thu, 15 Jun 2017 16:41:48 -0400 Received: from anholt.net ([50.246.234.109]:57152 "EHLO anholt.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752269AbdFOUlq (ORCPT ); Thu, 15 Jun 2017 16:41:46 -0400 From: Eric Anholt To: dri-devel@lists.freedesktop.org, Archit Taneja , Andrzej Hajda , Laurent Pinchart , Thierry Reding , Rob Herring , Mark Rutland , devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Eric Anholt Subject: [PATCH 1/7] drm/bridge: Support hotplugging panel-bridge. Date: Thu, 15 Jun 2017 13:41:24 -0700 Message-Id: <20170615204130.19255-2-eric@anholt.net> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170615204130.19255-1-eric@anholt.net> References: <20170615204130.19255-1-eric@anholt.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 987 Lines: 31 If the panel-bridge is being set up after the drm_mode_config_reset(), then the connector's state would never get initialized, and we'd dereference the NULL in the hotplug path. We also need to register the connector, so that userspace can get at it. Signed-off-by: Eric Anholt --- drivers/gpu/drm/bridge/panel.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c index 67fe19e5a9c6..8ed8a70799c7 100644 --- a/drivers/gpu/drm/bridge/panel.c +++ b/drivers/gpu/drm/bridge/panel.c @@ -82,11 +82,14 @@ static int panel_bridge_attach(struct drm_bridge *bridge) drm_mode_connector_attach_encoder(&panel_bridge->connector, bridge->encoder); + drm_atomic_helper_connector_reset(&panel_bridge->connector); ret = drm_panel_attach(panel_bridge->panel, &panel_bridge->connector); if (ret < 0) return ret; + drm_connector_register(&panel_bridge->connector); + return 0; } -- 2.11.0