x86/apic: Disable I/O APIC before shutdown of the local APIC
authorFenghua Yu <fenghua.yu@intel.com>
Thu, 24 Oct 2013 01:30:12 +0000 (18:30 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 3 Jan 2014 04:33:18 +0000 (04:33 +0000)
commitd8c3245c97490cb68ceaa983b5fce19055b4e331
tree0e340f0ab55f74bcf776bd90c52a0d2d2a711e23
parenta3e38398c95c83c06c1b8028e406f3aca23ec43d
x86/apic: Disable I/O APIC before shutdown of the local APIC

commit 522e66464467543c0d88d023336eec4df03ad40b upstream.

In reboot and crash path, when we shut down the local APIC, the I/O APIC is
still active. This may cause issues because external interrupts
can still come in and disturb the local APIC during shutdown process.

To quiet external interrupts, disable I/O APIC before shutdown local APIC.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Link: http://lkml.kernel.org/r/1382578212-4677-1-git-send-email-fenghua.yu@intel.com
[ I suppose the 'issue' is a hang during shutdown. It's a fine change nevertheless. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/x86/kernel/crash.c
arch/x86/kernel/reboot.c