Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx >diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c >index 13b2eaf..7cee8db 100644 >--- a/drivers/pci/hotplug/pciehp_hpc.c >+++ b/drivers/pci/hotplug/pciehp_hpc.c >@@ -631,6 +631,8 @@ int pciehp_power_off_slot(struct slot * slot) > slot_cmd = POWER_OFF; > cmd_mask = PCI_EXP_SLTCTL_PCC; > retval = pcie_write_cmd(ctrl, slot_cmd, cmd_mask); >+ /* need to enable link again for present bit report */ >+ pciehp_link_enable(ctrl); You're not checking the return value of pciehp_link_enable(). I wonder if enabling the link is the only way to get the present bit to report correctly... Also, should the pciehp_link_enable() be called in pciehp_power_on_slot() if we already reenable it on the power off? P. -- 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