Commit | Line | Data |
---|---|---|
149d0e48 BVA |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | ||
3 | #ifndef _SCSI_SCSI_STATUS_H | |
4 | #define _SCSI_SCSI_STATUS_H | |
5 | ||
6 | #include <linux/types.h> | |
7 | #include <scsi/scsi_proto.h> | |
8 | ||
9 | /* Message codes. */ | |
10 | enum scsi_msg_byte { | |
11 | COMMAND_COMPLETE = 0x00, | |
12 | EXTENDED_MESSAGE = 0x01, | |
13 | SAVE_POINTERS = 0x02, | |
14 | RESTORE_POINTERS = 0x03, | |
15 | DISCONNECT = 0x04, | |
16 | INITIATOR_ERROR = 0x05, | |
17 | ABORT_TASK_SET = 0x06, | |
18 | MESSAGE_REJECT = 0x07, | |
19 | NOP = 0x08, | |
20 | MSG_PARITY_ERROR = 0x09, | |
21 | LINKED_CMD_COMPLETE = 0x0a, | |
22 | LINKED_FLG_CMD_COMPLETE = 0x0b, | |
23 | TARGET_RESET = 0x0c, | |
24 | ABORT_TASK = 0x0d, | |
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 */ | |
29 | CLEAR_ACA = 0x16, | |
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, | |
35 | ACA = 0x24, | |
36 | QAS_REQUEST = 0x55, | |
37 | ||
38 | /* Old SCSI2 names, don't use in new code */ | |
39 | BUS_DEVICE_RESET = TARGET_RESET, | |
40 | ABORT = ABORT_TASK_SET, | |
41 | }; | |
42 | ||
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 | |
63 | * retry or fail IO */ | |
64 | DID_TRANSPORT_FAILFAST = 0x0f, /* Transport class fastfailed the io */ | |
68a3a910 MC |
65 | /* |
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. | |
70 | */ | |
149d0e48 BVA |
71 | DID_TRANSPORT_MARGINAL = 0x14, /* Transport marginal errors */ |
72 | }; | |
73 | ||
74 | #endif /* _SCSI_SCSI_STATUS_H */ |