disable_irq() after request_irq() still has a time gap in which
interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
disable IRQ auto-enable when request IRQ.

Fixes: 9021c317b770 ("drm/imx: Add initial support for DCSS on iMX8MQ")
Signed-off-by: Jinjie Ruan <ruanjin...@huawei.com>
---
 drivers/gpu/drm/imx/dcss/dcss-crtc.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-crtc.c 
b/drivers/gpu/drm/imx/dcss/dcss-crtc.c
index 31267c00782f..af91e45b5d13 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-crtc.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-crtc.c
@@ -206,15 +206,13 @@ int dcss_crtc_init(struct dcss_crtc *crtc, struct 
drm_device *drm)
        if (crtc->irq < 0)
                return crtc->irq;
 
-       ret = request_irq(crtc->irq, dcss_crtc_irq_handler,
-                         0, "dcss_drm", crtc);
+       ret = request_irq(crtc->irq, dcss_crtc_irq_handler, IRQF_NO_AUTOEN,
+                         "dcss_drm", crtc);
        if (ret) {
                dev_err(dcss->dev, "irq request failed with %d.\n", ret);
                return ret;
        }
 
-       disable_irq(crtc->irq);
-
        return 0;
 }
 
-- 
2.34.1

Reply via email to