From: Jie Yang Date: Thu, 5 Mar 2015 06:08:08 +0000 (+0800) Subject: dmaengine: dw: don't handle interrupt when dmaengine is not used X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=94b3eed7b8a4311f56a86b36430e9068b596ada4;p=openwrt%2Fstaging%2Fblogic.git dmaengine: dw: don't handle interrupt when dmaengine is not used 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 Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c index 455b7a4f1e87..a8ad05291b27 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; /*