Skip to content

Commit b846350

Browse files
Kaustabh Chakrabortydaeinki
authored andcommitted
drm/exynos: exynos7_drm_decon: add vblank check in IRQ handling
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 [...] 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: [email protected] Fixes: 96976c3 ("drm/exynos: Add DECON driver") Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Inki Dae <[email protected]>
1 parent 18665ea commit b846350

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/gpu/drm/exynos/exynos7_drm_decon.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,10 @@ static irqreturn_t decon_irq_handler(int irq, void *dev_id)
636636
if (!ctx->drm_dev)
637637
goto out;
638638

639+
/* check if crtc and vblank have been initialized properly */
640+
if (!drm_dev_has_vblank(ctx->drm_dev))
641+
goto out;
642+
639643
if (!ctx->i80_if) {
640644
drm_crtc_handle_vblank(&ctx->crtc->base);
641645

0 commit comments

Comments
 (0)