summaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/io_apic.c
diff options
context:
space:
mode:
authorAndreas Deresch2006-02-26 04:18:34 +0100
committerLinus Torvalds2006-02-26 18:53:30 +0100
commit6070f9ec6b03cc46cd0242523326f7a296f47c1c (patch)
treeba976c8458cfc2429d32883141170bbc4dfd5049 /arch/i386/kernel/io_apic.c
parent[PATCH] x86_64: Only do the clustered systems have unsynchronized TSC assumpt... (diff)
downloadkernel-qcow2-linux-6070f9ec6b03cc46cd0242523326f7a296f47c1c.tar.gz
kernel-qcow2-linux-6070f9ec6b03cc46cd0242523326f7a296f47c1c.tar.xz
kernel-qcow2-linux-6070f9ec6b03cc46cd0242523326f7a296f47c1c.zip
[PATCH] i386: Handle non existing APICs without panicing
[description from AK] This fixes booting in APIC mode on some ACER laptops. x86-64 did a similar change some time ago. See http://bugzilla.kernel.org/show_bug.cgi?id=4700 for details Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/io_apic.c')
-rw-r--r--arch/i386/kernel/io_apic.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c
index f2dd218d88cb..235822b3f41b 100644
--- a/arch/i386/kernel/io_apic.c
+++ b/arch/i386/kernel/io_apic.c
@@ -2566,8 +2566,10 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id)
spin_unlock_irqrestore(&ioapic_lock, flags);
/* Sanity check */
- if (reg_00.bits.ID != apic_id)
- panic("IOAPIC[%d]: Unable change apic_id!\n", ioapic);
+ if (reg_00.bits.ID != apic_id) {
+ printk("IOAPIC[%d]: Unable to change apic_id!\n", ioapic);
+ return -1;
+ }
}
apic_printk(APIC_VERBOSE, KERN_INFO