Эх сурвалжийг харах

[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>
Prarit Bhargava 17 жил өмнө
parent
commit
3fb2c74ee2

+ 3 - 0
arch/ia64/kernel/acpi.c

@@ -627,6 +627,9 @@ void acpi_unregister_gsi(u32 gsi)
 	if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM)
 	if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM)
 		return;
 		return;
 
 
+	if (has_8259 && gsi < 16)
+		return;
+
 	iosapic_unregister_intr(gsi);
 	iosapic_unregister_intr(gsi);
 }
 }