On Mon, Jun 6, 2011 at 2:24 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > On Mon, Jun 6, 2011 at 12:03 PM, Carl Karsten <carl@xxxxxxxxxxxxxxxxx> wrote: >> On Sun, Jun 5, 2011 at 8:51 PM, Kenji Kaneshige >> <kaneshige.kenji@xxxxxxxxxxxxxx> wrote: >>> (2011/06/06 8:36), Bjorn Helgaas wrote: >>>> >>>> On Sun, Jun 5, 2011 at 5:57 AM, Carl Karsten<carl@xxxxxxxxxxxxxxxxx> >>>> wrote: >>>>> >>>>> I am wondering why I see a difference between 2 similar setups: >>>>> >>>>> I have 2 laptops, ubuntu 2.6.39-3-generic on both. >>>>> pciehp is included, acpiphp built but not inserted by default. >>>>> >>>>> HP EliteBook 8530w (KS051UA#ABA) >>>>> HP Pavilion dv6700 Notebook PC (KC300UA#ABA) >>>>> >>>>> On the EliteBook, hotplug works: lspci entries come and go, modules >>>>> un/load, udev reports add/remove. good. >>>>> >>>>> On the Pavilion, if I load acpiphp (via /etc/modules), hotplug works. >>>>> If I don't load any additional modules hotplug does not work: insert >>>>> card - nothing in syslog, lspci, udev. If a card is in the slot when >>>>> the kernel loads, it shows in syslog, lscpi and the drivers get >>>>> loaded. If I pull it out, nothing changes: still listed in lspci, >>>>> modules still loaded, dev nodes still around. >>>>> >>>>> Here is some logs lines from Pavilion: >>>>> >>>>> stock module, doesn't work: >>>>> [ 0.560575] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 >>>>> [ 0.560605] pciehp: PCI Express Hot Plug Controller Driver version: >>>>> 0.4 >>>> >>>> It might be useful to see the entire dmesg log and the "lspci -vv" >>>> output from the Pavilion. > > I think the problem is just that pciehp is for native PCIe hotplug and > your PCIe bridges don't seem to support that; they don't have the > "Hot-Plug Capable" bit set in the Slot Capability register: > > 00:0c.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev > a2) (prog-if 00 [Normal decode]) > Bus: primary=00, secondary=04, subordinate=05, sec-latency=0 > Capabilities: [80] Express (v1) Root Port (Slot+), MSI 00 ... > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- > HotPlug- Surprise- > > 00:0d.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev > a2) (prog-if 00 [Normal decode]) > Bus: primary=00, secondary=03, subordinate=03, sec-latency=0 > Capabilities: [80] Express (v1) Root Port (Slot+), MSI 00 > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- > HotPlug- Surprise- > > It seems like it'd be nice to have acpiphp loaded automatically > somehow, so things would "just work." I don't know Ubuntu's strategy > in that regard. It definitely feels like a broken user experience as > things are. One might argue that if there's no way to autoload > acpiphp, it ought to be built in statically. > > Bjorn > Thanks for looking into this. If some legwork on my part could improve the kernel, then I would be happy to do the legwork. If the kernel level code is as good as it can be, I'll just put acpiphp in /etc/modules and be done. -- Carl K -- 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