diff options
Diffstat (limited to 'drivers/ata/libata-eh.c')
-rw-r--r-- | drivers/ata/libata-eh.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index d8070989a39f..f7582c9c320e 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c | |||
@@ -336,6 +336,7 @@ void ata_scsi_error(struct Scsi_Host *host) | |||
336 | } | 336 | } |
337 | ata_port_printk(ap, KERN_ERR, "EH pending after %d " | 337 | ata_port_printk(ap, KERN_ERR, "EH pending after %d " |
338 | "tries, giving up\n", ATA_EH_MAX_REPEAT); | 338 | "tries, giving up\n", ATA_EH_MAX_REPEAT); |
339 | ap->pflags &= ~ATA_PFLAG_EH_PENDING; | ||
339 | } | 340 | } |
340 | 341 | ||
341 | /* this run is complete, make sure EH info is clear */ | 342 | /* this run is complete, make sure EH info is clear */ |
@@ -1616,7 +1617,7 @@ static int ata_eh_reset(struct ata_port *ap, int classify, | |||
1616 | unsigned long deadline; | 1617 | unsigned long deadline; |
1617 | unsigned int action; | 1618 | unsigned int action; |
1618 | ata_reset_fn_t reset; | 1619 | ata_reset_fn_t reset; |
1619 | int i, did_followup_srst, rc; | 1620 | int i, rc; |
1620 | 1621 | ||
1621 | /* about to reset */ | 1622 | /* about to reset */ |
1622 | ata_eh_about_to_do(ap, NULL, ehc->i.action & ATA_EH_RESET_MASK); | 1623 | ata_eh_about_to_do(ap, NULL, ehc->i.action & ATA_EH_RESET_MASK); |
@@ -1665,8 +1666,6 @@ static int ata_eh_reset(struct ata_port *ap, int classify, | |||
1665 | 1666 | ||
1666 | /* did prereset() screw up? if so, fix up to avoid oopsing */ | 1667 | /* did prereset() screw up? if so, fix up to avoid oopsing */ |
1667 | if (!reset) { | 1668 | if (!reset) { |
1668 | ata_port_printk(ap, KERN_ERR, "BUG: prereset() requested " | ||
1669 | "invalid reset type\n"); | ||
1670 | if (softreset) | 1669 | if (softreset) |
1671 | reset = softreset; | 1670 | reset = softreset; |
1672 | else | 1671 | else |
@@ -1689,11 +1688,9 @@ static int ata_eh_reset(struct ata_port *ap, int classify, | |||
1689 | 1688 | ||
1690 | rc = ata_do_reset(ap, reset, classes, deadline); | 1689 | rc = ata_do_reset(ap, reset, classes, deadline); |
1691 | 1690 | ||
1692 | did_followup_srst = 0; | ||
1693 | if (reset == hardreset && | 1691 | if (reset == hardreset && |
1694 | ata_eh_followup_srst_needed(rc, classify, classes)) { | 1692 | ata_eh_followup_srst_needed(rc, classify, classes)) { |
1695 | /* okay, let's do follow-up softreset */ | 1693 | /* okay, let's do follow-up softreset */ |
1696 | did_followup_srst = 1; | ||
1697 | reset = softreset; | 1694 | reset = softreset; |
1698 | 1695 | ||
1699 | if (!reset) { | 1696 | if (!reset) { |