]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dmaengine: fsl-edma: Fix return code for unhandled interrupts
authorStefan Wahren <wahrenst@gmx.net>
Thu, 24 Apr 2025 11:48:29 +0000 (13:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 May 2025 09:13:56 +0000 (11:13 +0200)
[ Upstream commit 5e27af0514e2249a9ccc9a762abd3b74e03a1f90 ]

For fsl,imx93-edma4 two DMA channels share the same interrupt.
So in case fsl_edma3_tx_handler is called for the "wrong"
channel, the return code must be IRQ_NONE. This signalize that
the interrupt wasn't handled.

Fixes: 72f5801a4e2b ("dmaengine: fsl-edma: integrate v3 support")
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Joy Zou <joy.zou@nxp.com>
Link: https://lore.kernel.org/r/20250424114829.9055-1-wahrenst@gmx.net
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/dma/fsl-edma-main.c

index e3e0e88a76d3c37b82d9b56d4e2297333bab79bf..619403c6e5173767d357b11d55d98e3c25b07eae 100644 (file)
@@ -57,7 +57,7 @@ static irqreturn_t fsl_edma3_tx_handler(int irq, void *dev_id)
 
        intr = edma_readl_chreg(fsl_chan, ch_int);
        if (!intr)
-               return IRQ_HANDLED;
+               return IRQ_NONE;
 
        edma_writel_chreg(fsl_chan, 1, ch_int);