[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAQKjZNbEAiDC_2dUMKZHyPO4nS9TM7TrdjyNx0uLcjvh=PyZw@mail.gmail.com>
Date: Fri, 27 Jun 2025 13:56:06 +0900
From: Inki Dae <daeinki@...il.com>
To: Kaustabh Chakraborty <kauschluss@...root.org>
Cc: Seung-Woo Kim <sw0312.kim@...sung.com>, Kyungmin Park <kyungmin.park@...sung.com>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Krzysztof Kozlowski <krzk@...nel.org>, Alim Akhtar <alim.akhtar@...sung.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, Rob Herring <robh@...nel.org>, Conor Dooley <conor@...nel.org>,
Ajay Kumar <ajaykumar.rs@...sung.com>, Akshu Agrawal <akshua@...il.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
dri-devel@...ts.freedesktop.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH v3 3/3] drm/exynos: exynos7_drm_decon: add vblank check in
IRQ handling
2025년 6월 27일 (금) 오전 4:21, Kaustabh Chakraborty <kauschluss@...root.org>님이 작성:
>
> If there's support for another console device (such as a TTY serial),
> the kernel occasionally panics during boot. The panic message and a
> relevant snippet of the call stack is as follows:
>
> Unable to handle kernel NULL pointer dereference at virtual address 000000000000000
> Call trace:
> drm_crtc_handle_vblank+0x10/0x30 (P)
> decon_irq_handler+0x88/0xb4
> [...]
>
It seems that if the display is already enabled by the bootloader
during the boot process, a vblank interrupt may be triggered before
the initialization of drm_dev is complete. This could be the root
cause of the issue.
Applied.
Thanks,
Inki Dae
> Otherwise, the panics don't happen. This indicates that it's some sort
> of race condition.
>
> Add a check to validate if the drm device can handle vblanks before
> calling drm_crtc_handle_vblank() to avoid this.
>
> Cc: stable@...r.kernel.org
> Fixes: 96976c3d9aff ("drm/exynos: Add DECON driver")
> Signed-off-by: Kaustabh Chakraborty <kauschluss@...root.org>
> ---
> drivers/gpu/drm/exynos/exynos7_drm_decon.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> index 43bcbe2e2917df43d7c2d27a9771e892628dd682..c0c0f23169c993ac315fc8d7bcbd09ea6ec9966a 100644
> --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> @@ -636,6 +636,10 @@ static irqreturn_t decon_irq_handler(int irq, void *dev_id)
> if (!ctx->drm_dev)
> goto out;
>
> + /* check if crtc and vblank have been initialized properly */
> + if (!drm_dev_has_vblank(ctx->drm_dev))
> + goto out;
> +
> if (!ctx->i80_if) {
> drm_crtc_handle_vblank(&ctx->crtc->base);
>
>
> --
> 2.49.0
>
>
Powered by blists - more mailing lists