]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
x86/smp: perform disabling on interrupts ahead of AP shutdown
authorRoger Pau Monne <roger.pau@citrix.com>
Thu, 6 Feb 2025 11:20:04 +0000 (12:20 +0100)
committerRoger Pau Monne <roger.pau@citrix.com>
Wed, 12 Feb 2025 14:56:07 +0000 (15:56 +0100)
Move the disabling of interrupt sources so it's done ahead of the offlining
of APs.  This is to prevent AMD systems triggering "Receive accept error"
when interrupts target CPUs that are no longer online.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
xen/arch/x86/smp.c

index 1d3878826f074a94293b63ee7c32139f2ebdef6f..4d29a09a9a9599afbc6e534bfc790f9ed934fcf2 100644 (file)
@@ -374,6 +374,8 @@ void smp_send_stop(void)
         smp_call_function(stop_this_cpu, &stop_aps, 0);
 
     local_irq_disable();
+    disable_IO_APIC();
+    hpet_disable();
 
     if ( num_online_cpus() > 1 )
     {
@@ -389,8 +391,6 @@ void smp_send_stop(void)
 
     if ( cpu_online(cpu) )
     {
-        disable_IO_APIC();
-        hpet_disable();
         __stop_this_cpu();
         x2apic_enabled = (current_local_apic_mode() == APIC_MODE_X2APIC);
     }