aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-02-13 13:26:18 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-13 13:26:18 -0500
commit8329aa9fff3fca84009e6a444d8d160193643bac (patch)
tree7c2287287e44498561e77d9556a99cabc0ead4f6 /arch/x86/kernel/apic
parentb9085bcbf5f43adf60533f9b635b2e7faeed0fe9 (diff)
Revert "x86/apic: Only disable CPU x2apic mode when necessary"
This reverts commit 5fcee53ce705d49c766f8a302c7e93bdfc33c124. It causes the suspend to fail on at least the Chromebook Pixel, possibly other platforms too. Joerg Roedel points out that the logic should probably have been if (max_physical_apicid > 255 || !(IS_ENABLED(CONFIG_HYPERVISOR_GUEST) && hypervisor_x2apic_available())) { instead, but since the code is not in any fast-path, so we can just live without that optimization and just revert to the original code. Acked-by: Joerg Roedel <joro@8bytes.org> Acked-by: Jiang Liu <jiang.liu@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/kernel/apic')
-rw-r--r--arch/x86/kernel/apic/apic.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index b665d241efad..ad3639ae1b9b 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1580,8 +1580,7 @@ static __init void try_to_enable_x2apic(int remap_mode)
1580 * under KVM 1580 * under KVM
1581 */ 1581 */
1582 if (max_physical_apicid > 255 || 1582 if (max_physical_apicid > 255 ||
1583 (IS_ENABLED(CONFIG_HYPERVISOR_GUEST) && 1583 !hypervisor_x2apic_available()) {
1584 !hypervisor_x2apic_available())) {
1585 pr_info("x2apic: IRQ remapping doesn't support X2APIC mode\n"); 1584 pr_info("x2apic: IRQ remapping doesn't support X2APIC mode\n");
1586 x2apic_disable(); 1585 x2apic_disable();
1587 return; 1586 return;