scsi: core: Add scsi_msg_to_host_byte()
Add helper to convert message byte into a host byte code. Link: https://lore.kernel.org/r/20210427083046.31620-18-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>
This commit is contained in:
parent
f6b5a69706
commit
735b830c61
|
@ -335,6 +335,32 @@ static inline u8 get_host_byte(struct scsi_cmnd *cmd)
|
|||
return (cmd->result >> 16) & 0xff;
|
||||
}
|
||||
|
||||
/**
|
||||
* scsi_msg_to_host_byte() - translate message byte
|
||||
*
|
||||
* Translate the SCSI parallel message byte to a matching
|
||||
* host byte setting. A message of COMMAND_COMPLETE indicates
|
||||
* a successful command execution, any other message indicate
|
||||
* an error. As the messages themselves only have a meaning
|
||||
* for the SCSI parallel protocol this function translates
|
||||
* them into a matching host byte value for SCSI EH.
|
||||
*/
|
||||
static inline void scsi_msg_to_host_byte(struct scsi_cmnd *cmd, u8 msg)
|
||||
{
|
||||
switch (msg) {
|
||||
case COMMAND_COMPLETE:
|
||||
break;
|
||||
case ABORT_TASK_SET:
|
||||
set_host_byte(cmd, DID_ABORT);
|
||||
break;
|
||||
case TARGET_RESET:
|
||||
set_host_byte(cmd, DID_RESET);
|
||||
break;
|
||||
default:
|
||||
set_host_byte(cmd, DID_ERROR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static inline unsigned scsi_transfer_length(struct scsi_cmnd *scmd)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue