diff options
author | Prarit Bhargava <prarit@redhat.com> | 2008-05-14 12:00:24 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-05-14 16:00:14 -0700 |
commit | 3fb2c74ee20b77affd494c6b8ce7928d0ebbb62e (patch) | |
tree | f349e016efe512dd7bdb06b619bc0d1c9f46b35b /arch/ia64/kernel | |
parent | 7af1d7532b6cf905230c72c67ad85a480b122374 (diff) | |
download | blackbird-op-linux-3fb2c74ee20b77affd494c6b8ce7928d0ebbb62e.tar.gz blackbird-op-linux-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')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 3 |
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); } |