PCI: xgene: Configure PCIe MPS settings
authorBjorn Helgaas <bhelgaas@google.com>
Wed, 8 Feb 2017 21:43:45 +0000 (15:43 -0600)
committerBjorn Helgaas <helgaas@kernel.org>
Fri, 10 Feb 2017 17:36:14 +0000 (11:36 -0600)
Make sure PCIe MPS settings are valid when we enumerate a new hierarchy.

Based-on-patch-by: Jon Mason <jon.mason@broadcom.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/host/pci-xgene.c

index 142a166..1a61087 100644 (file)
@@ -635,7 +635,7 @@ static int xgene_pcie_probe_bridge(struct platform_device *pdev)
        struct device_node *dn = dev->of_node;
        struct xgene_pcie_port *port;
        resource_size_t iobase = 0;
-       struct pci_bus *bus;
+       struct pci_bus *bus, *child;
        int ret;
        LIST_HEAD(res);
 
@@ -678,6 +678,8 @@ static int xgene_pcie_probe_bridge(struct platform_device *pdev)
 
        pci_scan_child_bus(bus);
        pci_assign_unassigned_bus_resources(bus);
+       list_for_each_entry(child, &bus->children, node)
+               pcie_bus_configure_settings(child);
        pci_bus_add_devices(bus);
        return 0;