On Wed, Jan 9, 2013 at 4:10 PM, Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx> wrote: > Hi, > I am following up on a former thread > Re: 3.2.11: PCI Express card cannot be re-detected withing cca 60sec timeframe > about the same issue. I think I found some new info while playing with 3.7.1 kernel. > It happened to me that my hotplug of express cards stopped working so it made me to > to dive in a figure out what driver did I do to my .config, and what combinations > of drivers and kernel command-line parameters work and which not. This email will > cover just one case. > > On this Dell Vostro 3550 express card slot works if kernel is without pciehp > altogether and pci_hotplug+acpiphp are loaded as modules later on. The problem > is that I must use pcie_aspm=off. I confess I am completely bewildered here. Something is clearly badly broken, but I'm having a hard time figuring out exactly what it is. I think I'm overwhelmed by all the data :) >From your previous "3.2.11: PCI Express card cannot be re-detected withing cca 60sec timeframe" thread, I think: 1) With pciehp, insertion and removal of an NEC uPD720200 USB3.0 card doesn't work correctly [1]. The insertion/removal events don't seem to be detected immediately. 2) Insertion/removal of firewire card works correctly [2] 3) Insertion/removal of AXAGO ECA-SP serial/parallel card works correctly [3] 4) When the xhci driver is not loaded, insertion/removal events of the NEC USB3.0 card *are* detected correctly [4] The ExpressCard slot is below the 00:1c.7 root port, and this port supports native PCIe hotplug. When CONFIG_HOTPLUG_PCI_PCIE=y, Linux requests control over PCIe native hotplug, and I think your BIOS grants it. In this thread ("Dell Vostro 3550: pci_hotplug+acpiphp require 'pcie_aspm=force' on kernel command-line for hotplug to work"), I think you are saying that if you disable pciehp and use acpiphp and the "pcie_aspm=off" parameter, the ExpressCard slot works perfectly. But I think it's a bad idea to go down the road of using acpiphp. Native PCIe hotplug (pciehp) is the default when it is supported, and as far as I can tell, it *is* supported on this system. If we had some indication that it's not supported, e.g., if the BIOS declined to grant us control over PCIe native hotplug, then of course we would fall back to using acpiphp. But I don't think we do, so we should figure out how to make pciehp work. If it's really true that pciehp works perfectly except when xhci is loaded, that seems like a good clue, and we should look for some interaction between xhci and pciehp. Martin, can you confirm my assumptions above or correct any mistakes I made? Bjorn [1] http://marc.info/?l=linux-pci&m=133236584826563&w=1 [2] http://marc.info/?l=linux-pci&m=133457374507707&w=1 [3] http://marc.info/?l=linux-pci&m=133460527222076&w=1 [4] http://marc.info/?l=linux-kernel&m=133547823904339&w=1 -- 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