On Mon, Nov 18, 2013 at 10:38:17AM -0700, Bjorn Helgaas wrote: > [+cc Myron, Amos, Thomas, Ben] > > On Mon, Nov 18, 2013 at 2:40 AM, Adam Lee <adam.lee@xxxxxxxxxxxxx> wrote: > > This patch adds the PCI_EXP_FLAGS_SLOT check back before setting > > hotplug bridge, which is omitted by an API switching commit, > > 59875ae489609b2267548dc85160c5f0f0c6f9d4 "PCI/core: Use PCI Express > > Capability accessors". > > > > Some Lenovo laptops hang in booting without this fix. > > What kernel version hangs? I suspect you might be missing 6d3a1741f1 > ("PCI: Support PCIe Capability Slot registers only for ports with > slots"), because it *looks* like the current kernel should work > correctly even without your patch. No, patching 6d3a1741f1 and d3694d4fa3 doesn't fix the hang. It hangs in acpi_evaluate_integer() from 59875ae489609b2267548dc85160c5f0f0c6f9d4 "PCI/core: Use PCI Express Capability accessors" and before ac212b6980d8d5eda705864fc5a8ecddc6d6eacc "ACPI / processor: Use common hotplug infrastructure", 3.4~3.11. (double confirmed) I didn't mention this because: 1, that check is omitted obviously, an API switching patch should not remove things like that. 2, have run some tests, adding the check back is harmless. 3, I believe ac212b6 just workarounds the hang unexpectedly, bug still exists. -- Adam Lee -- 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