diff options
-rw-r--r-- | drivers/scsi/libata-core.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 4fd24075afd2..3ddfbe1b86c6 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -2582,6 +2582,9 @@ int ata_drive_probe_reset(struct ata_port *ap, ata_probeinit_fn_t probeinit, | |||
2582 | rc = ata_do_reset(ap, softreset, postreset, 0, classes); | 2582 | rc = ata_do_reset(ap, softreset, postreset, 0, classes); |
2583 | if (rc == 0 && classes[0] != ATA_DEV_UNKNOWN) | 2583 | if (rc == 0 && classes[0] != ATA_DEV_UNKNOWN) |
2584 | goto done; | 2584 | goto done; |
2585 | printk(KERN_INFO "ata%u: softreset failed, will try " | ||
2586 | "hardreset in 5 secs\n", ap->id); | ||
2587 | ssleep(5); | ||
2585 | } | 2588 | } |
2586 | 2589 | ||
2587 | if (!hardreset) | 2590 | if (!hardreset) |
@@ -2597,10 +2600,20 @@ int ata_drive_probe_reset(struct ata_port *ap, ata_probeinit_fn_t probeinit, | |||
2597 | 2600 | ||
2598 | if (ata_down_sata_spd_limit(ap)) | 2601 | if (ata_down_sata_spd_limit(ap)) |
2599 | goto done; | 2602 | goto done; |
2603 | |||
2604 | printk(KERN_INFO "ata%u: hardreset failed, will retry " | ||
2605 | "in 5 secs\n", ap->id); | ||
2606 | ssleep(5); | ||
2600 | } | 2607 | } |
2601 | 2608 | ||
2602 | if (softreset) | 2609 | if (softreset) { |
2610 | printk(KERN_INFO "ata%u: hardreset succeeded without " | ||
2611 | "classification, will retry softreset in 5 secs\n", | ||
2612 | ap->id); | ||
2613 | ssleep(5); | ||
2614 | |||
2603 | rc = ata_do_reset(ap, softreset, postreset, 0, classes); | 2615 | rc = ata_do_reset(ap, softreset, postreset, 0, classes); |
2616 | } | ||
2604 | 2617 | ||
2605 | done: | 2618 | done: |
2606 | if (rc == 0 && classes[0] == ATA_DEV_UNKNOWN) | 2619 | if (rc == 0 && classes[0] == ATA_DEV_UNKNOWN) |