diff options
Diffstat (limited to 'drivers/ata/libata-eh.c')
-rw-r--r-- | drivers/ata/libata-eh.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index ecbb8e90cb8d..d94359a24d41 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c | |||
@@ -2137,9 +2137,14 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2137 | if (hardreset) { | 2137 | if (hardreset) { |
2138 | reset = hardreset; | 2138 | reset = hardreset; |
2139 | ehc->i.action = ATA_EH_HARDRESET; | 2139 | ehc->i.action = ATA_EH_HARDRESET; |
2140 | } else { | 2140 | } else if (softreset) { |
2141 | reset = softreset; | 2141 | reset = softreset; |
2142 | ehc->i.action = ATA_EH_SOFTRESET; | 2142 | ehc->i.action = ATA_EH_SOFTRESET; |
2143 | } else { | ||
2144 | ata_link_printk(link, KERN_ERR, "BUG: no reset method, " | ||
2145 | "please report to linux-ide@vger.kernel.org\n"); | ||
2146 | dump_stack(); | ||
2147 | return -EINVAL; | ||
2143 | } | 2148 | } |
2144 | 2149 | ||
2145 | if (prereset) { | 2150 | if (prereset) { |