2021-05-23 19:54:56 -07:00
/* SPDX-License-Identifier: GPL-2.0 */
# ifndef _SCSI_SCSI_STATUS_H
# define _SCSI_SCSI_STATUS_H
# include <linux/types.h>
# include <scsi/scsi_proto.h>
/* Message codes. */
enum scsi_msg_byte {
COMMAND_COMPLETE = 0x00 ,
EXTENDED_MESSAGE = 0x01 ,
SAVE_POINTERS = 0x02 ,
RESTORE_POINTERS = 0x03 ,
DISCONNECT = 0x04 ,
INITIATOR_ERROR = 0x05 ,
ABORT_TASK_SET = 0x06 ,
MESSAGE_REJECT = 0x07 ,
NOP = 0x08 ,
MSG_PARITY_ERROR = 0x09 ,
LINKED_CMD_COMPLETE = 0x0a ,
LINKED_FLG_CMD_COMPLETE = 0x0b ,
TARGET_RESET = 0x0c ,
ABORT_TASK = 0x0d ,
CLEAR_TASK_SET = 0x0e ,
INITIATE_RECOVERY = 0x0f , /* SCSI-II only */
RELEASE_RECOVERY = 0x10 , /* SCSI-II only */
TERMINATE_IO_PROC = 0x11 , /* SCSI-II only */
CLEAR_ACA = 0x16 ,
LOGICAL_UNIT_RESET = 0x17 ,
SIMPLE_QUEUE_TAG = 0x20 ,
HEAD_OF_QUEUE_TAG = 0x21 ,
ORDERED_QUEUE_TAG = 0x22 ,
IGNORE_WIDE_RESIDUE = 0x23 ,
ACA = 0x24 ,
QAS_REQUEST = 0x55 ,
/* Old SCSI2 names, don't use in new code */
BUS_DEVICE_RESET = TARGET_RESET ,
ABORT = ABORT_TASK_SET ,
} ;
/* Host byte codes. */
enum scsi_host_status {
DID_OK = 0x00 , /* NO error */
DID_NO_CONNECT = 0x01 , /* Couldn't connect before timeout period */
DID_BUS_BUSY = 0x02 , /* BUS stayed busy through time out period */
DID_TIME_OUT = 0x03 , /* TIMED OUT for other reason */
DID_BAD_TARGET = 0x04 , /* BAD target. */
DID_ABORT = 0x05 , /* Told to abort for some other reason */
DID_PARITY = 0x06 , /* Parity error */
DID_ERROR = 0x07 , /* Internal error */
DID_RESET = 0x08 , /* Reset by somebody. */
DID_BAD_INTR = 0x09 , /* Got an interrupt we weren't expecting. */
DID_PASSTHROUGH = 0x0a , /* Force command past mid-layer */
DID_SOFT_ERROR = 0x0b , /* The low level driver just wish a retry */
DID_IMM_RETRY = 0x0c , /* Retry without decrementing retry count */
DID_REQUEUE = 0x0d , /* Requeue command (no immediate retry) also
* without decrementing the retry count */
DID_TRANSPORT_DISRUPTED = 0x0e , /* Transport error disrupted execution
* and the driver blocked the port to
* recover the link . Transport class will
* retry or fail IO */
DID_TRANSPORT_FAILFAST = 0x0f , /* Transport class fastfailed the io */
2022-08-11 20:00:27 -05:00
/*
* We used to have DID_TARGET_FAILURE , DID_NEXUS_FAILURE ,
* DID_ALLOC_FAILURE and DID_MEDIUM_ERROR at 0x10 - 0x13 . For compat
* with userspace apps that parse the host byte for SG IO , we leave
* that block of codes unused and start at 0x14 below .
*/
2021-05-23 19:54:56 -07:00
DID_TRANSPORT_MARGINAL = 0x14 , /* Transport marginal errors */
} ;
# endif /* _SCSI_SCSI_STATUS_H */