aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/libata-eh.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index a5a8f8453061..e7e2ba24ce66 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1478,8 +1478,12 @@ static void ata_eh_autopsy(struct ata_port *ap)
1478 if (rc == 0) { 1478 if (rc == 0) {
1479 ehc->i.serror |= serror; 1479 ehc->i.serror |= serror;
1480 ata_eh_analyze_serror(ap); 1480 ata_eh_analyze_serror(ap);
1481 } else if (rc != -EOPNOTSUPP) 1481 } else if (rc != -EOPNOTSUPP) {
1482 /* SError read failed, force hardreset and probing */
1483 ata_ehi_schedule_probe(&ehc->i);
1482 ehc->i.action |= ATA_EH_HARDRESET; 1484 ehc->i.action |= ATA_EH_HARDRESET;
1485 ehc->i.err_mask |= AC_ERR_OTHER;
1486 }
1483 1487
1484 /* analyze NCQ failure */ 1488 /* analyze NCQ failure */
1485 ata_eh_analyze_ncq_error(ap); 1489 ata_eh_analyze_ncq_error(ap);