diff options
Diffstat (limited to 'drivers/acpi/pci_root.c')
-rw-r--r-- | drivers/acpi/pci_root.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index d144168d4ef9..bf601d4df8cf 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c | |||
@@ -614,7 +614,17 @@ static int acpi_pci_root_add(struct acpi_device *device, | |||
614 | if (hotadd) { | 614 | if (hotadd) { |
615 | pcibios_resource_survey_bus(root->bus); | 615 | pcibios_resource_survey_bus(root->bus); |
616 | pci_assign_unassigned_root_bus_resources(root->bus); | 616 | pci_assign_unassigned_root_bus_resources(root->bus); |
617 | acpi_ioapic_add(root); | 617 | /* |
618 | * This is only called for the hotadd case. For the boot-time | ||
619 | * case, we need to wait until after PCI initialization in | ||
620 | * order to deal with IOAPICs mapped in on a PCI BAR. | ||
621 | * | ||
622 | * This is currently x86-specific, because acpi_ioapic_add() | ||
623 | * is an empty function without CONFIG_ACPI_HOTPLUG_IOAPIC. | ||
624 | * And CONFIG_ACPI_HOTPLUG_IOAPIC depends on CONFIG_X86_IO_APIC | ||
625 | * (see drivers/acpi/Kconfig). | ||
626 | */ | ||
627 | acpi_ioapic_add(root->device->handle); | ||
618 | } | 628 | } |
619 | 629 | ||
620 | pci_lock_rescan_remove(); | 630 | pci_lock_rescan_remove(); |