aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-02-02 01:29:27 -0500
committerJeff Garzik <jeff@garzik.org>2007-02-09 17:39:38 -0500
commit34fee227dd13af593be599b19683464ac4dd4c8b (patch)
tree2c246bdc4e573fef2df2c67b83d6b3f43c63503e /drivers/ata
parent3f64f565bebbb4a1a4e9ccce5565c9f86458ddb1 (diff)
libata: add 150ms between completion of hardreset and status checking
Follow the old SRST rule and delay 150ms between completion of hardreset and status checking. Debouncing delay should usually cover this but debounce duration could be shorter than 150ms under certain circumstances. Usefulness depends on host controller implementation but it can't hurt and serves as a reminder that 2s delay for GoVault should also be added here. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 5c2e581bf990..6a2083a6d175 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3023,6 +3023,9 @@ int sata_std_hardreset(struct ata_port *ap, unsigned int *class)
3023 return 0; 3023 return 0;
3024 } 3024 }
3025 3025
3026 /* wait a while before checking status, see SRST for more info */
3027 msleep(150);
3028
3026 if (ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT)) { 3029 if (ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT)) {
3027 ata_port_printk(ap, KERN_ERR, 3030 ata_port_printk(ap, KERN_ERR,
3028 "COMRESET failed (device not ready)\n"); 3031 "COMRESET failed (device not ready)\n");