Re: WARNING: at arch/x86/kernel/apic/apic.c:249native_apic_write_dummy

From: Cyrill Gorcunov
Date: Wed Jun 17 2009 - 11:53:56 EST


[Vegard Nossum - Wed, Jun 17, 2009 at 05:46:18PM +0200]
| 2009/6/17 Cyrill Gorcunov <gorcunov@xxxxxxxxx>:
| > [Vegard Nossum - Wed, Jun 17, 2009 at 05:11:20PM +0200]
| > | Hi,
| > |
| > | I just saw this warning on latest mainline when shutting down a box:
| [...]
|
| > Thanks Vegard, will take a look.
|
| I've attached full boot log (it's a different boot though).
|
|
| Vegard
...

Vegard, could you test the patch?

-- Cyrill
---

If we have apic disabled we don't even switch to APIC mode and do not
calling for connect_bsp_APIC. Though on SMP compiled kernel the
native_machine_shutdown does try to write the apic register anyway.
Fix it with explicit check if we really should touch apic registers.

Reported-by: Vegard Nossum <vegard.nossum@xxxxxxxxx>
Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
---
arch/x86/kernel/apic/io_apic.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Index: linux-2.6.git/arch/x86/kernel/apic/io_apic.c
=====================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic/io_apic.c
+++ linux-2.6.git/arch/x86/kernel/apic/io_apic.c
@@ -2003,7 +2003,9 @@ void disable_IO_APIC(void)
/*
* Use virtual wire A mode when interrupt remapping is enabled.
*/
- disconnect_bsp_APIC(!intr_remapping_enabled && ioapic_i8259.pin != -1);
+ if (cpu_has_apic)
+ disconnect_bsp_APIC(!intr_remapping_enabled &&
+ ioapic_i8259.pin != -1);
}

#ifdef CONFIG_X86_32
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/