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