提交 9a41a62b 编写于 作者: A Andrew Vasquez 提交者: James Bottomley

[SCSI] qla2xxx: remove eh_active checks in qla2xxx error handling

Here's a patch which drops the eh_active checks in the qla2xxx
eh_handler callbacks.
Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
上级 7a691bd3
......@@ -762,29 +762,19 @@ qla2xxx_eh_device_reset(struct scsi_cmnd *cmd)
goto eh_dev_reset_done;
}
/*
* If we are coming down the EH path, wait for all commands to
* complete for the device.
*/
if (cmd->device->host->eh_active) {
if (qla2x00_eh_wait_for_pending_target_commands(ha, id))
ret = FAILED;
if (ret == FAILED) {
DEBUG3(printk("%s(%ld): failed while waiting for "
"commands\n", __func__, ha->host_no));
qla_printk(KERN_INFO, ha,
"%s: failed while waiting for commands\n",
__func__);
goto eh_dev_reset_done;
}
}
qla_printk(KERN_INFO, ha,
"scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no, id, lun);
/* Flush outstanding commands. */
if (qla2x00_eh_wait_for_pending_target_commands(ha, id))
ret = FAILED;
if (ret == FAILED) {
DEBUG3(printk("%s(%ld): failed while waiting for commands\n",
__func__, ha->host_no));
qla_printk(KERN_INFO, ha,
"%s: failed while waiting for commands\n", __func__);
} else
qla_printk(KERN_INFO, ha,
"scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no,
id, lun);
eh_dev_reset_done:
return ret;
}
......@@ -886,10 +876,9 @@ qla2xxx_eh_bus_reset(struct scsi_cmnd *cmd)
if (ret == FAILED)
goto eh_bus_reset_done;
/* Waiting for our command in done_queue to be returned to OS.*/
if (cmd->device->host->eh_active)
if (!qla2x00_eh_wait_for_pending_commands(ha))
ret = FAILED;
/* Flush outstanding commands. */
if (!qla2x00_eh_wait_for_pending_commands(ha))
ret = FAILED;
eh_bus_reset_done:
qla_printk(KERN_INFO, ha, "%s: reset %s\n", __func__,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册