Commit db96b0a0 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Ingo Molnar

x86: do_boot_cpu - check if we have ESR register

Impact: fix APIC IRQ irregularities on certain older boxes

We should touch the APIC ESR register if only we have it.

The patch fixes the problem mentioned by Max Kellermann:

	http://lkml.org/lkml/2008/10/17/147Bisected-by: default avatarMax Kellermann <mk@cm4all.com>
Signed-off-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
[ mingo@elte.hu: build fix ]
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 8d433c40
...@@ -894,9 +894,11 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu) ...@@ -894,9 +894,11 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
/* /*
* Be paranoid about clearing APIC errors. * Be paranoid about clearing APIC errors.
*/ */
if (APIC_INTEGRATED(apic_version[boot_cpu_physical_apicid])) {
apic_write(APIC_ESR, 0); apic_write(APIC_ESR, 0);
apic_read(APIC_ESR); apic_read(APIC_ESR);
} }
}
/* /*
* Starting actual IPI sequence... * Starting actual IPI sequence...
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment