xen: register timer interrupt with IRQF_TIMER
authorIan Campbell <ian.campbell@citrix.com>
Tue, 24 Nov 2009 10:16:23 +0000 (10:16 +0000)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Thu, 3 Dec 2009 19:14:52 +0000 (11:14 -0800)
Otherwise the timer is disabled by dpm_suspend_noirq() which in turn prevents
correct operation of stop_machine on multi-processor systems and breaks
suspend.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Stable Kernel <stable@kernel.org>
arch/x86/xen/time.c

index 6bbff94328d221cc6d7d11fe3170fd97a661eb87..9d1f853120d859cfc814e0f2eaa2e01b3f1575e8 100644 (file)
@@ -434,7 +434,7 @@ void xen_setup_timer(int cpu)
                name = "<timer kasprintf failed>";
 
        irq = bind_virq_to_irqhandler(VIRQ_TIMER, cpu, xen_timer_interrupt,
-                                     IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+                                     IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING|IRQF_TIMER,
                                      name, NULL);
 
        evt = &per_cpu(xen_clock_events, cpu);