mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
dmaengine: axi-dmac: Return IRQ_NONE if no IRQs are pending
Return IRQ_NONE in the interrupt handler when it is called but no IRQs are pending. This allows the system to recover in case of an interrupt storm e.g. due to a wrong interrupt configuration setup. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
50dc60a255
commit
71831f6529
@ -270,6 +270,9 @@ static irqreturn_t axi_dmac_interrupt_handler(int irq, void *devid)
|
||||
unsigned int pending;
|
||||
|
||||
pending = axi_dmac_read(dmac, AXI_DMAC_REG_IRQ_PENDING);
|
||||
if (!pending)
|
||||
return IRQ_NONE;
|
||||
|
||||
axi_dmac_write(dmac, AXI_DMAC_REG_IRQ_PENDING, pending);
|
||||
|
||||
spin_lock(&dmac->chan.vchan.lock);
|
||||
|
Loading…
Reference in New Issue
Block a user