This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: rkisp1: Fix IRQ handler return values
Author:  Tomi Valkeinen <tomi.valkei...@ideasonboard.com>
Date:    Thu Dec 7 08:57:46 2023 +0100

The IRQ handler rkisp1_isr() calls sub-handlers, all of which returns an
irqreturn_t value, but rkisp1_isr() ignores those values and always
returns IRQ_HANDLED.

Fix this by collecting the return values, and returning IRQ_HANDLED or
IRQ_NONE as appropriate.

Link: 
https://lore.kernel.org/r/20231207-rkisp-irq-fix-v3-2-358a2c871...@ideasonboard.com

Tested-by: Adam Ford <aford...@gmail.com>  #imx8mp-beacon
Signed-off-by: Tomi Valkeinen <tomi.valkei...@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mche...@kernel.org>

 drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

---

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c 
b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
index b676db9bff62..7b8a361d4c4a 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
@@ -442,17 +442,25 @@ error:
 
 static irqreturn_t rkisp1_isr(int irq, void *ctx)
 {
+       irqreturn_t ret = IRQ_NONE;
+
        /*
         * Call rkisp1_capture_isr() first to handle the frame that
         * potentially completed using the current frame_sequence number before
         * it is potentially incremented by rkisp1_isp_isr() in the vertical
         * sync.
         */
-       rkisp1_capture_isr(irq, ctx);
-       rkisp1_isp_isr(irq, ctx);
-       rkisp1_csi_isr(irq, ctx);
 
-       return IRQ_HANDLED;
+       if (rkisp1_capture_isr(irq, ctx) == IRQ_HANDLED)
+               ret = IRQ_HANDLED;
+
+       if (rkisp1_isp_isr(irq, ctx) == IRQ_HANDLED)
+               ret = IRQ_HANDLED;
+
+       if (rkisp1_csi_isr(irq, ctx) == IRQ_HANDLED)
+               ret = IRQ_HANDLED;
+
+       return ret;
 }
 
 static const char * const px30_isp_clks[] = {

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to