On Thu, 15 Nov 2007 20:17:31 +0000, linux-mips@xxxxxxxxxxxxxx wrote: > Subject: [MIPS] irq_cpu: use handle_percpu_irq handler to avoid dropping interrupts. > Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Thu Nov 15 19:37:15 2007 +0000 > Commit: eebc88e5d2cffc07b969c8f426552a44e5ce51f8 > Gitweb: http://www.linux-mips.org/g/linux/eebc88e5 > Branch: master This might broke probe_irq_on()/probe_irq_off(), since handle_percpu_irq() does not check IRQ_WAITING bit. This is a quick fix. But I'm not sure where is the right place to fix... Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> --- diff --git a/arch/mips/kernel/irq_cpu.c b/arch/mips/kernel/irq_cpu.c index 0ee2567..9d97d4b 100644 --- a/arch/mips/kernel/irq_cpu.c +++ b/arch/mips/kernel/irq_cpu.c @@ -114,7 +114,9 @@ void __init mips_cpu_irq_init(void) for (i = irq_base; i < irq_base + 2; i++) set_irq_chip(i, &mips_mt_cpu_irq_controller); - for (i = irq_base + 2; i < irq_base + 8; i++) + for (i = irq_base + 2; i < irq_base + 8; i++) { set_irq_chip_and_handler(i, &mips_cpu_irq_controller, handle_percpu_irq); + irq_desc[i].status |= IRQ_NOPROBE; + } }