mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
PCI: acpiphp: Create companion ACPI devices before creating PCI devices
With commit 4f535093cf
"PCI: Put pci_dev in device tree as
early as possible", companion ACPI devices should be created before
creating corresponding PCI devices, otherwise it will break the ACPI
PCI binding logic.
Without this patch, the /sys/bus/pci/devices/.../firmware_node symlink
is missing after hot-removing and hot-adding a device with acpiphp.
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
40064acf0c
commit
2ca344e8c7
@ -839,6 +839,9 @@ static int __ref enable_device(struct acpiphp_slot *slot)
|
||||
if (slot->flags & SLOT_ENABLED)
|
||||
goto err_exit;
|
||||
|
||||
list_for_each_entry(func, &slot->funcs, sibling)
|
||||
acpiphp_bus_add(func);
|
||||
|
||||
num = pci_scan_slot(bus, PCI_DEVFN(slot->device, 0));
|
||||
if (num == 0) {
|
||||
/* Maybe only part of funcs are added. */
|
||||
@ -862,9 +865,6 @@ static int __ref enable_device(struct acpiphp_slot *slot)
|
||||
}
|
||||
}
|
||||
|
||||
list_for_each_entry(func, &slot->funcs, sibling)
|
||||
acpiphp_bus_add(func);
|
||||
|
||||
pci_bus_assign_resources(bus);
|
||||
acpiphp_sanitize_bus(bus);
|
||||
acpiphp_set_hpp_values(bus);
|
||||
|
Loading…
Reference in New Issue
Block a user