Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 166069
b: refs/heads/master
c: d46f5e4
h: refs/heads/master
i:
  166067: bc7371b
v: v3
  • Loading branch information
Robert Jarzmik authored and Eric Miao committed Sep 10, 2009
1 parent 96aa927 commit 7c7a8f4
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 43c6342b1562cc27d8ba1240220cb887ad0e36f0
refs/heads/master: d46f5e4a20867da84d12a35407cf7dcc8713c9cc
29 changes: 15 additions & 14 deletions trunk/arch/arm/plat-pxa/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,21 @@ EXPORT_SYMBOL(pxa_free_dma);
static irqreturn_t dma_irq_handler(int irq, void *dev_id)
{
int i, dint = DINT;

for (i = 0; i < num_dma_channels; i++) {
if (dint & (1 << i)) {
struct dma_channel *channel = &dma_channels[i];
if (channel->name && channel->irq_handler) {
channel->irq_handler(i, channel->data);
} else {
/*
* IRQ for an unregistered DMA channel:
* let's clear the interrupts and disable it.
*/
printk (KERN_WARNING "spurious IRQ for DMA channel %d\n", i);
DCSR(i) = DCSR_STARTINTR|DCSR_ENDINTR|DCSR_BUSERR;
}
struct dma_channel *channel;

while (dint) {
i = __ffs(dint);
dint &= (dint - 1);
channel = &dma_channels[i];
if (channel->name && channel->irq_handler) {
channel->irq_handler(i, channel->data);
} else {
/*
* IRQ for an unregistered DMA channel:
* let's clear the interrupts and disable it.
*/
printk (KERN_WARNING "spurious IRQ for DMA channel %d\n", i);
DCSR(i) = DCSR_STARTINTR|DCSR_ENDINTR|DCSR_BUSERR;
}
}
return IRQ_HANDLED;
Expand Down

0 comments on commit 7c7a8f4

Please sign in to comment.