powerpc/pci: Don't configure PCIe settings when PCI_PROBE_ONLY is set
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 26 Sep 2011 04:22:39 +0000 (14:22 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 26 Sep 2011 04:22:39 +0000 (14:22 +1000)
We don't want to configure PCI Express Max Payload Size or
Max Read Request Size on systems that set that flag. The
firmware will have done it for us, and under hypervisors such
as pHyp we don't even see the parent switches and bridges and
thus can make no assumption on what values are safe to use.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/pci-common.c

index 1bd47f3..677eccc 100644 (file)
@@ -1732,7 +1732,7 @@ void __devinit pcibios_scan_phb(struct pci_controller *hose)
                hose->last_busno = bus->subordinate = pci_scan_child_bus(bus);
 
        /* Configure PCI Express settings */
-       if (bus) {
+       if (bus && !pci_has_flag(PCI_PROBE_ONLY)) {
                struct pci_bus *child;
                list_for_each_entry(child, &bus->children, node) {
                        struct pci_dev *self = child->self;