|
@@ -812,17 +812,20 @@ qla2xxx_eh_abort(struct scsi_cmnd *cmd)
|
|
|
{
|
|
|
scsi_qla_host_t *vha = shost_priv(cmd->device->host);
|
|
|
srb_t *sp;
|
|
|
- int ret = SUCCESS;
|
|
|
+ int ret;
|
|
|
unsigned int id, lun;
|
|
|
unsigned long flags;
|
|
|
int wait = 0;
|
|
|
struct qla_hw_data *ha = vha->hw;
|
|
|
|
|
|
- fc_block_scsi_eh(cmd);
|
|
|
-
|
|
|
if (!CMD_SP(cmd))
|
|
|
return SUCCESS;
|
|
|
|
|
|
+ ret = fc_block_scsi_eh(cmd);
|
|
|
+ if (ret != 0)
|
|
|
+ return ret;
|
|
|
+ ret = SUCCESS;
|
|
|
+
|
|
|
id = cmd->device->id;
|
|
|
lun = cmd->device->lun;
|
|
|
|
|
@@ -931,11 +934,13 @@ __qla2xxx_eh_generic_reset(char *name, enum nexus_wait_type type,
|
|
|
fc_port_t *fcport = (struct fc_port *) cmd->device->hostdata;
|
|
|
int err;
|
|
|
|
|
|
- fc_block_scsi_eh(cmd);
|
|
|
-
|
|
|
if (!fcport)
|
|
|
return FAILED;
|
|
|
|
|
|
+ err = fc_block_scsi_eh(cmd);
|
|
|
+ if (err != 0)
|
|
|
+ return err;
|
|
|
+
|
|
|
qla_printk(KERN_INFO, vha->hw, "scsi(%ld:%d:%d): %s RESET ISSUED.\n",
|
|
|
vha->host_no, cmd->device->id, cmd->device->lun, name);
|
|
|
|
|
@@ -1009,14 +1014,17 @@ qla2xxx_eh_bus_reset(struct scsi_cmnd *cmd)
|
|
|
int ret = FAILED;
|
|
|
unsigned int id, lun;
|
|
|
|
|
|
- fc_block_scsi_eh(cmd);
|
|
|
-
|
|
|
id = cmd->device->id;
|
|
|
lun = cmd->device->lun;
|
|
|
|
|
|
if (!fcport)
|
|
|
return ret;
|
|
|
|
|
|
+ ret = fc_block_scsi_eh(cmd);
|
|
|
+ if (ret != 0)
|
|
|
+ return ret;
|
|
|
+ ret = FAILED;
|
|
|
+
|
|
|
qla_printk(KERN_INFO, vha->hw,
|
|
|
"scsi(%ld:%d:%d): BUS RESET ISSUED.\n", vha->host_no, id, lun);
|
|
|
|
|
@@ -1069,14 +1077,17 @@ qla2xxx_eh_host_reset(struct scsi_cmnd *cmd)
|
|
|
unsigned int id, lun;
|
|
|
scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev);
|
|
|
|
|
|
- fc_block_scsi_eh(cmd);
|
|
|
-
|
|
|
id = cmd->device->id;
|
|
|
lun = cmd->device->lun;
|
|
|
|
|
|
if (!fcport)
|
|
|
return ret;
|
|
|
|
|
|
+ ret = fc_block_scsi_eh(cmd);
|
|
|
+ if (ret != 0)
|
|
|
+ return ret;
|
|
|
+ ret = FAILED;
|
|
|
+
|
|
|
qla_printk(KERN_INFO, ha,
|
|
|
"scsi(%ld:%d:%d): ADAPTER RESET ISSUED.\n", vha->host_no, id, lun);
|
|
|
|