summaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/pciehp_ctrl.c
diff options
context:
space:
mode:
authorKenji Kaneshige2007-07-05 20:10:45 +0200
committerGreg Kroah-Hartman2007-07-12 01:02:12 +0200
commit5b57a6cea464fc686a6bc446f667c05901fa9734 (patch)
treea578ced7ef8bd86c700ac5c2ad31e4fcf6249965 /drivers/pci/hotplug/pciehp_ctrl.c
parentPCI: pci_set_power_state(): check for PM capabilities earlier (diff)
downloadkernel-qcow2-linux-5b57a6cea464fc686a6bc446f667c05901fa9734.tar.gz
kernel-qcow2-linux-5b57a6cea464fc686a6bc446f667c05901fa9734.tar.xz
kernel-qcow2-linux-5b57a6cea464fc686a6bc446f667c05901fa9734.zip
PCI: hotplug: pciehp: wait for 1 second after power off slot
According to the specification, we must wait for at least 1 second after turning power off before taking any action that relies on power having been removed from the slot/adapter. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/hotplug/pciehp_ctrl.c')
-rw-r--r--drivers/pci/hotplug/pciehp_ctrl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
index 7f22caa70178..98e541ffef3d 100644
--- a/drivers/pci/hotplug/pciehp_ctrl.c
+++ b/drivers/pci/hotplug/pciehp_ctrl.c
@@ -197,6 +197,12 @@ static void set_slot_off(struct controller *ctrl, struct slot * pslot)
__FUNCTION__);
return;
}
+ /*
+ * After turning power off, we must wait for at least
+ * 1 second before taking any action that relies on
+ * power having been removed from the slot/adapter.
+ */
+ msleep(1000);
}
}
@@ -615,6 +621,12 @@ int pciehp_disable_slot(struct slot *p_slot)
mutex_unlock(&p_slot->ctrl->crit_sect);
return -EINVAL;
}
+ /*
+ * After turning power off, we must wait for at least
+ * 1 second before taking any action that relies on
+ * power having been removed from the slot/adapter.
+ */
+ msleep(1000);
}
ret = remove_board(p_slot);