Merge branch 'x86/cleanups' into x86/cpu, to pick up dependent changes
[linux-2.6-block.git] / arch / x86 / kernel / apic / apic.c
index 1026138eb8304b037e688dfcff12360e09065e1f..78f7e763f2cd7c8d2763d0d943049474bbf83adf 100644 (file)
@@ -1179,6 +1179,10 @@ void clear_local_APIC(void)
        apic_write(APIC_LVT0, v | APIC_LVT_MASKED);
        v = apic_read(APIC_LVT1);
        apic_write(APIC_LVT1, v | APIC_LVT_MASKED);
+       if (!x2apic_enabled()) {
+               v = apic_read(APIC_LDR) & ~APIC_LDR_MASK;
+               apic_write(APIC_LDR, v);
+       }
        if (maxlvt >= 4) {
                v = apic_read(APIC_LVTPC);
                apic_write(APIC_LVTPC, v | APIC_LVT_MASKED);