Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 808b27a5 authored by Murali Karicheri's avatar Murali Karicheri Committed by Bjorn Helgaas
Browse files

ARM/PCI: Set MPS before pci_bus_add_devices()



The MPS configuration should be done *before* pci_bus_add_devices().  After
pci_bus_add_devices(), drivers may be bound to devices, and the PCI core
shouldn't touch device configuration while a driver owns the device.

[bhelgaas: remove check for bus being non-NULL]
Reported-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Signed-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent bc0195aa
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -521,6 +521,8 @@ void pci_common_init_dev(struct device *parent, struct hw_pci *hw)
		struct pci_bus *bus = sys->bus;

		if (!pci_has_flag(PCI_PROBE_ONLY)) {
			struct pci_bus *child;

			/*
			 * Size the bridge windows.
			 */
@@ -530,25 +532,15 @@ void pci_common_init_dev(struct device *parent, struct hw_pci *hw)
			 * Assign resources.
			 */
			pci_bus_assign_resources(bus);
		}

			list_for_each_entry(child, &bus->children, node)
				pcie_bus_configure_settings(child);
		}
		/*
		 * Tell drivers about devices found.
		 */
		pci_bus_add_devices(bus);
	}

	list_for_each_entry(sys, &head, node) {
		struct pci_bus *bus = sys->bus;

		/* Configure PCI Express settings */
		if (bus && !pci_has_flag(PCI_PROBE_ONLY)) {
			struct pci_bus *child;

			list_for_each_entry(child, &bus->children, node)
				pcie_bus_configure_settings(child);
		}
	}
}

#ifndef CONFIG_PCI_HOST_ITE8152