From: Andi Kleen Date: Wed, 30 Aug 2006 17:37:17 +0000 (+0200) Subject: [PATCH] i386: Fix stack switching in do_IRQ X-Git-Tag: v2.6.18-rc6~42 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=266f0566761cf88906d634727b3d9fc2556f5cbd;p=linux-2.6 [PATCH] i386: Fix stack switching in do_IRQ There was a bogus hunk from the genirq merge that essentially broke stack switching for hard interrupts. Remove it since it isn't needed. Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds --- diff --git a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c index 6cb529f60d..5fe547cd8f 100644 --- a/arch/i386/kernel/irq.c +++ b/arch/i386/kernel/irq.c @@ -82,10 +82,6 @@ fastcall unsigned int do_IRQ(struct pt_regs *regs) } #endif - if (!irq_desc[irq].handle_irq) { - __do_IRQ(irq, regs); - goto out_exit; - } #ifdef CONFIG_4KSTACKS curctx = (union irq_ctx *) current_thread_info(); @@ -125,7 +121,6 @@ fastcall unsigned int do_IRQ(struct pt_regs *regs) #endif __do_IRQ(irq, regs); -out_exit: irq_exit(); return 1;