An explanation of the purpose of this patch is available in the patch "scsi: Introduce the scsi_status union". Cc: Julian Wiedmann <jwi@xxxxxxxxxxxxx> Cc: Benjamin Block <bblock@xxxxxxxxxxxxx> Cc: Steffen Maier <maier@xxxxxxxxxxxxx> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> --- drivers/s390/scsi/zfcp_dbf.c | 2 +- drivers/s390/scsi/zfcp_dbf.h | 2 +- drivers/s390/scsi/zfcp_fc.c | 4 ++-- drivers/s390/scsi/zfcp_fc.h | 2 +- drivers/s390/scsi/zfcp_scsi.c | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c index ca473b368905..6ea31ab9ccb0 100644 --- a/drivers/s390/scsi/zfcp_dbf.c +++ b/drivers/s390/scsi/zfcp_dbf.c @@ -643,7 +643,7 @@ void zfcp_dbf_scsi_common(char *tag, int level, struct scsi_device *sdev, memcpy(rec->tag, tag, ZFCP_DBF_TAG_LEN); rec->id = ZFCP_DBF_SCSI_CMND; if (sc) { - rec->scsi_result = sc->result; + rec->scsi_result = sc->status.combined; rec->scsi_retries = sc->retries; rec->scsi_allowed = sc->allowed; rec->scsi_id = sc->device->id; diff --git a/drivers/s390/scsi/zfcp_dbf.h b/drivers/s390/scsi/zfcp_dbf.h index 4d1435c573bc..190ad0127db1 100644 --- a/drivers/s390/scsi/zfcp_dbf.h +++ b/drivers/s390/scsi/zfcp_dbf.h @@ -402,7 +402,7 @@ void _zfcp_dbf_scsi(char *tag, int level, struct scsi_cmnd *scmd, static inline void zfcp_dbf_scsi_result(struct scsi_cmnd *scmd, struct zfcp_fsf_req *req) { - if (scmd->result != 0) + if (scmd->status.combined != 0) _zfcp_dbf_scsi("rsl_err", 3, scmd, req); else if (scmd->retries > 0) _zfcp_dbf_scsi("rsl_ret", 4, scmd, req); diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c index d24cafe02708..d896c0be8102 100644 --- a/drivers/s390/scsi/zfcp_fc.c +++ b/drivers/s390/scsi/zfcp_fc.c @@ -951,8 +951,8 @@ static void zfcp_fc_ct_els_job_handler(void *data) jr->reply_payload_rcv_len = job->reply_payload.payload_len; jr->reply_data.ctels_reply.status = FC_CTELS_STATUS_OK; - jr->result = zfcp_ct_els->status ? -EIO : 0; - bsg_job_done(job, jr->result, jr->reply_payload_rcv_len); + jr->status.combined = zfcp_ct_els->status ? -EIO : 0; + bsg_job_done(job, jr->status.combined, jr->reply_payload_rcv_len); } static struct zfcp_fc_wka_port *zfcp_fc_job_wka_port(struct bsg_job *job) diff --git a/drivers/s390/scsi/zfcp_fc.h b/drivers/s390/scsi/zfcp_fc.h index 8aaf409ce9cb..7f494cbaeab0 100644 --- a/drivers/s390/scsi/zfcp_fc.h +++ b/drivers/s390/scsi/zfcp_fc.h @@ -275,7 +275,7 @@ void zfcp_fc_eval_fcp_rsp(struct fcp_resp_with_ext *fcp_rsp, u32 sense_len, resid; u8 rsp_flags; - scsi->result |= fcp_rsp->resp.fr_status; + scsi->status.combined |= fcp_rsp->resp.fr_status; rsp_flags = fcp_rsp->resp.fr_flags; diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c index d58bf79892f2..1d7bc73c3d31 100644 --- a/drivers/s390/scsi/zfcp_scsi.c +++ b/drivers/s390/scsi/zfcp_scsi.c @@ -71,12 +71,12 @@ int zfcp_scsi_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *scpnt) int status, scsi_result, ret; /* reset the status for this request */ - scpnt->result = 0; + scpnt->status.combined = 0; scpnt->host_scribble = NULL; scsi_result = fc_remote_port_chkready(rport); if (unlikely(scsi_result)) { - scpnt->result = scsi_result; + scpnt->status.combined = scsi_result; zfcp_dbf_scsi_fail_send(scpnt); scpnt->scsi_done(scpnt); return 0; @@ -859,7 +859,7 @@ void zfcp_scsi_dif_sense_error(struct scsi_cmnd *scmd, int ascq) scsi_build_sense_buffer(1, scmd->sense_buffer, ILLEGAL_REQUEST, 0x10, ascq); set_driver_byte(scmd, DRIVER_SENSE); - scmd->result |= SAM_STAT_CHECK_CONDITION; + scmd->status.combined |= SAM_STAT_CHECK_CONDITION; set_host_byte(scmd, DID_SOFT_ERROR); }