diff options
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 49cf4cf1a5a2..93bcb2cb3d35 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -1153,15 +1153,8 @@ static int ahci_do_softreset(struct ata_link *link, unsigned int *class, | |||
1153 | tf.ctl &= ~ATA_SRST; | 1153 | tf.ctl &= ~ATA_SRST; |
1154 | ahci_exec_polled_cmd(ap, pmp, &tf, 0, 0, 0); | 1154 | ahci_exec_polled_cmd(ap, pmp, &tf, 0, 0, 0); |
1155 | 1155 | ||
1156 | /* spec mandates ">= 2ms" before checking status. | 1156 | /* wait a while before checking status */ |
1157 | * We wait 150ms, because that was the magic delay used for | 1157 | ata_wait_after_reset(ap, deadline); |
1158 | * ATAPI devices in Hale Landis's ATADRVR, for the period of time | ||
1159 | * between when the ATA command register is written, and then | ||
1160 | * status is checked. Because waiting for "a while" before | ||
1161 | * checking status is fine, post SRST, we perform this magic | ||
1162 | * delay here as well. | ||
1163 | */ | ||
1164 | msleep(150); | ||
1165 | 1158 | ||
1166 | rc = ata_wait_ready(ap, deadline); | 1159 | rc = ata_wait_ready(ap, deadline); |
1167 | /* link occupied, -ENODEV too is an error */ | 1160 | /* link occupied, -ENODEV too is an error */ |