75 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2 3#ifndef _SCSI_SCSI_STATUS_H4#define _SCSI_SCSI_STATUS_H5 6#include <linux/types.h>7#include <scsi/scsi_proto.h>8 9/* Message codes. */10enum 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. */44enum 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) also59 * without decrementing the retry count */60 DID_TRANSPORT_DISRUPTED = 0x0e, /* Transport error disrupted execution61 * and the driver blocked the port to62 * recover the link. Transport class will63 * retry or fail IO */64 DID_TRANSPORT_FAILFAST = 0x0f, /* Transport class fastfailed the io */65 /*66 * We used to have DID_TARGET_FAILURE, DID_NEXUS_FAILURE,67 * DID_ALLOC_FAILURE and DID_MEDIUM_ERROR at 0x10 - 0x13. For compat68 * with userspace apps that parse the host byte for SG IO, we leave69 * that block of codes unused and start at 0x14 below.70 */71 DID_TRANSPORT_MARGINAL = 0x14, /* Transport marginal errors */72};73 74#endif /* _SCSI_SCSI_STATUS_H */75