aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/libata-core.c15
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)