Revert "x86/apic: Only disable CPU x2apic mode when necessary"
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 13 Feb 2015 18:26:18 +0000 (10:26 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 13 Feb 2015 18:26:18 +0000 (10:26 -0800)
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>
arch/x86/kernel/apic/apic.c

index b665d241efaddc6e34880897db45b8de669ed2e0..ad3639ae1b9b50a71ff224faaf96e05302eccd9f 100644 (file)
@@ -1580,8 +1580,7 @@ static __init void try_to_enable_x2apic(int remap_mode)
                 * under KVM
                 */
                if (max_physical_apicid > 255 ||
-                   (IS_ENABLED(CONFIG_HYPERVISOR_GUEST) &&
-                    !hypervisor_x2apic_available())) {
+                   !hypervisor_x2apic_available()) {
                        pr_info("x2apic: IRQ remapping doesn't support X2APIC mode\n");
                        x2apic_disable();
                        return;