diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0278-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0278-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0278-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch b/target/linux/bcm27xx/patches-5.4/950-0278-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch deleted file mode 100644 index 60c9c9b03f..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0278-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d6baa1bd90e7e68ac69d5378d70174ea67bf35dc Mon Sep 17 00:00:00 2001 -From: James Hughes <james.hughes@raspberrypi.org> -Date: Mon, 29 Jul 2019 12:02:59 +0100 -Subject: [PATCH] Fixup FKMS interrupt handing for non-existent display - -If an errant interrupt flag was received from a non-existent display, -a NULL pointer access was made. Protect against this by checking if a -second display is present prior to checking the interrupt flags. ---- - drivers/gpu/drm/vc4/vc4_firmware_kms.c | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - ---- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c -+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -1087,14 +1087,17 @@ static irqreturn_t vc4_crtc_irq_handler( - vc4_crtc_handle_page_flip(crtc_list[0]); - } - -- /* Check for the secondary display too */ -- chan = readl(crtc_list[0]->regs + SMIDSW1); -+ if (crtc_list[1]) { -+ /* Check for the secondary display too */ -+ chan = readl(crtc_list[0]->regs + SMIDSW1); - -- if (chan & 1) { -- writel(SMI_NEW, crtc_list[0]->regs + SMIDSW1); -- if (crtc_list[1]->vblank_enabled) -- drm_crtc_handle_vblank(&crtc_list[1]->base); -- vc4_crtc_handle_page_flip(crtc_list[1]); -+ if (chan & 1) { -+ writel(SMI_NEW, crtc_list[0]->regs + SMIDSW1); -+ -+ if (crtc_list[1]->vblank_enabled) -+ drm_crtc_handle_vblank(&crtc_list[1]->base); -+ vc4_crtc_handle_page_flip(crtc_list[1]); -+ } - } - } - |