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
i, channel->name);
DBOSR |= (1 << i);
}
- DISR |= (1 << i);
+ DISR = (1 << i);
}
return IRQ_HANDLED;
}
*/
printk(KERN_WARNING
"spurious IRQ for DMA channel %d\n", i);
- DISR |= (1 << i);
}
}
}
+ DISR = disr;
return IRQ_HANDLED;
}