Commit e0fb7100 authored by Ian Campbell's avatar Ian Campbell Committed by Russell King

[ARM PATCH] 2219/2: Ignore IRQ_NONE for edge triggered interrupts

Patch from Ian Campbell

As discussed on the ARM Linux kernel mailing list. With edge triggered interrupts it is impossible to avoid spurious interrupts and so it makes sense to just ignore IRQ_NONE return values in this case. 

Signed-off-by: Ian Campbell 
Signed-off-by: Russell King
parent 261aa16e
...@@ -376,7 +376,6 @@ do_edge_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) ...@@ -376,7 +376,6 @@ do_edge_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
do { do {
struct irqaction *action; struct irqaction *action;
int ret;
action = desc->action; action = desc->action;
if (!action) if (!action)
...@@ -387,9 +386,7 @@ do_edge_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) ...@@ -387,9 +386,7 @@ do_edge_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
desc->chip->unmask(irq); desc->chip->unmask(irq);
} }
ret = __do_irq(irq, action, regs); __do_irq(irq, action, regs);
if (ret != IRQ_HANDLED)
report_bad_irq(irq, regs, desc, ret);
} while (desc->pending && !desc->disable_depth); } while (desc->pending && !desc->disable_depth);
desc->running = 0; desc->running = 0;
......
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