diff options
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 11 |
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 | ||