vserver 2.0 rc7
[linux-2.6.git] / arch / arm / kernel / irq.c
index 7d07277..ff187f4 100644 (file)
@@ -55,6 +55,13 @@ static LIST_HEAD(irq_pending);
 struct irqdesc irq_desc[NR_IRQS];
 void (*init_arch_irq)(void) __initdata = NULL;
 
+/*
+ * No architecture-specific irq_finish function defined in arm/arch/irqs.h.
+ */
+#ifndef irq_finish
+#define irq_finish(irq) do { } while (0)
+#endif
+
 /*
  * Dummy mask/unmask handler
  */
@@ -532,6 +539,8 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)
        if (!list_empty(&irq_pending))
                do_pending_irqs(regs);
 
+       irq_finish(irq);
+
        spin_unlock(&irq_controller_lock);
        irq_exit();
 }