aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/acpi.c
diff options
context:
space:
mode:
authorPrarit Bhargava <prarit@redhat.com>2008-05-14 12:00:24 -0400
committerTony Luck <tony.luck@intel.com>2008-05-14 16:00:14 -0700
commit3fb2c74ee20b77affd494c6b8ce7928d0ebbb62e (patch)
treef349e016efe512dd7bdb06b619bc0d1c9f46b35b /arch/ia64/kernel/acpi.c
parent[IA64] Remove NULL pointer check for argument never passed as NULL. (diff)
downloadlinux-dev-3fb2c74ee20b77affd494c6b8ce7928d0ebbb62e.tar.xz
linux-dev-3fb2c74ee20b77affd494c6b8ce7928d0ebbb62e.zip
[IA64] Properly unregister legacy interrupts
acpi_unregister_gsi() should "undo" what acpi_register_gsi() does. On systems that have legacy interrupts, acpi_unregister_gsi erroneously calls iosapci_unregister_intr() which is wrong to do and causes a loud warning. acpi_unregister_gsi() should just return in these cases. Signed-off-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/acpi.c')
-rw-r--r--arch/ia64/kernel/acpi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index 6ff6815d34ef..853d1f11be00 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -627,6 +627,9 @@ void acpi_unregister_gsi(u32 gsi)
if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM)
return;
+ if (has_8259 && gsi < 16)
+ return;
+
iosapic_unregister_intr(gsi);
}