X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fkernel%2Firq.c;h=ff187f4308f01ec786056f07b82299d8adf90cb2;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hp=7d07277e617e341594aa0055f37adb553fb0770b;hpb=e3f6fb6212a7102bdb56ba38fa1e98fe72950475;p=linux-2.6.git diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 7d07277e6..ff187f430 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -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(); }