The SD/MMC card reader on HP ProBook 445 and 455 laptops doesn't work properly unless the machine is booted with the card inserted. When a card is inserted, the machine generates a PCI hotplug event, and pciehp driver receives it, showing "Slot [xx] register" and "Slot [xx] unregistered" upon inserting/removing the card. But, it doesn't do anything more than that. The reason is that the corresponding PCIe device has no SURPRISE bit enabled, thus pciehp doesn't handle it. The patch below is a fix for that, setting the surprise bit for the selected hardware. We may fix pciehp just not to check the surprise bit but always handling the event, but some people showed objection, at the time I reported the problem in last March. The discussion thread is found at: https://lkml.org/lkml/2013/3/20/274
Created attachment 125131 [details] lspci output
Created attachment 125141 [details] kernel messages
Created attachment 125151 [details] Fix patch (to 3.14-rc)
On Fri, Feb 07, 2014 at 05:19:06PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > Component: HotPlug This is a PCI issue, please reassign.
Takashi, I'm very sorry this has languished for so long. I really think we need to just ignore the surprise bit. I don't think we should bother with a DMI blacklist. This might cause issues with KVM device assignment. But Alex has recently added code to ignore hotplug events during secondary bus resets, so maybe that will be enough to avoid the KVM issues. Would you mind updating your patch to remove the DMI whitelist and reference this bugzilla, and then post it to the linux-pci list and cc: Alex?
OK, will do. Below is a patch to simply remove the surprise bit checks in pciehp driver. If rather one-liner (forcibly adding the surprise bit) would be preferred, let me know.
Created attachment 125601 [details] Fix patch to remove surprise bit checks
It turned out that Rajat's patch series for 3.15 fixed this issue, too. commit e48f1b67 PCI: pciehp: Use link change notifications for hot-plug and removal