Hello Martin, > > > > Below is the overview since cold boot with no card inserted with all > those hotplug events. You see, > > pciehp never sets LinkState back to minus once the slot is empty: > > > > vostro ~ # grep LinkState > pciehp/3.12/cold_boot_no_card_in_slot/lspci_vvv_initial__inserted__eject > ed_but_not_realized__inserted__ejected.txt > > Changed: MRL- PresDet- LinkState- > > Changed: MRL- PresDet- LinkState+ > > Changed: MRL- PresDet- LinkState+ > > Changed: MRL- PresDet- LinkState+ > > Changed: MRL- PresDet- LinkState+ > > I opened https://bugzilla.kernel.org/show_bug.cgi?id=65521 for this > issue. I agree that pciehp should probably clear this bit. Rajat > recently posted some patches [1] that add support for link state > changes. I haven't look at them in detail yet, but I wouldn't be > surprised if they will fix this issue. If you wanted to test them, > that would be awesome! > > Bjorn > > [1] http://lkml.kernel.org/r/528BE8B6.9080007@xxxxxxxxx > -- Yes, this issue should be fixed by the following 2 patches: https://lkml.org/lkml/2013/11/19/542 https://lkml.org/lkml/2013/11/19/543 The particular hunk you want to be looking at is this: @@ -661,7 +669,7 @@ static irqreturn_t pcie_isr(int irq, void *dev_id) detected &= (PCI_EXP_SLTSTA_ABP | PCI_EXP_SLTSTA_PFD | PCI_EXP_SLTSTA_MRLSC | PCI_EXP_SLTSTA_PDC | - PCI_EXP_SLTSTA_CC); + PCI_EXP_SLTSTA_CC | PCI_EXP_SLTSTA_DLLSC); detected &= ~intr_loc; intr_loc |= detected; if (!intr_loc) Would you be please kind enough to test the patch out? No need to pass any module parameter (Just apply patch and build & boot normally like you would). Thanks, Rajat -- 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