summaryrefslogtreecommitdiffstats
path: root/arch/i386
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2007-03-08 02:48:30 -0500
committerLen Brown <len.brown@intel.com>2007-03-08 02:48:30 -0500
commit74586fca38109d2fc75daf678635928f64b4ccec (patch)
tree9f0ea4e66b1c4de9cfedcd01548940a53268a5d6 /arch/i386
parent08e15e81a40e3241ce93b4a43886f3abda184aa6 (diff)
downloadlinux-74586fca38109d2fc75daf678635928f64b4ccec.tar.bz2
ACPI: fix Thinkpad 600/600E/600X interrupts
The root cause of this bug shows that this machine could not possibly run an ACPI-aware OS without a model specific workaround. http://bugzilla.kernel.org/show_bug.cgi?id=5966 Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/i386')
-rw-r--r--arch/i386/kernel/acpi/boot.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index e5eb97a910ed..9ea5b8ecc7e1 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -1072,7 +1072,28 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
"ASUS A7V ACPI BIOS Revision 1007"),
},
},
-
+ {
+ /*
+ * Latest BIOS for IBM 600E (1.16) has bad pcinum
+ * for LPC bridge, which is needed for the PCI
+ * interrupt links to work. DSDT fix is in bug 5966.
+ * 2645, 2646 model numbers are shared with 600/600E/600X
+ */
+ .callback = disable_acpi_irq,
+ .ident = "IBM Thinkpad 600 Series 2645",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
+ DMI_MATCH(DMI_BOARD_NAME, "2645"),
+ },
+ },
+ {
+ .callback = disable_acpi_irq,
+ .ident = "IBM Thinkpad 600 Series 2646",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
+ DMI_MATCH(DMI_BOARD_NAME, "2646"),
+ },
+ },
/*
* Boxes that need ACPI PCI IRQ routing and PCI scan disabled
*/