Skip to content

Commit

Permalink
scsi: core: Drop message byte helper
Browse files Browse the repository at this point in the history
The message byte is now unused, so we can drop the helper to set the
message byte and the check for message bytes during error recovery.

Link: https://lore.kernel.org/r/20210427083046.31620-38-hare@suse.de
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
Hannes Reinecke authored and Martin K. Petersen committed Jun 1, 2021
1 parent 0ee44f9 commit 54cf31d
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 26 deletions.
2 changes: 1 addition & 1 deletion block/scsi_ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ static int blk_complete_sghdr_rq(struct request *rq, struct sg_io_hdr *hdr,
*/
hdr->status = req->result & 0xff;
hdr->masked_status = status_byte(req->result);
hdr->msg_status = msg_byte(req->result);
hdr->msg_status = COMMAND_COMPLETE;
hdr->host_status = host_byte(req->result);
hdr->driver_status = 0;
if (scsi_status_is_check_condition(hdr->status))
Expand Down
18 changes: 2 additions & 16 deletions drivers/scsi/scsi_error.c
Original file line number Diff line number Diff line change
Expand Up @@ -741,12 +741,6 @@ static enum scsi_disposition scsi_eh_completed_normally(struct scsi_cmnd *scmd)
if (host_byte(scmd->result) != DID_OK)
return FAILED;

/*
* next, check the message byte.
*/
if (msg_byte(scmd->result) != COMMAND_COMPLETE)
return FAILED;

/*
* now, check the status byte to see if this indicates
* anything special.
Expand Down Expand Up @@ -1766,8 +1760,7 @@ int scsi_noretry_cmd(struct scsi_cmnd *scmd)
case DID_PARITY:
return (scmd->request->cmd_flags & REQ_FAILFAST_DEV);
case DID_ERROR:
if (msg_byte(scmd->result) == COMMAND_COMPLETE &&
status_byte(scmd->result) == RESERVATION_CONFLICT)
if (status_byte(scmd->result) == RESERVATION_CONFLICT)
return 0;
fallthrough;
case DID_SOFT_ERROR:
Expand Down Expand Up @@ -1883,8 +1876,7 @@ enum scsi_disposition scsi_decide_disposition(struct scsi_cmnd *scmd)
*/
return SUCCESS;
case DID_ERROR:
if (msg_byte(scmd->result) == COMMAND_COMPLETE &&
status_byte(scmd->result) == RESERVATION_CONFLICT)
if (status_byte(scmd->result) == RESERVATION_CONFLICT)
/*
* execute reservation conflict processing code
* lower down
Expand Down Expand Up @@ -1912,12 +1904,6 @@ enum scsi_disposition scsi_decide_disposition(struct scsi_cmnd *scmd)
return FAILED;
}

/*
* next, check the message byte.
*/
if (msg_byte(scmd->result) != COMMAND_COMPLETE)
return FAILED;

/*
* check the status byte to see if this indicates anything special.
*/
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/sg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1376,7 +1376,7 @@ sg_rq_end_io(struct request *rq, blk_status_t status)

srp->header.status = 0xff & result;
srp->header.masked_status = status_byte(result);
srp->header.msg_status = msg_byte(result);
srp->header.msg_status = COMMAND_COMPLETE;
srp->header.host_status = host_byte(result);
srp->header.driver_status = driver_byte(result);
if ((sdp->sgdebug > 0) &&
Expand Down
2 changes: 1 addition & 1 deletion drivers/xen/xen-scsiback.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ static void scsiback_print_status(char *sense_buffer, int errors,

pr_err("[%s:%d] cmnd[0]=%02x -> st=%02x msg=%02x host=%02x\n",
tpg->tport->tport_name, pending_req->v2p->lun,
pending_req->cmnd[0], status_byte(errors), msg_byte(errors),
pending_req->cmnd[0], status_byte(errors), COMMAND_COMPLETE,
host_byte(errors));
}

Expand Down
3 changes: 1 addition & 2 deletions include/scsi/scsi.h
Original file line number Diff line number Diff line change
Expand Up @@ -181,11 +181,10 @@ enum scsi_disposition {
* These are set by:
*
* status byte = set from target device
* msg_byte = return status from host adapter itself.
* msg_byte (unused)
* host_byte = set by low-level driver to indicate status.
*/
#define status_byte(result) (((result) >> 1) & 0x7f)
#define msg_byte(result) (((result) >> 8) & 0xff)
#define host_byte(result) (((result) >> 16) & 0xff)

#define sense_class(sense) (((sense) >> 4) & 0x7)
Expand Down
5 changes: 0 additions & 5 deletions include/scsi/scsi_cmnd.h
Original file line number Diff line number Diff line change
Expand Up @@ -320,11 +320,6 @@ static inline u8 get_status_byte(struct scsi_cmnd *cmd)
return cmd->result & 0xff;
}

static inline void set_msg_byte(struct scsi_cmnd *cmd, char status)
{
cmd->result = (cmd->result & 0xffff00ff) | (status << 8);
}

static inline void set_host_byte(struct scsi_cmnd *cmd, char status)
{
cmd->result = (cmd->result & 0xff00ffff) | (status << 16);
Expand Down

0 comments on commit 54cf31d

Please sign in to comment.