@@ -3119,49 +3119,12 @@ static void pnv_pci_ioda_create_dbgfs(void)
#endif /* CONFIG_DEBUG_FS */
}
-static void pnv_pci_enable_bridge(struct pci_bus *bus)
-{
- struct pci_dev *dev = bus->self;
- struct pci_bus *child;
-
- /* Empty bus ? bail */
- if (list_empty(&bus->devices))
- return;
-
- /*
- * If there's a bridge associated with that bus enable it. This works
- * around races in the generic code if the enabling is done during
- * parallel probing. This can be removed once those races have been
- * fixed.
- */
- if (dev) {
- int rc = pci_enable_device(dev);
- if (rc)
- pci_err(dev, "Error enabling bridge (%d)\n", rc);
- pci_set_master(dev);
- }
-
- /* Perform the same to child busses */
- list_for_each_entry(child, &bus->children, node)
- pnv_pci_enable_bridge(child);
-}
-
-static void pnv_pci_enable_bridges(void)
-{
- struct pci_controller *hose;
-
- list_for_each_entry(hose, &hose_list, list_node)
- pnv_pci_enable_bridge(hose->bus);
-}
-
static void pnv_pci_ioda_fixup(void)
{
pnv_pci_ioda_setup_PEs();
pnv_pci_ioda_setup_iommu_api();
pnv_pci_ioda_create_dbgfs();
- pnv_pci_enable_bridges();
-
#ifdef CONFIG_EEH
pnv_eeh_post_init();
#endif
This reverts commit db2173198b9513f7add8009f225afa1f1c79bcc6. The root cause of this bug is fixed by the following two commits: 1. "PCI: Fix race condition in pci_enable/disable_device()" 2. "PCI: Enable bridge's I/O and MEM access for hotplugged devices" The x86 is also affected by this bug if a PCIe bridge has been hotplugged without pre-enabling by the BIOS. CC: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Sergey Miroshnichenko <s.miroshnichenko@yadro.com> --- arch/powerpc/platforms/powernv/pci-ioda.c | 37 ----------------------- 1 file changed, 37 deletions(-)