Received: by 2002:aa6:da0e:0:b029:115:a171:fe4c with SMTP id z14csp1264408lkb; Wed, 7 Jul 2021 02:55:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzYCNVNUqVq31IGTVK0iE3YSubaWtKjjitbz+/a2mLU2i0VKHb9Q9IlC9X4KTx87TIJVEml X-Received: by 2002:a05:6402:177c:: with SMTP id da28mr9889374edb.129.1625651734614; Wed, 07 Jul 2021 02:55:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625651734; cv=none; d=google.com; s=arc-20160816; b=Gr9zNECjdxO6qWouxRXMSr2KxFKH98E4Mt5qoshaAGiXp9OrPSruu5bZX9GS/r21i+ XO7zJuYihmDEgBNLZK3ILF4iFkCDzi8Y3woXZC/cSj709D1iyUXJlkpW0SqKweIY5f78 yJepwk6y7yjfaCtFgoI3h/zZNh0IBjEXShkSF2+l6D1lJK6Q1KbQFf5DX9ItA/90nOKc Ebjagg9UqmKGXwK52tzAdMX9TFGWMJKSiUM3iVjHeM2moYv6T7zjtgQs7VuJP8N3jsv/ HqH/Pa27gWCyGTwMajosdDHgm9liCRAa7RaumSrvUGgeNaRfwJXGk9V8ZGKXXZPT4e65 zAlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=WSJ1elncdkKB2GBmNc1T6E2h3Za7yGocjy6KSumGTP0=; b=poqklcBFSnTpIEtiFNUYFod6xMDUmSPdW4mPMg0c4cZ/MpTI/2DSJA9FTG6Le5h/0n O2R8OgqaqhgBSeqa/Miu+pBtARFsPKmkU7qJ109WOqa+nJkgwDHzgF+K7pRck16PsG+o zPe0qiK+r6Cx764+HQ5I/v7bdadxhuPxp/EFZgCBHb6kOKXW8IHsoiz9I8RzvURHmCt/ oB4uLu+KMH4n4CPpUGjVwVXaIz2+Wu0A4ibCmEcqrNNjjgeX/S7laHUOruZm8jo2KS2a l75l0EQ/wnd2Y8Bw5r80mdqQUkj1/LWsVwwe+EfUDsRA6cKGwK/Oy/Iyh915m32/3WOM 500A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm3 header.b=efJGcFmz; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=lJP04q6A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v30si16178005ejk.99.2021.07.07.02.55.11; Wed, 07 Jul 2021 02:55:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm3 header.b=efJGcFmz; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=lJP04q6A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231274AbhGGJyO (ORCPT + 99 others); Wed, 7 Jul 2021 05:54:14 -0400 Received: from wnew2-smtp.messagingengine.com ([64.147.123.27]:52237 "EHLO wnew2-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231382AbhGGJyL (ORCPT ); Wed, 7 Jul 2021 05:54:11 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.west.internal (Postfix) with ESMTP id 3761E2B007A7; Wed, 7 Jul 2021 05:51:30 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Wed, 07 Jul 2021 05:51:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm3; bh=WSJ1elncdkKB2 GBmNc1T6E2h3Za7yGocjy6KSumGTP0=; b=efJGcFmzfYygmNAM2kqwTx/9GfdHF J72RLIIeJ4vGeloz+k2nZriDw6EZ/DZraKjYYe26zo501Nh4D3+6ifgj76CjF+VF ZVPXOXsHXYegi7MA4vW1Q0W+QQdfIt3d4P1qFZJogvOm20Z9QmhJ+pU1yziy6NBv ZfvFHh6qQHkZ3Nn7XtDsksYJtKonwAySs1OnFieNH63aF8qpYljatH6zC1Y2oDGW 3n2tmFkQ+BqLO8BiPk1HpulqgqQQYUqrJCf7AQBKmFB4YfyIrLwIjbZOI4yN+Unt rVgMKc0luA5HZVl5z5A9KiJWyK+4eMcdMT0JlVJbn/a6gxT5F/60PDuLw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=WSJ1elncdkKB2GBmNc1T6E2h3Za7yGocjy6KSumGTP0=; b=lJP04q6A +CmAFBgm2kHOeYttMEB9NCarU460yg5ha8jK7Q70egtMQPlVvq+czSZA10mlD9pg AKiZn7zP2T5VHPHsI8tox0XjnFuT4XnviO7+41ZoKGHLacjynLCg+4sORYv2QXql RX3P62JJaWMgyyPgToZzojR+T+2hJuj7FWGo8ppX9Z660B28lN9FXy0GtXWhIGpn zaahWjvMo+2W7Y9taRo+I0T5Hi7+Q14rEHzQqX8Nbj+RMyz6rq9wClAHK8BRQChF 9ZYmjW2ClIcD4GaxGj3LT/qfqf8gp09ULy7vdAA46lympZSiQ6q7Mn3WFVKHR2WD rSaXyfaWAeoQnQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrtddvgddvtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepofgrgihimhgv ucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrghtth gvrhhnpedvkeelveefffekjefhffeuleetleefudeifeehuddugffghffhffehveevheeh vdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrg igihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Jul 2021 05:51:29 -0400 (EDT) From: Maxime Ripard To: dri-devel@lists.freedesktop.org, Daniel Vetter , David Airlie , Maarten Lankhorst , Thomas Zimmermann , Maxime Ripard Cc: Emma Anholt , Hans Verkuil , Daniel Vetter , linux-kernel@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, Dave Stevenson , Phil Elwell , Tim Gover , Dom Cobley , Maxime Ripard , Nicolas Saenz Julienne Subject: [PATCH 3/3] drm/vc4: hdmi: Only call into DRM framework if registered Date: Wed, 7 Jul 2021 11:51:12 +0200 Message-Id: <20210707095112.1469670-4-maxime@cerno.tech> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210707095112.1469670-1-maxime@cerno.tech> References: <20210707095112.1469670-1-maxime@cerno.tech> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Our hotplug handler will currently call the drm_kms_helper_hotplug_event every time a hotplug interrupt is called. However, since the device is registered after all the drivers have finished their bind callback, we have a window between when we install our interrupt handler and when drm_dev_register() is eventually called where our handler can run and call drm_kms_helper_hotplug_event but the device hasn't been registered yet, causing a null pointer dereference. Fix this by making sure we only call drm_kms_helper_hotplug_event if our device has been properly registered. Fixes: f4790083c7c2 ("drm/vc4: hdmi: Rely on interrupts to handle hotplug") Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 50393a8a42b3..31c28252c5f5 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -1580,7 +1580,7 @@ static irqreturn_t vc4_hdmi_hpd_irq_thread(int irq, void *priv) struct vc4_hdmi *vc4_hdmi = priv; struct drm_device *dev = vc4_hdmi->connector.dev; - if (dev) + if (dev && dev->registered) drm_kms_helper_hotplug_event(dev); return IRQ_HANDLED; -- 2.31.1