-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
scsi: core: Introduce enums for the SAM and host status codes
Make it possible for the compiler to verify whether SAM and host status codes are used correctly. [mkp: resolve conflicts with Hannes' SCSI result series] Link: https://lore.kernel.org/r/20210524025457.11299-3-bvanassche@acm.org Cc: Hannes Reinecke <hare@suse.com> Reviewed-by: John Garry <john.garry@huawei.com> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
- Loading branch information
Bart Van Assche
authored and
Martin K. Petersen
committed
Jun 3, 2021
1 parent
d377f41
commit 149d0e4
Showing
5 changed files
with
91 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
/* 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 */ | ||
DID_TARGET_FAILURE = 0x10, /* Permanent target failure, do not retry on | ||
* other paths */ | ||
DID_NEXUS_FAILURE = 0x11, /* Permanent nexus failure, retry on other | ||
* paths might yield different results */ | ||
DID_ALLOC_FAILURE = 0x12, /* Space allocation on the device failed */ | ||
DID_MEDIUM_ERROR = 0x13, /* Medium error */ | ||
DID_TRANSPORT_MARGINAL = 0x14, /* Transport marginal errors */ | ||
}; | ||
|
||
#endif /* _SCSI_SCSI_STATUS_H */ |