Despite its name, the irq{save,restore}() APIs are only intended to
conditionally disable and re-enable interrupts.IO-APIC's timer_irq_works() violates this intention. As it is init code, switch to simple irq enable/disable(). No functional change. Signed-off-by: Andrew Cooper <[email protected]> --- CC: Jan Beulich <[email protected]> CC: Roger Pau Monné <[email protected]> CC: Wei Liu <[email protected]> This is a logical equivelent to Linux's 058df195c2 "x86/ioapic: Cleanup the timer_works() irqflags mess", but we've diverged far enough for the patch to not be remotely relevant. --- xen/arch/x86/io_apic.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c index 9b8a972cf570..199098fa3e0f 100644 --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -1502,15 +1502,14 @@ static void __init setup_ioapic_ids_from_mpc(void) */ static int __init timer_irq_works(void) { - unsigned long t1, flags; + unsigned long t1; t1 = ACCESS_ONCE(pit0_ticks); - local_save_flags(flags); local_irq_enable(); /* Let ten ticks pass... */ mdelay((10 * 1000) / HZ); - local_irq_restore(flags); + local_irq_disable(); /* * Expect a few ticks at least, to be sure some possible -- 2.30.2
