Commit b8d45999 authored by Sascha Hauer's avatar Sascha Hauer Committed by Russell King

[ARM PATCH] 2496/1: i.MX DMA fix

Patch from Sascha Hauer

This patch fixes the handling of the dma interrupt acknowledge register (DISR).
A DMA interrupt is acknowledged by setting the corresponding bit in
DISR. So we are not allowed to use |= on this register because we could
lose interrupts.
Sascha Hauer

Signed-off-by: Sascha Hauer
Signed-off-by: Russell King
parent 54077d3c
...@@ -136,7 +136,7 @@ dma_err_handler(int irq, void *dev_id, struct pt_regs *regs) ...@@ -136,7 +136,7 @@ dma_err_handler(int irq, void *dev_id, struct pt_regs *regs)
i, channel->name); i, channel->name);
DBOSR |= (1 << i); DBOSR |= (1 << i);
} }
DISR |= (1 << i); DISR = (1 << i);
} }
return IRQ_HANDLED; return IRQ_HANDLED;
} }
...@@ -158,10 +158,10 @@ dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) ...@@ -158,10 +158,10 @@ dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs)
*/ */
printk(KERN_WARNING printk(KERN_WARNING
"spurious IRQ for DMA channel %d\n", i); "spurious IRQ for DMA channel %d\n", i);
DISR |= (1 << i);
} }
} }
} }
DISR = disr;
return IRQ_HANDLED; return IRQ_HANDLED;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment