From: Bernhard Walle Add IRQF_IRQPOLL to timer interrupts on i386. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Alan Cox Signed-off-by: Andrew Morton --- arch/i386/mach-default/setup.c | 2 +- arch/i386/mach-visws/setup.c | 2 +- arch/i386/mach-voyager/setup.c | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff -puN arch/i386/mach-default/setup.c~add-irqf_irqpoll-flag-on-i386 arch/i386/mach-default/setup.c --- a/arch/i386/mach-default/setup.c~add-irqf_irqpoll-flag-on-i386 +++ a/arch/i386/mach-default/setup.c @@ -81,7 +81,7 @@ void __init trap_init_hook(void) static struct irqaction irq0 = { .handler = timer_interrupt, - .flags = IRQF_DISABLED | IRQF_NOBALANCING, + .flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_IRQPOLL, .mask = CPU_MASK_NONE, .name = "timer" }; diff -puN arch/i386/mach-visws/setup.c~add-irqf_irqpoll-flag-on-i386 arch/i386/mach-visws/setup.c --- a/arch/i386/mach-visws/setup.c~add-irqf_irqpoll-flag-on-i386 +++ a/arch/i386/mach-visws/setup.c @@ -116,7 +116,7 @@ void __init pre_setup_arch_hook() static struct irqaction irq0 = { .handler = timer_interrupt, - .flags = IRQF_DISABLED, + .flags = IRQF_DISABLED | IRQF_IRQPOLL, .name = "timer", }; diff -puN arch/i386/mach-voyager/setup.c~add-irqf_irqpoll-flag-on-i386 arch/i386/mach-voyager/setup.c --- a/arch/i386/mach-voyager/setup.c~add-irqf_irqpoll-flag-on-i386 +++ a/arch/i386/mach-voyager/setup.c @@ -40,7 +40,12 @@ void __init trap_init_hook(void) { } -static struct irqaction irq0 = { timer_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "timer", NULL, NULL}; +static struct irqaction irq0 = { + .handler = timer_interrupt, + .flags = IRQF_DISABLED | IRQF_IRQPOLL, + .mask = CPU_MASK_NONE, + .name = "timer" +}; void __init time_init_hook(void) { _