aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r--drivers/ata/ahci.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 939dc1d4e50d..45a67a9ad8ab 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -1302,10 +1302,8 @@ static int ahci_do_softreset(struct ata_link *link, unsigned int *class,
1302 tf.ctl &= ~ATA_SRST; 1302 tf.ctl &= ~ATA_SRST;
1303 ahci_exec_polled_cmd(ap, pmp, &tf, 0, 0, 0); 1303 ahci_exec_polled_cmd(ap, pmp, &tf, 0, 0, 0);
1304 1304
1305 /* wait a while before checking status */ 1305 /* wait for link to become ready */
1306 ata_sff_wait_after_reset(ap, deadline); 1306 rc = ata_sff_wait_after_reset(link, 1, deadline);
1307
1308 rc = ata_sff_wait_ready(ap, deadline);
1309 /* link occupied, -ENODEV too is an error */ 1307 /* link occupied, -ENODEV too is an error */
1310 if (rc) { 1308 if (rc) {
1311 reason = "device not ready"; 1309 reason = "device not ready";
@@ -1415,9 +1413,6 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class,
1415 if (rc || ata_link_offline(link)) 1413 if (rc || ata_link_offline(link))
1416 return rc; 1414 return rc;
1417 1415
1418 /* spec mandates ">= 2ms" before checking status */
1419 msleep(150);
1420
1421 /* The pseudo configuration device on SIMG4726 attached to 1416 /* The pseudo configuration device on SIMG4726 attached to
1422 * ASUS P5W-DH Deluxe doesn't send signature FIS after 1417 * ASUS P5W-DH Deluxe doesn't send signature FIS after
1423 * hardreset if no device is attached to the first downstream 1418 * hardreset if no device is attached to the first downstream
@@ -1431,7 +1426,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class,
1431 * have to be reset again. For most cases, this should 1426 * have to be reset again. For most cases, this should
1432 * suffice while making probing snappish enough. 1427 * suffice while making probing snappish enough.
1433 */ 1428 */
1434 rc = ata_sff_wait_ready(ap, jiffies + 2 * HZ); 1429 rc = ata_sff_wait_after_reset(link, 1, jiffies + 2 * HZ);
1435 if (rc) 1430 if (rc)
1436 ahci_kick_engine(ap, 0); 1431 ahci_kick_engine(ap, 0);
1437 1432