Переглянути джерело

x86: mce: Don't touch THERMAL_APIC_VECTOR if no active APIC present

If APIC was disabled (for some reason) and as result
it's not even mapped we should not try to enable thermal
interrupts at all.

Reported-by: Simon Holm Thøgersen <odie@cs.aau.dk>
Tested-by: Simon Holm Thøgersen <odie@cs.aau.dk>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
LKML-Reference: <20090615182633.GA7606@lenovo>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cyrill Gorcunov 16 роки тому
батько
коміт
5ce4243dce
1 змінених файлів з 8 додано та 2 видалено
  1. 8 2
      arch/x86/kernel/cpu/mcheck/mce_intel.c

+ 8 - 2
arch/x86/kernel/cpu/mcheck/mce_intel.c

@@ -21,9 +21,15 @@ void intel_init_thermal(struct cpuinfo_x86 *c)
 	int tm2 = 0;
 	u32 l, h;
 
-	/* Thermal monitoring depends on ACPI and clock modulation*/
-	if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC))
+	/*
+	 * Thermal monitoring depends on ACPI, clock modulation
+	 * and APIC as well
+	 */
+	if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC) ||
+		!cpu_has(c, X86_FEATURE_APIC)) {
+		pr_debug("Thermal monitoring disabled\n");
 		return;
+	}
 
 	/*
 	 * First check if its enabled already, in which case there might