--- /dev/null
+From 7bdd21cef9e5dbc3d3a718c55bb3d0da024644da Mon Sep 17 00:00:00 2001
+From: Len Brown <len.brown@intel.com>
+To: Linus Torvalds <torvalds@osdl.org>, stable@kernel.org
+Cc: Andrew Morton <akpm@osdl.org>, linux-acpi@vger.kernel.org
+Date: Sat, 2 Dec 2006 02:27:46 -0500
+Subject: Revert "ACPI: SCI interrupt source override"
+
+This reverts commit 281ea49b0c294649a6de47a6f8fbe5611137726b,
+which broke ACPI Interrupt source overrides that move
+the SCI from one IRQ in PIC mode to another in IOAPIC mode.
+
+If the SCI shared an interrupt line with another device,
+this would result in a "irq 18: nobody cared" type failure.
+
+http://bugzilla.kernel.org/show_bug.cgi?id=7601
+
+Signed-off-by: Len Brown <len.brown@intel.com>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ arch/i386/kernel/acpi/boot.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- linux-2.6.19.orig/arch/i386/kernel/acpi/boot.c
++++ linux-2.6.19/arch/i386/kernel/acpi/boot.c
+@@ -333,7 +333,7 @@ acpi_parse_ioapic(acpi_table_entry_heade
+ /*
+ * Parse Interrupt Source Override for the ACPI SCI
+ */
+-static void acpi_sci_ioapic_setup(u32 bus_irq, u32 gsi, u16 polarity, u16 trigger)
++static void acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
+ {
+ if (trigger == 0) /* compatible SCI trigger is level */
+ trigger = 3;
+@@ -353,13 +353,13 @@ static void acpi_sci_ioapic_setup(u32 bu
+ * If GSI is < 16, this will update its flags,
+ * else it will create a new mp_irqs[] entry.
+ */
+- mp_override_legacy_irq(bus_irq, polarity, trigger, gsi);
++ mp_override_legacy_irq(gsi, polarity, trigger, gsi);
+
+ /*
+ * stash over-ride to indicate we've been here
+ * and for later update of acpi_fadt
+ */
+- acpi_sci_override_gsi = bus_irq;
++ acpi_sci_override_gsi = gsi;
+ return;
+ }
+
+@@ -377,7 +377,7 @@ acpi_parse_int_src_ovr(acpi_table_entry_
+ acpi_table_print_madt_entry(header);
+
+ if (intsrc->bus_irq == acpi_fadt.sci_int) {
+- acpi_sci_ioapic_setup(intsrc->bus_irq, intsrc->global_irq,
++ acpi_sci_ioapic_setup(intsrc->global_irq,
+ intsrc->flags.polarity,
+ intsrc->flags.trigger);
+ return 0;
+@@ -880,7 +880,7 @@ static int __init acpi_parse_madt_ioapic
+ * pretend we got one so we can set the SCI flags.
+ */
+ if (!acpi_sci_override_gsi)
+- acpi_sci_ioapic_setup(acpi_fadt.sci_int, acpi_fadt.sci_int, 0, 0);
++ acpi_sci_ioapic_setup(acpi_fadt.sci_int, 0, 0);
+
+ /* Fill in identity legacy mapings where no override */
+ mp_config_acpi_legacy_irqs();