diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-13 13:26:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-13 13:26:18 -0500 |
commit | 8329aa9fff3fca84009e6a444d8d160193643bac (patch) | |
tree | 7c2287287e44498561e77d9556a99cabc0ead4f6 /arch/x86/kernel/apic | |
parent | b9085bcbf5f43adf60533f9b635b2e7faeed0fe9 (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.c | 3 |
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; |