diff mbox

dma: shdma: add checking the DMAOR_AE in sh_dmae_err

Message ID 4D523980.2080309@renesas.com (mailing list archive)
State Superseded
Headers show

Commit Message

Yoshihiro Shimoda Feb. 9, 2011, 6:51 a.m. UTC
None
diff mbox

Patch

diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c
index 28720d3..588b92f 100644
--- a/drivers/dma/shdma.c
+++ b/drivers/dma/shdma.c
@@ -865,7 +865,12 @@  static unsigned int sh_dmae_reset(struct sh_dmae_device *shdev)

 static irqreturn_t sh_dmae_err(int irq, void *data)
 {
-	return IRQ_RETVAL(sh_dmae_reset(data));
+	struct sh_dmae_device *shdev = (struct sh_dmae_device *)data;
+
+	if (dmaor_read(shdev) & DMAOR_AE)
+		return IRQ_RETVAL(sh_dmae_reset(data));
+	else
+		return IRQ_NONE;
 }

 static void dmae_do_tasklet(unsigned long data)