> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index d93f87f29d03..cc64d61f82cf 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -2456,6 +2456,12 @@ static void lapic_resume(void *data)
> if (x2apic_mode) {
> __x2apic_enable();
> } else {
> + /*
> + * x2apic may have been re-enabled by the
> + * firmware on resuming from s2ram
> + */
> + __x2apic_disable();
> +
We should likely only disable x2apic on platforms that support it and
need the disabling. How about?
...
} else {
/*
*
*/
if (x2apic_enabled())
__x2apic_disable();
I considered if an error message should be printed along with this. But,
I am not sure if it can really be called a firmware issue. It's probably
just that newer CPUs might have started defaulting to x2apic on.
Can you specify what platform you are encountering this?