aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-eh.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/libata-eh.c')
-rw-r--r--drivers/ata/libata-eh.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 2bff9adcacf1..b3f7d3c8ae60 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1558,14 +1558,14 @@ static void ata_eh_report(struct ata_port *ap)
1558} 1558}
1559 1559
1560static int ata_do_reset(struct ata_port *ap, ata_reset_fn_t reset, 1560static int ata_do_reset(struct ata_port *ap, ata_reset_fn_t reset,
1561 unsigned int *classes) 1561 unsigned int *classes, unsigned long deadline)
1562{ 1562{
1563 int i, rc; 1563 int i, rc;
1564 1564
1565 for (i = 0; i < ATA_MAX_DEVICES; i++) 1565 for (i = 0; i < ATA_MAX_DEVICES; i++)
1566 classes[i] = ATA_DEV_UNKNOWN; 1566 classes[i] = ATA_DEV_UNKNOWN;
1567 1567
1568 rc = reset(ap, classes); 1568 rc = reset(ap, classes, deadline);
1569 if (rc) 1569 if (rc)
1570 return rc; 1570 return rc;
1571 1571
@@ -1624,7 +1624,7 @@ static int ata_eh_reset(struct ata_port *ap, int classify,
1624 ehc->i.action |= ATA_EH_HARDRESET; 1624 ehc->i.action |= ATA_EH_HARDRESET;
1625 1625
1626 if (prereset) { 1626 if (prereset) {
1627 rc = prereset(ap); 1627 rc = prereset(ap, jiffies + 40 * HZ);
1628 if (rc) { 1628 if (rc) {
1629 if (rc == -ENOENT) { 1629 if (rc == -ENOENT) {
1630 ata_port_printk(ap, KERN_DEBUG, 1630 ata_port_printk(ap, KERN_DEBUG,
@@ -1676,7 +1676,7 @@ static int ata_eh_reset(struct ata_port *ap, int classify,
1676 else 1676 else
1677 ehc->i.flags |= ATA_EHI_DID_SOFTRESET; 1677 ehc->i.flags |= ATA_EHI_DID_SOFTRESET;
1678 1678
1679 rc = ata_do_reset(ap, reset, classes); 1679 rc = ata_do_reset(ap, reset, classes, jiffies + 40 * HZ);
1680 1680
1681 did_followup_srst = 0; 1681 did_followup_srst = 0;
1682 if (reset == hardreset && 1682 if (reset == hardreset &&
@@ -1693,7 +1693,7 @@ static int ata_eh_reset(struct ata_port *ap, int classify,
1693 } 1693 }
1694 1694
1695 ata_eh_about_to_do(ap, NULL, ATA_EH_RESET_MASK); 1695 ata_eh_about_to_do(ap, NULL, ATA_EH_RESET_MASK);
1696 rc = ata_do_reset(ap, reset, classes); 1696 rc = ata_do_reset(ap, reset, classes, jiffies + 40 * HZ);
1697 1697
1698 if (rc == 0 && classify && 1698 if (rc == 0 && classify &&
1699 classes[0] == ATA_DEV_UNKNOWN) { 1699 classes[0] == ATA_DEV_UNKNOWN) {