1 /* SPDX-License-Identifier: GPL-2.0 */
3 #ifndef _SCSI_SCSI_STATUS_H
4 #define _SCSI_SCSI_STATUS_H
6 #include <linux/types.h>
7 #include <scsi/scsi_proto.h>
11 COMMAND_COMPLETE
= 0x00,
12 EXTENDED_MESSAGE
= 0x01,
14 RESTORE_POINTERS
= 0x03,
16 INITIATOR_ERROR
= 0x05,
17 ABORT_TASK_SET
= 0x06,
18 MESSAGE_REJECT
= 0x07,
20 MSG_PARITY_ERROR
= 0x09,
21 LINKED_CMD_COMPLETE
= 0x0a,
22 LINKED_FLG_CMD_COMPLETE
= 0x0b,
25 CLEAR_TASK_SET
= 0x0e,
26 INITIATE_RECOVERY
= 0x0f, /* SCSI-II only */
27 RELEASE_RECOVERY
= 0x10, /* SCSI-II only */
28 TERMINATE_IO_PROC
= 0x11, /* SCSI-II only */
30 LOGICAL_UNIT_RESET
= 0x17,
31 SIMPLE_QUEUE_TAG
= 0x20,
32 HEAD_OF_QUEUE_TAG
= 0x21,
33 ORDERED_QUEUE_TAG
= 0x22,
34 IGNORE_WIDE_RESIDUE
= 0x23,
38 /* Old SCSI2 names, don't use in new code */
39 BUS_DEVICE_RESET
= TARGET_RESET
,
40 ABORT
= ABORT_TASK_SET
,
43 /* Host byte codes. */
44 enum scsi_host_status
{
45 DID_OK
= 0x00, /* NO error */
46 DID_NO_CONNECT
= 0x01, /* Couldn't connect before timeout period */
47 DID_BUS_BUSY
= 0x02, /* BUS stayed busy through time out period */
48 DID_TIME_OUT
= 0x03, /* TIMED OUT for other reason */
49 DID_BAD_TARGET
= 0x04, /* BAD target. */
50 DID_ABORT
= 0x05, /* Told to abort for some other reason */
51 DID_PARITY
= 0x06, /* Parity error */
52 DID_ERROR
= 0x07, /* Internal error */
53 DID_RESET
= 0x08, /* Reset by somebody. */
54 DID_BAD_INTR
= 0x09, /* Got an interrupt we weren't expecting. */
55 DID_PASSTHROUGH
= 0x0a, /* Force command past mid-layer */
56 DID_SOFT_ERROR
= 0x0b, /* The low level driver just wish a retry */
57 DID_IMM_RETRY
= 0x0c, /* Retry without decrementing retry count */
58 DID_REQUEUE
= 0x0d, /* Requeue command (no immediate retry) also
59 * without decrementing the retry count */
60 DID_TRANSPORT_DISRUPTED
= 0x0e, /* Transport error disrupted execution
61 * and the driver blocked the port to
62 * recover the link. Transport class will
64 DID_TRANSPORT_FAILFAST
= 0x0f, /* Transport class fastfailed the io */
66 * We used to have DID_TARGET_FAILURE, DID_NEXUS_FAILURE,
67 * DID_ALLOC_FAILURE and DID_MEDIUM_ERROR at 0x10 - 0x13. For compat
68 * with userspace apps that parse the host byte for SG IO, we leave
69 * that block of codes unused and start at 0x14 below.
71 DID_TRANSPORT_MARGINAL
= 0x14, /* Transport marginal errors */
74 #endif /* _SCSI_SCSI_STATUS_H */