Skip to content

Commit 2763826

Browse files
ADESTMvinodkoul
authored andcommitted
dmaengine: stm32-mdma: use dev_dbg on non-busy channel spurious it
If interrupt occurs while !chan->busy, it means channel has been disabled between the raise of the interruption and the read of status and ien, so, spurious interrupt can be silently discarded. Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com> Link: https://lore.kernel.org/r/20220504155322.121431-4-amelie.delaunay@foss.st.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
1 parent da3b8dd commit 2763826

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

drivers/dma/stm32-mdma.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,9 +1345,12 @@ static irqreturn_t stm32_mdma_irq_handler(int irq, void *devid)
13451345

13461346
if (!(status & ien)) {
13471347
spin_unlock(&chan->vchan.lock);
1348-
dev_warn(chan2dev(chan),
1349-
"spurious it (status=0x%04x, ien=0x%04x)\n",
1350-
status, ien);
1348+
if (chan->busy)
1349+
dev_warn(chan2dev(chan),
1350+
"spurious it (status=0x%04x, ien=0x%04x)\n", status, ien);
1351+
else
1352+
dev_dbg(chan2dev(chan),
1353+
"spurious it (status=0x%04x, ien=0x%04x)\n", status, ien);
13511354
return IRQ_NONE;
13521355
}
13531356

0 commit comments

Comments
 (0)