|
@@ -3013,7 +3013,7 @@ qlt_abort_cmd_on_host_reset(struct scsi_qla_host *vha, struct qla_tgt_cmd *cmd)
|
|
dump_stack();
|
|
dump_stack();
|
|
}
|
|
}
|
|
|
|
|
|
- cmd->cmd_flags |= BIT_12;
|
|
|
|
|
|
+ cmd->cmd_flags |= BIT_17;
|
|
ha->tgt.tgt_ops->free_cmd(cmd);
|
|
ha->tgt.tgt_ops->free_cmd(cmd);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3175,7 +3175,7 @@ static void qlt_do_ctio_completion(struct scsi_qla_host *vha, uint32_t handle,
|
|
skip_term:
|
|
skip_term:
|
|
|
|
|
|
if (cmd->state == QLA_TGT_STATE_PROCESSED) {
|
|
if (cmd->state == QLA_TGT_STATE_PROCESSED) {
|
|
- ;
|
|
|
|
|
|
+ cmd->cmd_flags |= BIT_12;
|
|
} else if (cmd->state == QLA_TGT_STATE_NEED_DATA) {
|
|
} else if (cmd->state == QLA_TGT_STATE_NEED_DATA) {
|
|
int rx_status = 0;
|
|
int rx_status = 0;
|
|
|
|
|
|
@@ -3189,9 +3189,11 @@ skip_term:
|
|
ha->tgt.tgt_ops->handle_data(cmd);
|
|
ha->tgt.tgt_ops->handle_data(cmd);
|
|
return;
|
|
return;
|
|
} else if (cmd->state == QLA_TGT_STATE_ABORTED) {
|
|
} else if (cmd->state == QLA_TGT_STATE_ABORTED) {
|
|
|
|
+ cmd->cmd_flags |= BIT_18;
|
|
ql_dbg(ql_dbg_tgt_mgt, vha, 0xf01e,
|
|
ql_dbg(ql_dbg_tgt_mgt, vha, 0xf01e,
|
|
"Aborted command %p (tag %lld) finished\n", cmd, se_cmd->tag);
|
|
"Aborted command %p (tag %lld) finished\n", cmd, se_cmd->tag);
|
|
} else {
|
|
} else {
|
|
|
|
+ cmd->cmd_flags |= BIT_19;
|
|
ql_dbg(ql_dbg_tgt_mgt, vha, 0xf05c,
|
|
ql_dbg(ql_dbg_tgt_mgt, vha, 0xf05c,
|
|
"qla_target(%d): A command in state (%d) should "
|
|
"qla_target(%d): A command in state (%d) should "
|
|
"not return a CTIO complete\n", vha->vp_idx, cmd->state);
|
|
"not return a CTIO complete\n", vha->vp_idx, cmd->state);
|
|
@@ -3203,7 +3205,6 @@ skip_term:
|
|
dump_stack();
|
|
dump_stack();
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
ha->tgt.tgt_ops->free_cmd(cmd);
|
|
ha->tgt.tgt_ops->free_cmd(cmd);
|
|
}
|
|
}
|
|
|
|
|