summaryrefslogtreecommitdiff
path: root/drivers/pci/bus.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2013-04-16 10:37:22 -0600
committerBjorn Helgaas <bhelgaas@google.com>2013-04-16 10:37:22 -0600
commita3b6bbd5774c13dab89d72f79976ba762913b2f2 (patch)
treee646832db42284e97e6b4d1edc616ce06e0fd407 /drivers/pci/bus.c
parent30e22b2337be44f4363fa52858d1ca7be6794ee8 (diff)
parentc309dbb4debb714566e4cf0d5d4e4023c3c4ff2f (diff)
Merge branch 'pci/jiang-subdrivers' into next
* pci/jiang-subdrivers: PCI/ACPI: Remove support of ACPI PCI subdrivers PCI: acpiphp: Protect acpiphp data structures from concurrent updates PCI: acpiphp: Use normal list to simplify implementation PCI: acpiphp: Do not use ACPI PCI subdriver mechanism PCI: acpiphp: Convert acpiphp to be builtin only, not modular PCI/ACPI: Handle PCI slot devices when creating/destroying PCI buses x86/PCI: Implement pcibios_{add|remove}_bus() hooks ia64/PCI: Implement pcibios_{add|remove}_bus() hooks PCI/ACPI: Prepare stub functions to handle ACPI PCI (hotplug) slots PCI: Add pcibios hooks for adding and removing PCI buses PCI: acpiphp: Replace local macros with standard ACPI macros PCI: acpiphp: Remove all functions even if function 0 doesn't exist PCI: acpiphp: Use list_for_each_entry_safe() in acpiphp_sanitize_bus() PCI: Clean up usages of pci_bus->is_added PCI: When removing bus, always remove legacy files & unregister
Diffstat (limited to 'drivers/pci/bus.c')
-rw-r--r--drivers/pci/bus.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 8647dc6f52d0..bdc1e8bf7e60 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -206,16 +206,9 @@ void pci_bus_add_devices(const struct pci_bus *bus)
list_for_each_entry(dev, &bus->devices, bus_list) {
BUG_ON(!dev->is_added);
-
child = dev->subordinate;
-
- if (!child)
- continue;
- pci_bus_add_devices(child);
-
- if (child->is_added)
- continue;
- child->is_added = 1;
+ if (child)
+ pci_bus_add_devices(child);
}
}