summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-sa1100/neponset.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-06-13 20:28:05 -0400
committerJeff Garzik <jeff@garzik.org>2006-06-13 20:28:05 -0400
commitdb9ca5803566078aafe63cf364ef98b5097e4194 (patch)
treece330cdf21728f00801004e3900c79e4195cd516 /arch/arm/mach-sa1100/neponset.c
parentbf717b11aec20965d48dea36dea3eea18a75d18c (diff)
parenteb35cf60e462491249166182e3e755d3d5d91a28 (diff)
Merge branch 'master' into upstream
Diffstat (limited to 'arch/arm/mach-sa1100/neponset.c')
-rw-r--r--arch/arm/mach-sa1100/neponset.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c
index 9e02bc3712a..af6d2775cf8 100644
--- a/arch/arm/mach-sa1100/neponset.c
+++ b/arch/arm/mach-sa1100/neponset.c
@@ -59,6 +59,14 @@ neponset_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg
if (irr & (IRR_ETHERNET | IRR_USAR)) {
desc->chip->mask(irq);
+ /*
+ * Ack the interrupt now to prevent re-entering
+ * this neponset handler. Again, this is safe
+ * since we'll check the IRR register prior to
+ * leaving.
+ */
+ desc->chip->ack(irq);
+
if (irr & IRR_ETHERNET) {
d = irq_desc + IRQ_NEPONSET_SMC9196;
desc_handle_irq(IRQ_NEPONSET_SMC9196, d, regs);