dma: shdma: add checking the DMAOR_AE in sh_dmae_err
The irq numbers of tranfer end and address error are assigned same number on some CPU. So the sh_dmae_err() should check the AE flag in DMAOR. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
89078d572e
commit
ff7690b48a
|
@ -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)
|
static irqreturn_t sh_dmae_err(int irq, void *data)
|
||||||
{
|
{
|
||||||
|
struct sh_dmae_device *shdev = data;
|
||||||
|
|
||||||
|
if (dmaor_read(shdev) & DMAOR_AE)
|
||||||
return IRQ_RETVAL(sh_dmae_reset(data));
|
return IRQ_RETVAL(sh_dmae_reset(data));
|
||||||
|
else
|
||||||
|
return IRQ_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dmae_do_tasklet(unsigned long data)
|
static void dmae_do_tasklet(unsigned long data)
|
||||||
|
|
Loading…
Reference in New Issue