Просмотр исходного кода

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>
Linus Torvalds 11 лет назад
Родитель
Сommit
8329aa9fff
1 измененных файлов с 1 добавлено и 2 удалено
  1. 1 2
      arch/x86/kernel/apic/apic.c

+ 1 - 2
arch/x86/kernel/apic/apic.c

@@ -1580,8 +1580,7 @@ static __init void try_to_enable_x2apic(int remap_mode)
 		 * under KVM
 		 * under KVM
 		 */
 		 */
 		if (max_physical_apicid > 255 ||
 		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");
 			pr_info("x2apic: IRQ remapping doesn't support X2APIC mode\n");
 			x2apic_disable();
 			x2apic_disable();
 			return;
 			return;