OSDN Git Service

PCI: pciehp: Handle surprise add even if surprise removal isn't supported
authorBjorn Helgaas <bhelgaas@google.com>
Wed, 21 Jan 2015 16:28:07 +0000 (10:28 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 21 Jan 2015 16:28:07 +0000 (10:28 -0600)
commita93b506e265a83a0f8c56ff003434e2d263961ce
tree8bd3a45db688e44894708cf5fe3422934aedf8ae
parent17f14b51f2dc2fce2636ee49c5fbf49ff27aecb0
PCI: pciehp: Handle surprise add even if surprise removal isn't supported

The PCIe spec (r3.0, sec 7.8.9) says Hot-Plug Surprise indicates support
for surprise *removal*, but pciehp checked this to determine if it should
handle presence detect interrupts for device *addition*.

Allow surprise device addition even if the slot doesn't advertise support
for surprise removal.

Keith has a platform with slots for front-loading SFF devices.  The slots
do not have attention buttons and do not support surprise removal, but they
do have presence detect.  In that case, we still want to use presence
detect for device addition.

Keith's original patch handled surprise insertions only if Hot-Plug Capable
is set.  I think that test is superfluous because pciehp only claims slots
that advertise Hot-Plug Capable (see get_port_device_capability()).

Link: http://lkml.kernel.org/r/1419275223-14602-1-git-send-email-keith.busch@intel.com
Based-on-patch-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rajat Jain <rajatxjain@gmail.com>
drivers/pci/hotplug/pciehp_ctrl.c