An explanation of the purpose of this patch is available in the patch "scsi: Introduce the scsi_status union". Cc: Saurav Kashyap <skashyap@xxxxxxxxxxx> Cc: Javed Hasan <jhasan@xxxxxxxxxxx> Cc: GR-QLogic-Storage-Upstream@xxxxxxxxxxx Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> --- drivers/scsi/bnx2fc/bnx2fc_io.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c index 1a0dc18d6915..9ae826fd3294 100644 --- a/drivers/scsi/bnx2fc/bnx2fc_io.c +++ b/drivers/scsi/bnx2fc/bnx2fc_io.c @@ -198,10 +198,10 @@ static void bnx2fc_scsi_done(struct bnx2fc_cmd *io_req, int err_code) return; } - sc_cmd->result = err_code << 16; + sc_cmd->status.combined = err_code << 16; BNX2FC_IO_DBG(io_req, "sc=%p, result=0x%x, retries=%d, allowed=%d\n", - sc_cmd, host_byte(sc_cmd->result), sc_cmd->retries, + sc_cmd, host_byte(sc_cmd->status), sc_cmd->retries, sc_cmd->allowed); scsi_set_resid(sc_cmd, scsi_bufflen(sc_cmd)); sc_cmd->SCp.ptr = NULL; @@ -1579,10 +1579,10 @@ void bnx2fc_process_tm_compl(struct bnx2fc_cmd *io_req, case FC_GOOD: if (io_req->cdb_status == 0) { /* Good IO completion */ - sc_cmd->result = DID_OK << 16; + sc_cmd->status.combined = 0; } else { /* Transport status is good, SCSI status not good */ - sc_cmd->result = (DID_OK << 16) | io_req->cdb_status; + sc_cmd->status.combined = io_req->cdb_status; } if (io_req->fcp_resid) scsi_set_resid(sc_cmd, io_req->fcp_resid); @@ -1851,7 +1851,7 @@ int bnx2fc_queuecommand(struct Scsi_Host *host, rval = fc_remote_port_chkready(rport); if (rval) { - sc_cmd->result = rval; + sc_cmd->status.combined = rval; sc_cmd->scsi_done(sc_cmd); return 0; } @@ -1974,13 +1974,13 @@ void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req, case FC_GOOD: if (io_req->cdb_status == 0) { /* Good IO completion */ - sc_cmd->result = DID_OK << 16; + sc_cmd->status.combined = 0; } else { /* Transport status is good, SCSI status not good */ BNX2FC_IO_DBG(io_req, "scsi_cmpl: cdb_status = %d" " fcp_resid = 0x%x\n", io_req->cdb_status, io_req->fcp_resid); - sc_cmd->result = (DID_OK << 16) | io_req->cdb_status; + sc_cmd->status.combined = io_req->cdb_status; if (io_req->cdb_status == SAM_STAT_TASK_SET_FULL || io_req->cdb_status == SAM_STAT_BUSY) {