[linux-yocto] [PATCH 34/34] dmaengine: dw: don't handle interrupt when dmaengine is not used

wei.tee.ng at intel.com wei.tee.ng at intel.com
Mon Apr 27 20:20:59 PDT 2015

From: Jie Yang <yang.jie at intel.com>

When dma controller is not used by any user and set off,
we should disble interrupt handler, at least the interrupt
reset part, for some subsystem, e.g. ADSP, may use the
dma in its own logic, here reset the interrupt may make
this subsystem work abnormally.

Signed-off-by: Jie Yang <yang.jie at intel.com>
Signed-off-by: Vinod Koul <vinod.koul at intel.com>
(cherry picked from commit 94b3eed7b8a4311f56a86b36430e9068b596ada4)

Signed-off-by: Ng Wei Tee <wei.tee.ng at intel.com>
 drivers/dma/dw/core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
index 455b7a4..a8ad052 100644
--- a/drivers/dma/dw/core.c
+++ b/drivers/dma/dw/core.c
@@ -626,7 +626,7 @@ static irqreturn_t dw_dma_interrupt(int irq, void *dev_id)
 	dev_vdbg(dw->dma.dev, "%s: status=0x%x\n", __func__, status);
 	/* Check if we have any interrupt from the DMAC */
-	if (!status)
+	if (!status || !dw->in_use)
 		return IRQ_NONE;

More information about the linux-yocto mailing list