summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2009-06-15 22:26:33 +0400
committerIngo Molnar <mingo@elte.hu>2009-06-17 17:10:22 +0200
commit5ce4243dcefbbc43791ffc36e1be55067ceec916 (patch)
treede5792470221f709338b293346eb593774375c2f /arch/x86/kernel/cpu
parent203abd67b75f7714ce98ab0cdbd6cfd7ad79dec4 (diff)
downloadop-kernel-dev-5ce4243dcefbbc43791ffc36e1be55067ceec916.zip
op-kernel-dev-5ce4243dcefbbc43791ffc36e1be55067ceec916.tar.gz
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>
Diffstat (limited to 'arch/x86/kernel/cpu')
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce_intel.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel.c b/arch/x86/kernel/cpu/mcheck/mce_intel.c
index 2b011d2..61e3288 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_intel.c
+++ b/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
OpenPOWER on IntegriCloud