|
@@ -2137,9 +2137,14 @@ int ata_eh_reset(struct ata_link *link, int classify,
|
|
if (hardreset) {
|
|
if (hardreset) {
|
|
reset = hardreset;
|
|
reset = hardreset;
|
|
ehc->i.action = ATA_EH_HARDRESET;
|
|
ehc->i.action = ATA_EH_HARDRESET;
|
|
- } else {
|
|
|
|
|
|
+ } else if (softreset) {
|
|
reset = softreset;
|
|
reset = softreset;
|
|
ehc->i.action = ATA_EH_SOFTRESET;
|
|
ehc->i.action = ATA_EH_SOFTRESET;
|
|
|
|
+ } else {
|
|
|
|
+ ata_link_printk(link, KERN_ERR, "BUG: no reset method, "
|
|
|
|
+ "please report to linux-ide@vger.kernel.org\n");
|
|
|
|
+ dump_stack();
|
|
|
|
+ return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
if (prereset) {
|
|
if (prereset) {
|