Skip to content

Commit b7ab6e3

Browse files
committed
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86/apic fix from Ingo Molnar: "A single fix to the IO-APIC / local-APIC shutdown sequence" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic: Disable I/O APIC before shutdown of the local APIC
2 parents 8709382 + 522e664 commit b7ab6e3

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

arch/x86/kernel/crash.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,12 @@ void native_machine_crash_shutdown(struct pt_regs *regs)
127127
cpu_emergency_vmxoff();
128128
cpu_emergency_svm_disable();
129129

130-
lapic_shutdown();
131130
#ifdef CONFIG_X86_IO_APIC
132131
/* Prevent crash_kexec() from deadlocking on ioapic_lock. */
133132
ioapic_zap_locks();
134133
disable_IO_APIC();
135134
#endif
135+
lapic_shutdown();
136136
#ifdef CONFIG_HPET_TIMER
137137
hpet_disable();
138138
#endif

arch/x86/kernel/reboot.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,10 @@ static void native_machine_emergency_restart(void)
550550
void native_machine_shutdown(void)
551551
{
552552
/* Stop the cpus and apics */
553+
#ifdef CONFIG_X86_IO_APIC
554+
disable_IO_APIC();
555+
#endif
556+
553557
#ifdef CONFIG_SMP
554558
/*
555559
* Stop all of the others. Also disable the local irq to
@@ -562,10 +566,6 @@ void native_machine_shutdown(void)
562566

563567
lapic_shutdown();
564568

565-
#ifdef CONFIG_X86_IO_APIC
566-
disable_IO_APIC();
567-
#endif
568-
569569
#ifdef CONFIG_HPET_TIMER
570570
hpet_disable();
571571
#endif

0 commit comments

Comments
 (0)