Hi Bjorn ! I know you are considering reverting the whole lot. At this point, the code in "safe" mode seems correct to me, which means that we might be facing broken HW, ie, we can either make it work with some and break other or make it break some and work with other... unless we start quirking. In any case, we need to investigate more. However, I do need this code (and so far had no problem with its latest iteration in "safe" mode, which is now the default) on some POWER platforms, so I suggest that rather than reverting, you apply the following patch instead: [PATCH] x86/pci: Disable calling of pcie_bus_configure_settings() The new code for configuring the Max Payload Size on PCI Express appears to be triggering various regressions that we haven't completely figured out yet. Since PowerPC want to still use that code, rather than reverting it, let's just not call it on x86 for now. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> --- And we can try again for the next cycle with Jon latest fixes applied and some more digging on what's going on with Avi's machine. diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c index 039d913..ae3cb23 100644 --- a/arch/x86/pci/acpi.c +++ b/arch/x86/pci/acpi.c @@ -360,20 +360,6 @@ struct pci_bus * __devinit pci_acpi_scan_root(struct acpi_pci_root *root) } } - /* After the PCI-E bus has been walked and all devices discovered, - * configure any settings of the fabric that might be necessary. - */ - if (bus) { - struct pci_bus *child; - list_for_each_entry(child, &bus->children, node) { - struct pci_dev *self = child->self; - if (!self) - continue; - - pcie_bus_configure_settings(child, self->pcie_mpss); - } - } - if (!bus) kfree(sd); -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html