diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c index 60e448a..5f7cf32 100644 --- a/sys/dev/xen/control/control.c +++ b/sys/dev/xen/control/control.c @@ -404,8 +404,6 @@ xctrl_suspend() gnttab_resume(); #ifdef SMP - /* Send an IPI_BITMAP in case there are pending bitmap IPIs. */ - lapic_ipi_vectored(IPI_BITMAP_VECTOR, APIC_IPI_DEST_ALL); if (smp_started && !CPU_EMPTY(&cpu_suspend_map)) { /* * Now that event channels have been initialized, @@ -413,6 +411,8 @@ xctrl_suspend() */ resume_cpus(cpu_suspend_map); } + /* Send an IPI_BITMAP in case there are pending bitmap IPIs. */ + lapic_ipi_vectored(IPI_BITMAP_VECTOR, APIC_IPI_DEST_ALL); #endif /*