exit
fi
done
+--- a/arch/x86/kernel/acpi/boot.c
++++ b/arch/x86/kernel/acpi/boot.c
+@@ -604,14 +604,18 @@ void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger)
+
+ int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp)
+ {
+- int irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC | IOAPIC_MAP_CHECK);
++ int irq;
+
+- if (irq >= 0) {
++ if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) {
++ *irqp = gsi;
++ } else {
++ irq = mp_map_gsi_to_irq(gsi,
++ IOAPIC_MAP_ALLOC | IOAPIC_MAP_CHECK);
++ if (irq < 0)
++ return -1;
+ *irqp = irq;
+- return 0;
+ }
+-
+- return -1;
++ return 0;
+ }
+ EXPORT_SYMBOL_GPL(acpi_gsi_to_irq);
+
+--