diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index ddddaed91872..4433a4be8171 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -408,10 +408,6 @@ static int mp_register_gsi(struct device *dev, u32 gsi, int trigger, | |||
408 | if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC) | 408 | if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC) |
409 | return gsi; | 409 | return gsi; |
410 | 410 | ||
411 | /* Don't set up the ACPI SCI because it's already set up */ | ||
412 | if (acpi_gbl_FADT.sci_interrupt == gsi) | ||
413 | return mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC); | ||
414 | |||
415 | trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1; | 411 | trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1; |
416 | polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1; | 412 | polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1; |
417 | node = dev ? dev_to_node(dev) : NUMA_NO_NODE; | 413 | node = dev ? dev_to_node(dev) : NUMA_NO_NODE; |
@@ -424,7 +420,8 @@ static int mp_register_gsi(struct device *dev, u32 gsi, int trigger, | |||
424 | if (irq < 0) | 420 | if (irq < 0) |
425 | return irq; | 421 | return irq; |
426 | 422 | ||
427 | if (enable_update_mptable) | 423 | /* Don't set up the ACPI SCI because it's already set up */ |
424 | if (enable_update_mptable && acpi_gbl_FADT.sci_interrupt != gsi) | ||
428 | mp_config_acpi_gsi(dev, gsi, trigger, polarity); | 425 | mp_config_acpi_gsi(dev, gsi, trigger, polarity); |
429 | 426 | ||
430 | return irq; | 427 | return irq; |
@@ -437,9 +434,6 @@ static void mp_unregister_gsi(u32 gsi) | |||
437 | if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC) | 434 | if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC) |
438 | return; | 435 | return; |
439 | 436 | ||
440 | if (acpi_gbl_FADT.sci_interrupt == gsi) | ||
441 | return; | ||
442 | |||
443 | irq = mp_map_gsi_to_irq(gsi, 0); | 437 | irq = mp_map_gsi_to_irq(gsi, 0); |
444 | if (irq > 0) | 438 | if (irq > 0) |
445 | mp_unmap_irq(irq); | 439 | mp_unmap_irq(irq); |