From: Damien Le Moal <dlemoal@kernel.org>
To: "Martin K . Petersen" <martin.petersen@oracle.com>,
"James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org,
Niklas Cassel <cassel@kernel.org>,
linux-usb@vger.kernel.org, Alan Stern <stern@rowland.harvard.edu>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-s390@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>
Subject: [PATCH v3 01/40] scsi: define all additional sense codes and their qualifiers
Date: Fri, 4 Sep 2026 09:26:05 +0900 [thread overview]
Message-ID: <20260904002644.157668-2-dlemoal@kernel.org> (raw)
In-Reply-To: <20260904002644.157668-1-dlemoal@kernel.org>
Introduce the file include/scsi/scsi_sense.h to define all existing
additional sense codes and their combinations with additional sense code
qualifiers, according to the most current T10 list available at
https://www.t10.org/lists/asc-num.txt.
Additional sense codes (ASCs) are individually defined as an 8-bit value
with the ASC_ name prefix. The combination of all ASCs with T10 defined
possible non-zero code qualifiers are defined as 16-bits values. The
16-bits value for ASCs with a zero ASCQ are defined together with the ASC
8-code using the ASC() macro.
The sense key macro definitions in include/scsi/scsi_proto.h are also
moved into this new file and scsi_sense.h is included in scsi_proto.h. The
helper function scsi_sense_code() is defined to facilitate generating a
16-bits sense code from 8-bits ASC and ASCQ. The accessors
scsi_sense_code_asc() and scsi_sense_code_ascq() are defined for the
reverse operation, that is, to respectively extract an ASC and an ASCQ
from a 16-bits sense code.
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
include/scsi/scsi_proto.h | 20 +-
include/scsi/scsi_sense.h | 943 ++++++++++++++++++++++++++++++++++++++
2 files changed, 944 insertions(+), 19 deletions(-)
create mode 100644 include/scsi/scsi_sense.h
diff --git a/include/scsi/scsi_proto.h b/include/scsi/scsi_proto.h
index c6b4a4dc8d9c..f742a3bfeb86 100644
--- a/include/scsi/scsi_proto.h
+++ b/include/scsi/scsi_proto.h
@@ -12,6 +12,7 @@
#include <linux/build_bug.h>
#include <linux/types.h>
+#include <scsi/scsi_sense.h>
/*
* SCSI opcodes
@@ -218,25 +219,6 @@ enum sam_status {
#define STATUS_MASK 0xfe
-/*
- * SENSE KEYS
- */
-#define NO_SENSE 0x00
-#define RECOVERED_ERROR 0x01
-#define NOT_READY 0x02
-#define MEDIUM_ERROR 0x03
-#define HARDWARE_ERROR 0x04
-#define ILLEGAL_REQUEST 0x05
-#define UNIT_ATTENTION 0x06
-#define DATA_PROTECT 0x07
-#define BLANK_CHECK 0x08
-#define VENDOR_SPECIFIC 0x09
-#define COPY_ABORTED 0x0a
-#define ABORTED_COMMAND 0x0b
-#define VOLUME_OVERFLOW 0x0d
-#define MISCOMPARE 0x0e
-#define COMPLETED 0x0f
-
/*
* Additional Sense Codes (ASC).
*/
diff --git a/include/scsi/scsi_sense.h b/include/scsi/scsi_sense.h
new file mode 100644
index 000000000000..e668ac1c2302
--- /dev/null
+++ b/include/scsi/scsi_sense.h
@@ -0,0 +1,943 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Definitions of SCSI sense keys, additional sense codes and additional sense
+ * code qualifiers.
+ */
+#ifndef _SCSI_SENSE_H_
+#define _SCSI_SENSE_H_
+
+#include <linux/types.h>
+
+/*
+ * Sense keys.
+ * See: https://www.t10.org/lists/2sensekey.htm
+ */
+enum scsi_sense_key {
+ NO_SENSE = 0x00,
+ RECOVERED_ERROR = 0x01,
+ NOT_READY = 0x02,
+ MEDIUM_ERROR = 0x03,
+ HARDWARE_ERROR = 0x04,
+ ILLEGAL_REQUEST = 0x05,
+ UNIT_ATTENTION = 0x06,
+ DATA_PROTECT = 0x07,
+ BLANK_CHECK = 0x08,
+ VENDOR_SPECIFIC = 0x09,
+ COPY_ABORTED = 0x0a,
+ ABORTED_COMMAND = 0x0b,
+ VOLUME_OVERFLOW = 0x0d,
+ MISCOMPARE = 0x0e,
+ COMPLETED = 0x0f,
+};
+
+#define ASC_DEF(name) ASC_##name
+#define ASC(name, code) \
+ ASC_DEF(name) = (code), \
+ name = ((code) << 8) | 0x00
+
+/*
+ * SCSI additional sense codes and sense codes qualifiers.
+ * See: https://www.t10.org/lists/asc-num.txt
+ * The definitions are sorted in increasing sense code value order.
+ * The additional sense code and its qualifier are combined as a single value
+ * equal to (ASC << 8) | ASCQ.
+ */
+enum scsi_sense_code {
+ ASC(NO_ADDITIONAL_SENSE_INFORMATION, 0x00),
+ FILEMARK_DETECTED = 0x0001,
+ END_OF_PARTITION_MEDIUM_DETECTED = 0x0002,
+ SETMARK_DETECTED = 0x0003,
+ BEGINNING_OF_PARTITION_MEDIUM_DETECTED = 0x0004,
+ END_OF_DATA_DETECTED = 0x0005,
+ IO_PROCESS_TERMINATED = 0x0006,
+ PROGRAMMABLE_EARLY_WARNING_DETECTED = 0x0007,
+ AUDIO_PLAY_OP_IN_PROGRESS = 0x0011,
+ AUDIO_PLAY_OP_PAUSED = 0x0012,
+ AUDIO_PLAY_OP_SUCCESSFULLY_COMPLETED = 0x0013,
+ AUDIO_PLAY_OP_STOPPED_DUE_TO_ERROR = 0x0014,
+ NO_CURRENT_AUDIO_STATUS_TO_RETURN = 0x0015,
+ OP_IN_PROGRESS = 0x0016,
+ CLEANING_REQUESTED = 0x0017,
+ ERASE_OP_IN_PROGRESS = 0x0018,
+ LOCATE_OP_IN_PROGRESS = 0x0019,
+ REWIND_OP_IN_PROGRESS = 0x001A,
+ SET_CAPACITY_OP_IN_PROGRESS = 0x001B,
+ VERIFY_OP_IN_PROGRESS = 0x001C,
+ ATA_PASS_THROUGH_INFORMATION_AVAILABLE = 0x001D,
+ CONFLICTING_SA_CREATION_REQUEST = 0x001E,
+ LU_TRANSITIONING_TO_ANOTHER_POWER_CONDITION = 0x001F,
+ EXTENDED_COPY_INFORMATION_AVAILABLE = 0x0020,
+ ATOMIC_COMMAND_ABORTED_DUE_TO_ACA = 0x0021,
+ DEFERRED_MICROCODE_IS_PENDING = 0x0022,
+ OVERLAPPING_ATOMIC_COMMAND_IN_PROGRESS = 0x0023,
+
+ ASC(NO_INDEX_SECTOR_SIGNAL, 0x01),
+
+ ASC(NO_SEEK_COMPLETE, 0x02),
+
+ ASC(PERIPHERAL_DEVICE_WRITE_FAULT, 0x03),
+ NO_WRITE_CURRENT = 0x0301,
+ EXCESSIVE_WRITE_ERRORS = 0x0302,
+
+ ASC(LU_NOT_READY, 0x04),
+ LU_IS_IN_PROCESS_OF_BECOMING_READY = 0x0401,
+ LU_NOT_READY_INITIALIZING_COMMAND_REQUIRED = 0x0402,
+ LU_NOT_READY_MANUAL_INTERVENTION_REQUIRED = 0x0403,
+ LU_NOT_READY_FORMAT_IN_PROGRESS = 0x0404,
+ LU_NOT_READY_REBUILD_IN_PROGRESS = 0x0405,
+ LU_NOT_READY_RECALCULATION_IN_PROGRESS = 0x0406,
+ LU_NOT_READY_OP_IN_PROGRESS = 0x0407,
+ LU_NOT_READY_LONG_WRITE_IN_PROGRESS = 0x0408,
+ LU_NOT_READY_SELFTEST_IN_PROGRESS = 0x0409,
+ LU_NOT_ACCESSIBLE_ASYMMETRIC_ACCESS_STATE_TRANSITION = 0x040A,
+ LU_NOT_ACCESSIBLE_TARGET_PORT_IN_STANDBY_STATE = 0x040B,
+ LU_NOT_ACCESSIBLE_TARGET_PORT_IN_UNAVAILABLE_STATE = 0x040C,
+ LU_NOT_READY_STRUCTURE_CHECK_REQUIRED = 0x040D,
+ LU_NOT_READY_SECURITY_SESSION_IN_PROGRESS = 0x040E,
+ LU_NOT_READY_AUXILIARY_MEMORY_NOT_ACCESSIBLE = 0x0410,
+ LU_NOT_READY_NOTIFY_REQUIRED = 0x0411,
+ LU_NOT_READY_OFFLINE = 0x0412,
+ LU_NOT_READY_SA_CREATION_IN_PROGRESS = 0x0413,
+ LU_NOT_READY_SPACE_ALLOCATION_IN_PROGRESS = 0x0414,
+ LU_NOT_READY_ROBOTICS_DISABLED = 0x0415,
+ LU_NOT_READY_CONFIG_REQUIRED = 0x0416,
+ LU_NOT_READY_CALIBRATION_REQUIRED = 0x0417,
+ LU_NOT_READY_A_DOOR_IS_OPEN = 0x0418,
+ LU_NOT_READY_OPERATING_IN_SEQUENTIAL_MODE = 0x0419,
+ LU_NOT_READY_START_STOP_UNIT_COMMAND_IN_PROGRESS = 0x041A,
+ LU_NOT_READY_SANITIZE_IN_PROGRESS = 0x041B,
+ LU_NOT_READY_ADDITIONAL_POWER_USE_NOT_YET_GRANTED = 0x041C,
+ LU_NOT_READY_CONFIG_IN_PROGRESS = 0x041D,
+ LU_NOT_READY_MICROCODE_ACTIVATION_REQUIRED = 0x041E,
+ LU_NOT_READY_MICROCODE_DOWNLOAD_REQUIRED = 0x041F,
+ LU_NOT_READY_LU_RESET_REQUIRED = 0x0420,
+ LU_NOT_READY_HARD_RESET_REQUIRED = 0x0421,
+ LU_NOT_READY_POWER_CYCLE_REQUIRED = 0x0422,
+ LU_NOT_READY_AFFILIATION_REQUIRED = 0x0423,
+ DEPOPULATION_IN_PROGRESS = 0x0424,
+ DEPOPULATION_RESTORATION_IN_PROGRESS = 0x0425,
+
+ ASC(LU_DOES_NOT_RESPOND_TO_SELECTION, 0x05),
+
+ ASC(NO_REFERENCE_POSITION_FOUND, 0x06),
+
+ ASC(MULTIPLE_PERIPHERAL_DEVICES_SELECTED, 0x07),
+
+ ASC(LU_COMMUNICATION_FAILURE, 0x08),
+ LU_COMMUNICATION_TIMEOUT = 0x0801,
+ LU_COMMUNICATION_PARITY_ERROR = 0x0802,
+ LU_COMMUNICATION_CRC_ERROR = 0x0803,
+ UNREACHABLE_COPY_TARGET = 0x0804,
+
+ ASC(TRACK_FOLLOWING_ERROR, 0x09),
+ TRACKING_SERVO_FAILURE = 0x0901,
+ FOCUS_SERVO_FAILURE = 0x0902,
+ SPINDLE_SERVO_FAILURE = 0x0903,
+ HEAD_SELECT_FAULT = 0x0904,
+ VIBRATION_INDUCED_TRACKING_ERROR = 0x0905,
+
+ ASC(ERROR_LOG_OVERFLOW, 0x0A),
+
+ ASC(WARNING, 0x0B),
+ WARNING_SPECIFIED_TEMPERATURE_EXCEEDED = 0x0B01,
+ WARNING_ENCLOSURE_DEGRADED = 0x0B02,
+ WARNING_BACKGROUND_SELFTEST_FAILED = 0x0B03,
+ WARNING_BACKGROUND_PRESCAN_DETECTED_MEDIUM_ERROR = 0x0B04,
+ WARNING_BACKGROUND_MEDIUM_SCAN_DETECTED_MEDIUM_ERROR = 0x0B05,
+ WARNING_NONVOLATILE_CACHE_NOW_VOLATILE = 0x0B06,
+ WARNING_DEGRADED_POWER_TO_NONVOLATILE_CACHE = 0x0B07,
+ WARNING_POWER_LOSS_EXPECTED = 0x0B08,
+ WARNING_DEVICE_STATISTICS_NOTIFICATION_ACTIVE = 0x0B09,
+ WARNING_HIGH_CRITICAL_TEMPERATURE_LIMIT_EXCEEDED = 0x0B0A,
+ WARNING_LOW_CRITICAL_TEMPERATURE_LIMIT_EXCEEDED = 0x0B0B,
+ WARNING_HIGH_OPERATING_TEMPERATURE_LIMIT_EXCEEDED = 0x0B0C,
+ WARNING_LOW_OPERATING_TEMPERATURE_LIMIT_EXCEEDED = 0x0B0D,
+ WARNING_HIGH_CRITICAL_HUMIDITY_LIMIT_EXCEEDED = 0x0B0E,
+ WARNING_LOW_CRITICAL_HUMIDITY_LIMIT_EXCEEDED = 0x0B0F,
+ WARNING_HIGH_OPERATING_HUMIDITY_LIMIT_EXCEEDED = 0x0B10,
+ WARNING_LOW_OPERATING_HUMIDITY_LIMIT_EXCEEDED = 0x0B11,
+ WARNING_MICROCODE_SECURITY_AT_RISK = 0x0B12,
+ WARNING_MICROCODE_DIGITAL_SIGNATURE_VALIDATION_FAILURE = 0x0B13,
+ WARNING_PHYSICAL_ELEMENT_STATUS_CHANGE = 0x0B14,
+
+ ASC(WRITE_ERROR, 0x0C),
+ WRITE_ERROR_RECOVERED_WITH_AUTO_REALLOCATION = 0x0C01,
+ WRITE_ERROR_AUTO_REALLOCATION_FAILED = 0x0C02,
+ WRITE_ERROR_RECOMMEND_REASSIGNMENT = 0x0C03,
+ COMPRESSION_CHECK_MISCOMPARE_ERROR = 0x0C04,
+ DATA_EXPANSION_OCCURRED_DURING_COMPRESSION = 0x0C05,
+ BLOCK_NOT_COMPRESSIBLE = 0x0C06,
+ WRITE_ERROR_RECOVERY_NEEDED = 0x0C07,
+ WRITE_ERROR_RECOVERY_FAILED = 0x0C08,
+ WRITE_ERROR_LOSS_OF_STREAMING = 0x0C09,
+ WRITE_ERROR_PADDING_BLOCKS_ADDED = 0x0C0A,
+ AUXILIARY_MEMORY_WRITE_ERROR = 0x0C0B,
+ WRITE_ERROR_UNEXPECTED_UNSOLICITED_DATA = 0x0C0C,
+ WRITE_ERROR_NOT_ENOUGH_UNSOLICITED_DATA = 0x0C0D,
+ MULTIPLE_WRITE_ERRORS = 0x0C0E,
+ DEFECTS_IN_ERROR_WINDOW = 0x0C0F,
+ INCOMPLETE_MULTIPLE_ATOMIC_WRITE_OPERATIONS = 0x0C10,
+ WRITE_ERROR_RECOVERY_SCAN_NEEDED = 0x0C11,
+ WRITE_ERROR_INSUFFICIENT_ZONE_RESOURCES = 0x0C12,
+
+ ASC(ERROR_DETECTED_BY_THIRD_PARTY_TEMPORARY_INITIATOR, 0x0D),
+ THIRD_PARTY_DEVICE_FAILURE = 0x0D01,
+ COPY_TARGET_DEVICE_NOT_REACHABLE = 0x0D02,
+ INCORRECT_COPY_TARGET_DEVICE_TYPE = 0x0D03,
+ COPY_TARGET_DEVICE_DATA_UNDERRUN = 0x0D04,
+ COPY_TARGET_DEVICE_DATA_OVERRUN = 0x0D05,
+
+ ASC(INVALID_INFORMATION_UNIT, 0x0E),
+ INFORMATION_UNIT_TOO_SHORT = 0x0E01,
+ INFORMATION_UNIT_TOO_LONG = 0x0E02,
+ INVALID_FIELD_IN_COMMAND_INFORMATION_UNIT = 0x0E03,
+
+ ASC(ID_CRC_OR_ECC_ERROR, 0x10),
+ LOGICAL_BLOCK_GUARD_CHECK_FAILED = 0x1001,
+ LOGICAL_BLOCK_APPLICATION_TAG_CHECK_FAILED = 0x1002,
+ LOGICAL_BLOCK_REFERENCE_TAG_CHECK_FAILED = 0x1003,
+ LOGICAL_BLOCK_PROTECTION_ERROR_ON_RECOVER_BUFFERED_DATA = 0x1004,
+ LOGICAL_BLOCK_PROTECTION_METHOD_ERROR = 0x1005,
+
+ ASC(UNRECOVERED_READ_ERROR, 0x11),
+ READ_RETRIES_EXHAUSTED = 0x1101,
+ ERROR_TOO_LONG_TO_CORRECT = 0x1102,
+ MULTIPLE_READ_ERRORS = 0x1103,
+ UNRECOVERED_READ_ERROR_AUTO_REALLOCATE_FAILED = 0x1104,
+ LEC_UNCORRECTABLE_ERROR = 0x1105,
+ CIRC_UNRECOVERED_ERROR = 0x1106,
+ DATA_RESYNCHRONIZATION_ERROR = 0x1107,
+ INCOMPLETE_BLOCK_READ = 0x1108,
+ NO_GAP_FOUND = 0x1109,
+ MISCORRECTED_ERROR = 0x110A,
+ UNRECOVERED_READ_ERROR_RECOMMEND_REASSIGNMENT = 0x110B,
+ UNRECOVERED_READ_ERROR_RECOMMEND_REWRITE_THE_DATA = 0x110C,
+ DECOMPRESSION_CRC_ERROR = 0x110D,
+ CANNOT_DECOMPRESS_USING_DECLARED_ALGORITHM = 0x110E,
+ ERROR_READING_UPC_EAN_NUMBER = 0x110F,
+ ERROR_READING_ISRC_NUMBER = 0x1110,
+ READ_ERROR_LOSS_OF_STREAMING = 0x1111,
+ AUXILIARY_MEMORY_READ_ERROR = 0x1112,
+ READ_ERROR_FAILED_RETRANSMISSION_REQUEST = 0x1113,
+ READ_ERROR_LBA_MARKED_BAD_BY_APPLICATION_CLIENT = 0x1114,
+ WRITE_AFTER_SANITIZE_REQUIRED = 0x1115,
+
+ ASC(ADDRESS_MARK_NOT_FOUND_FOR_ID_FIELD, 0x12),
+
+ ASC(ADDRESS_MARK_NOT_FOUND_FOR_DATA_FIELD, 0x13),
+
+ ASC(RECORDED_ENTITY_NOT_FOUND, 0x14),
+ RECORD_NOT_FOUND = 0x1401,
+ FILEMARK_OR_SETMARK_NOT_FOUND = 0x1402,
+ END_OF_DATA_NOT_FOUND = 0x1403,
+ BLOCK_SEQUENCE_ERROR = 0x1404,
+ RECORD_NOT_FOUND_RECOMMEND_REASSIGNMENT = 0x1405,
+ RECORD_NOT_FOUND_DATA_AUTO_REALLOCATED = 0x1406,
+ LOCATE_OPERATION_FAILURE = 0x1407,
+
+ ASC(RANDOM_POSITIONING_ERROR, 0x15),
+ MECHANICAL_POSITIONING_ERROR = 0x1501,
+ POSITIONING_ERROR_DETECTED_BY_READ_OF_MEDIUM = 0x1502,
+
+ ASC(DATA_SYNCHRONIZATION_MARK_ERROR, 0x16),
+ DATA_SYNC_ERROR_DATA_REWRITTEN = 0x1601,
+ DATA_SYNC_ERROR_RECOMMEND_REWRITE = 0x1602,
+ DATA_SYNC_ERROR_DATA_AUTO_REALLOCATED = 0x1603,
+ DATA_SYNC_ERROR_RECOMMEND_REASSIGNMENT = 0x1604,
+
+ ASC(RECOVERED_DATA_WITH_NO_ERROR_CORRECTION_APPLIED, 0x17),
+ RECOVERED_DATA_WITH_RETRIES = 0x1701,
+ RECOVERED_DATA_WITH_POSITIVE_HEAD_OFFSET = 0x1702,
+ RECOVERED_DATA_WITH_NEGATIVE_HEAD_OFFSET = 0x1703,
+ RECOVERED_DATA_WITH_RETRIES_AND_OR_CIRC_APPLIED = 0x1704,
+ RECOVERED_DATA_USING_PREVIOUS_SECTOR_ID = 0x1705,
+ RECOVERED_DATA_WITHOUT_ECC_DATA_AUTO_REALLOCATED = 0x1706,
+ RECOVERED_DATA_WITHOUT_ECC_RECOMMEND_REASSIGNMENT = 0x1707,
+ RECOVERED_DATA_WITHOUT_ECC_RECOMMEND_REWRITE = 0x1708,
+ RECOVERED_DATA_WITHOUT_ECC_DATA_REWRITTEN = 0x1709,
+
+ ASC(RECOVERED_DATA_WITH_ERROR_CORRECTION_APPLIED, 0x18),
+ RECOVERED_DATA_WITH_ERROR_CORRECTION_RETRIES_APPLIED = 0x1801,
+ RECOVERED_DATA_DATA_AUTO_REALLOCATED = 0x1802,
+ RECOVERED_DATA_WITH_CIRC = 0x1803,
+ RECOVERED_DATA_WITH_LEC = 0x1804,
+ RECOVERED_DATA_RECOMMEND_REASSIGNMENT = 0x1805,
+ RECOVERED_DATA_RECOMMEND_REWRITE = 0x1806,
+ RECOVERED_DATA_WITH_ECC_DATA_REWRITTEN = 0x1807,
+ RECOVERED_DATA_WITH_LINKING = 0x1808,
+
+ ASC(DEFECT_LIST_ERROR, 0x19),
+ DEFECT_LIST_NOT_AVAILABLE = 0x1901,
+ DEFECT_LIST_ERROR_IN_PRIMARY_LIST = 0x1902,
+ DEFECT_LIST_ERROR_IN_GROWN_LIST = 0x1903,
+
+ ASC(PARAMETER_LIST_LENGTH_ERROR, 0x1A),
+
+ ASC(SYNCHRONOUS_DATA_TRANSFER_ERROR, 0x1B),
+
+ ASC(DEFECT_LIST_NOT_FOUND, 0x1C),
+ PRIMARY_DEFECT_LIST_NOT_FOUND = 0x1C01,
+ GROWN_DEFECT_LIST_NOT_FOUND = 0x1C02,
+
+ ASC(MISCOMPARE_DURING_VERIFY_OPERATION, 0x1D),
+ MISCOMPARE_VERIFY_OF_UNMAPPED_LBA = 0x1D01,
+
+ ASC(RECOVERED_ID_WITH_ECC_CORRECTION, 0x1E),
+
+ ASC(PARTIAL_DEFECT_LIST_TRANSFER, 0x1F),
+
+ ASC(INVALID_COMMAND_OP_CODE, 0x20),
+ ACCESS_DENIED_INITIATOR_PENDING_ENROLLED = 0x2001,
+ ACCESS_DENIED_NO_ACCESS_RIGHTS = 0x2002,
+ ACCESS_DENIED_INVALID_MGMT_ID_KEY = 0x2003,
+ ILLEGAL_COMMAND_WHILE_IN_WRITE_CAPABLE_STATE = 0x2004,
+ ILLEGAL_COMMAND_WHILE_IN_EXPLICIT_ADDRESS_MODE = 0x2006,
+ ILLEGAL_COMMAND_WHILE_IN_IMPLICIT_ADDRESS_MODE = 0x2007,
+ ACCESS_DENIED_ENROLLMENT_CONFLICT = 0x2008,
+ ACCESS_DENIED_INVALID_LU_IDENTIFIER = 0x2009,
+ ACCESS_DENIED_INVALID_PROXY_TOKEN = 0x200A,
+ ACCESS_DENIED_ACL_LUN_CONFLICT = 0x200B,
+ ILLEGAL_COMMAND_WHEN_NOT_IN_APPEND_ONLY_MODE = 0x200C,
+ NOT_AN_ADMINISTRATIVE_LOGICAL_UNIT = 0x200D,
+ NOT_A_SUBSIDIARY_LOGICAL_UNIT = 0x200E,
+ NOT_A_CONGLOMERATE_LOGICAL_UNIT = 0x200F,
+
+ ASC(LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, 0x21),
+ INVALID_ELEMENT_ADDRESS = 0x2101,
+ INVALID_ADDRESS_FOR_WRITE = 0x2102,
+ INVALID_WRITE_CROSSING_LAYER_JUMP = 0x2103,
+ UNALIGNED_WRITE_COMMAND = 0x2104,
+ WRITE_BOUNDARY_VIOLATION = 0x2105,
+ ATTEMPT_TO_READ_INVALID_DATA = 0x2106,
+ READ_BOUNDARY_VIOLATION = 0x2107,
+ MISALIGNED_WRITE_COMMAND = 0x2108,
+ ATTEMPT_TO_ACCESS_GAP_ZONE = 0x2109,
+
+ ASC(ILLEGAL_FUNCTION, 0x22),
+
+ ASC(INVALID_TOKEN_OP, 0x23),
+ INVALID_TOKEN_OP_UNSUPPORTED_TOKEN_TYPE = 0x2301,
+ INVALID_TOKEN_OP_REMOTE_TOKEN_USAGE_NOT_SUPPORTED = 0x2302,
+ INVALID_TOKEN_OP_REMOTE_ROD_TOKEN_CREATION_NOT_SUPPORTED = 0x2303,
+ INVALID_TOKEN_OP_TOKEN_UNKNOWN = 0x2304,
+ INVALID_TOKEN_OP_TOKEN_CORRUPT = 0x2305,
+ INVALID_TOKEN_OP_TOKEN_REVOKED = 0x2306,
+ INVALID_TOKEN_OP_TOKEN_EXPIRED = 0x2307,
+ INVALID_TOKEN_OP_TOKEN_CANCELLED = 0x2308,
+ INVALID_TOKEN_OP_TOKEN_DELETED = 0x2309,
+ INVALID_TOKEN_OP_INVALID_TOKEN_LENGTH = 0x230A,
+
+ ASC(INVALID_FIELD_IN_CDB, 0x24),
+ CDB_DECRYPTION_ERROR = 0x2401,
+ SECURITY_AUDIT_VALUE_FROZEN = 0x2404,
+ SECURITY_WORKING_KEY_FROZEN = 0x2405,
+ NONCE_NOT_UNIQUE = 0x2406,
+ NONCE_TIMESTAMP_OUT_OF_RANGE = 0x2407,
+ INVALID_XCDB = 0x2408,
+ INVALID_FAST_FORMAT = 0x2409,
+
+ ASC(LU_NOT_SUPPORTED, 0x25),
+
+ ASC(INVALID_FIELD_IN_PARAMETER_LIST, 0x26),
+ PARAMETER_NOT_SUPPORTED = 0x2601,
+ PARAMETER_VALUE_INVALID = 0x2602,
+ THRESHOLD_PARAMETERS_NOT_SUPPORTED = 0x2603,
+ INVALID_RELEASE_OF_PERSISTENT_RESERVATION = 0x2604,
+ DATA_DECRYPTION_ERROR = 0x2605,
+ TOO_MANY_TARGET_DESCRIPTORS = 0x2606,
+ UNSUPPORTED_TARGET_DESCRIPTOR_TYPE_CODE = 0x2607,
+ TOO_MANY_SEGMENT_DESCRIPTORS = 0x2608,
+ UNSUPPORTED_SEGMENT_DESCRIPTOR_TYPE_CODE = 0x2609,
+ UNEXPECTED_INEXACT_SEGMENT = 0x260A,
+ INLINE_DATA_LENGTH_EXCEEDED = 0x260B,
+ INVALID_OP_FOR_COPY_SOURCE_OR_DESTINATION = 0x260C,
+ COPY_SEGMENT_GRANULARITY_VIOLATION = 0x260D,
+ INVALID_PARAMETER_WHILE_PORT_IS_ENABLED = 0x260E,
+ INVALID_DATA_OUT_BUFFER_INTEGRITY_CHECK_VALUE = 0x260F,
+ DATA_DECRYPTION_KEY_FAIL_LIMIT_REACHED = 0x2610,
+ INCOMPLETE_KEY_ASSOCIATED_DATA_SET = 0x2611,
+ VENDOR_SPECIFIC_KEY_REFERENCE_NOT_FOUND = 0x2612,
+ APPLICATION_TAG_MODE_PAGE_IS_INVALID = 0x2613,
+ TAPE_STREAM_MIRRORING_PREVENTED = 0x2614,
+ COPY_SOURCE_OR_COPY_DESTINATION_NOT_AUTHORIZED = 0x2615,
+ FAST_COPY_NOT_POSSIBLE = 0x2616,
+
+ ASC(WRITE_PROTECTED, 0x27),
+ HW_WRITE_PROTECTED = 0x2701,
+ LU_SOFTWARE_WRITE_PROTECTED = 0x2702,
+ ASSOCIATED_WRITE_PROTECT = 0x2703,
+ PERSISTENT_WRITE_PROTECT = 0x2704,
+ PERMANENT_WRITE_PROTECT = 0x2705,
+ CONDITIONAL_WRITE_PROTECT = 0x2706,
+ SPACE_ALLOCATION_FAILED_WRITE_PROTECT = 0x2707,
+ ZONE_IS_READ_ONLY = 0x2708,
+
+ ASC(NOT_READY_TO_READY_CHANGE_MEDIUM_MAY_HAVE_CHANGED, 0x28),
+ IMPORT_OR_EXPORT_ELEMENT_ACCESSED = 0x2801,
+ FORMAT_LAYER_MAY_HAVE_CHANGED = 0x2802,
+ IMPORT_EXPORT_ELEMENT_ACCESSED_MEDIUM_CHANGED = 0x2803,
+
+ ASC(POWER_ON_RESET_OR_BUS_DEVICE_RESET_OCCURRED, 0x29),
+ POWER_ON_OCCURRED = 0x2901,
+ SCSI_BUS_RESET_OCCURRED = 0x2902,
+ BUS_DEVICE_RESET_FUNCTION_OCCURRED = 0x2903,
+ DEVICE_INTERNAL_RESET = 0x2904,
+ TRANSCEIVER_MODE_CHANGED_TO_SINGLE_ENDED = 0x2905,
+ TRANSCEIVER_MODE_CHANGED_TO_LVD = 0x2906,
+ I_T_NEXUS_LOSS_OCCURRED = 0x2907,
+
+ ASC(PARAMETERS_CHANGED, 0x2A),
+ MODE_PARAMETERS_CHANGED = 0x2A01,
+ LOG_PARAMETERS_CHANGED = 0x2A02,
+ RESERVATIONS_PREEMPTED = 0x2A03,
+ RESERVATIONS_RELEASED = 0x2A04,
+ REGISTRATIONS_PREEMPTED = 0x2A05,
+ ASYMMETRIC_ACCESS_STATE_CHANGED = 0x2A06,
+ IMPLICIT_ASYMMETRIC_ACCESS_STATE_TRANSITION_FAILED = 0x2A07,
+ PRIORITY_CHANGED = 0x2A08,
+ CAPACITY_DATA_HAS_CHANGED = 0x2A09,
+ ERROR_HISTORY_I_T_NEXUS_CLEARED = 0x2A0A,
+ ERROR_HISTORY_SNAPSHOT_RELEASED = 0x2A0B,
+ ERROR_RECOVERY_ATTRIBUTES_HAVE_CHANGED = 0x2A0C,
+ DATA_ENCRYPTION_CAPABILITIES_CHANGED = 0x2A0D,
+ TIMESTAMP_CHANGED = 0x2A10,
+ DATA_ENCRYPTION_PARAMS_CHANGED_BY_ANOTHER_I_T_NEXUS = 0x2A11,
+ DATA_ENCRYPTION_PARAMS_CHANGED_BY_VENDOR_SPECIFIC_EVENT = 0x2A12,
+ DATA_ENCRYPTION_KEY_INSTANCE_COUNTER_HAS_CHANGED = 0x2A13,
+ SA_CREATION_CAPABILITIES_DATA_HAS_CHANGED = 0x2A14,
+ MEDIUM_REMOVAL_PREVENTION_PREEMPTED = 0x2A15,
+ ZONE_RESET_WRITE_POINTER_RECOMMENDED = 0x2A16,
+
+ ASC(COPY_CANNOT_EXECUTE_SINCE_HOST_CANNOT_DISCONNECT, 0x2B),
+
+ ASC(COMMAND_SEQUENCE_ERROR, 0x2C),
+ TOO_MANY_WINDOWS_SPECIFIED = 0x2C01,
+ INVALID_COMBINATION_OF_WINDOWS_SPECIFIED = 0x2C02,
+ CURRENT_PROGRAM_AREA_IS_NOT_EMPTY = 0x2C03,
+ CURRENT_PROGRAM_AREA_IS_EMPTY = 0x2C04,
+ ILLEGAL_POWER_CONDITION_REQUEST = 0x2C05,
+ PERSISTENT_PREVENT_CONFLICT = 0x2C06,
+ PREVIOUS_BUSY_STATUS = 0x2C07,
+ PREVIOUS_TASK_SET_FULL_STATUS = 0x2C08,
+ PREVIOUS_RESERVATION_CONFLICT_STATUS = 0x2C09,
+ PARTITION_OR_COLLECTION_CONTAINS_USER_OBJECTS = 0x2C0A,
+ NOT_RESERVED = 0x2C0B,
+ ORWRITE_GENERATION_DOES_NOT_MATCH = 0x2C0C,
+ RESET_WRITE_POINTER_NOT_ALLOWED = 0x2C0D,
+ ZONE_IS_OFFLINE = 0x2C0E,
+ STREAM_NOT_OPEN = 0x2C0F,
+ UNWRITTEN_DATA_IN_ZONE = 0x2C10,
+ DESCRIPTOR_FORMAT_SENSE_DATA_REQUIRED = 0x2C11,
+ ZONE_IS_INACTIVE = 0x2C12,
+ WELL_KNOWN_LU_ACCESS_REQUIRED = 0x2C13,
+
+ ASC(OVERWRITE_ERROR_ON_UPDATE_IN_PLACE, 0x2D),
+
+ ASC(INSUFFICIENT_TIME_FOR_OPERATION, 0x2E),
+ COMMAND_TIMEOUT_BEFORE_PROCESSING = 0x2E01,
+ COMMAND_TIMEOUT_DURING_PROCESSING = 0x2E02,
+ COMMAND_TIMEOUT_DURING_PROCESSING_DUE_TO_ERROR_RECOVERY = 0x2E03,
+
+ ASC(COMMANDS_CLEARED_BY_ANOTHER_INITIATOR, 0x2F),
+ COMMANDS_CLEARED_BY_POWER_LOSS_NOTIFICATION = 0x2F01,
+ COMMANDS_CLEARED_BY_DEVICE_SERVER = 0x2F02,
+ SOME_COMMANDS_CLEARED_BY_QUEUING_LAYER_EVENT = 0x2F03,
+
+ ASC(INCOMPATIBLE_MEDIUM_INSTALLED, 0x30),
+ CANNOT_READ_MEDIUM_UNKNOWN_FORMAT = 0x3001,
+ CANNOT_READ_MEDIUM_INCOMPATIBLE_FORMAT = 0x3002,
+ CLEANING_CARTRIDGE_INSTALLED = 0x3003,
+ CANNOT_WRITE_MEDIUM_UNKNOWN_FORMAT = 0x3004,
+ CANNOT_WRITE_MEDIUM_INCOMPATIBLE_FORMAT = 0x3005,
+ CANNOT_FORMAT_MEDIUM_INCOMPATIBLE_MEDIUM = 0x3006,
+ CLEANING_FAILURE = 0x3007,
+ CANNOT_WRITE_APPLICATION_CODE_MISMATCH = 0x3008,
+ CURRENT_SESSION_NOT_FIXATED_FOR_APPEND = 0x3009,
+ CLEANING_REQUEST_REJECTED = 0x300A,
+ WORM_MEDIUM_OVERWRITE_ATTEMPTED = 0x300C,
+ WORM_MEDIUM_INTEGRITY_CHECK = 0x300D,
+ MEDIUM_NOT_FORMATTED = 0x3010,
+ INCOMPATIBLE_VOLUME_TYPE = 0x3011,
+ INCOMPATIBLE_VOLUME_QUALIFIER = 0x3012,
+ CLEANING_VOLUME_EXPIRED = 0x3013,
+
+ ASC(MEDIUM_FORMAT_CORRUPTED, 0x31),
+ FORMAT_COMMAND_FAILED = 0x3101,
+ ZONED_FORMATTING_FAILED_DUE_TO_SPARE_LINKING = 0x3102,
+ SANITIZE_COMMAND_FAILED = 0x3103,
+ DEPOPULATION_FAILED = 0x3104,
+ DEPOPULATION_RESTORATION_FAILED = 0x3105,
+
+ ASC(NO_DEFECT_SPARE_LOCATION_AVAILABLE, 0x32),
+ DEFECT_LIST_UPDATE_FAILURE = 0x3201,
+
+ ASC(TAPE_LENGTH_ERROR, 0x33),
+
+ ASC(ENCLOSURE_FAILURE, 0x34),
+
+ ASC(ENCLOSURE_SERVICES_FAILURE, 0x35),
+ UNSUPPORTED_ENCLOSURE_FUNCTION = 0x3501,
+ ENCLOSURE_SERVICES_UNAVAILABLE = 0x3502,
+ ENCLOSURE_SERVICES_TRANSFER_FAILURE = 0x3503,
+ ENCLOSURE_SERVICES_TRANSFER_REFUSED = 0x3504,
+ ENCLOSURE_SERVICES_CHECKSUM_ERROR = 0x3505,
+
+ ASC(RIBBON_INK_OR_TONER_FAILURE, 0x36),
+
+ ASC(ROUNDED_PARAMETER, 0x37),
+
+ ASC(EVENT_STATUS_NOTIFICATION, 0x38),
+ ESN_POWER_MANAGEMENT_CLASS_EVENT = 0x3802,
+ ESN_MEDIA_CLASS_EVENT = 0x3804,
+ ESN_DEVICE_BUSY_CLASS_EVENT = 0x3806,
+ THIN_PROVISIONING_SOFT_THRESHOLD_REACHED = 0x3807,
+ DEPOPULATION_INTERRUPTED = 0x3808,
+ DEPOPULATION_RESTORATION_INTERRUPTED = 0x3809,
+
+ ASC(SAVING_PARAMETERS_NOT_SUPPORTED, 0x39),
+
+ ASC(MEDIUM_NOT_PRESENT, 0x3A),
+ MEDIUM_NOT_PRESENT_TRAY_CLOSED = 0x3A01,
+ MEDIUM_NOT_PRESENT_TRAY_OPEN = 0x3A02,
+ MEDIUM_NOT_PRESENT_LOADABLE = 0x3A03,
+ MEDIUM_NOT_PRESENT_MEDIUM_AUXILIARY_MEMORY_ACCESSIBLE = 0x3A04,
+
+ ASC(SEQUENTIAL_POSITIONING_ERROR, 0x3B),
+ TAPE_POSITION_ERROR_AT_BEGINNING_OF_MEDIUM = 0x3B01,
+ TAPE_POSITION_ERROR_AT_END_OF_MEDIUM = 0x3B02,
+ TAPE_OR_ELECTRONIC_VERTICAL_FORMS_UNIT_NOT_READY = 0x3B03,
+ SLEW_FAILURE = 0x3B04,
+ PAPER_JAM = 0x3B05,
+ FAILED_TO_SENSE_TOP_OF_FORM = 0x3B06,
+ FAILED_TO_SENSE_BOTTOM_OF_FORM = 0x3B07,
+ REPOSITION_ERROR = 0x3B08,
+ READ_PAST_END_OF_MEDIUM = 0x3B09,
+ READ_PAST_BEGINNING_OF_MEDIUM = 0x3B0A,
+ POSITION_PAST_END_OF_MEDIUM = 0x3B0B,
+ POSITION_PAST_BEGINNING_OF_MEDIUM = 0x3B0C,
+ MEDIUM_DESTINATION_ELEMENT_FULL = 0x3B0D,
+ MEDIUM_SOURCE_ELEMENT_EMPTY = 0x3B0E,
+ END_OF_MEDIUM_REACHED = 0x3B0F,
+ MEDIUM_MAGAZINE_NOT_ACCESSIBLE = 0x3B11,
+ MEDIUM_MAGAZINE_REMOVED = 0x3B12,
+ MEDIUM_MAGAZINE_INSERTED = 0x3B13,
+ MEDIUM_MAGAZINE_LOCKED = 0x3B14,
+ MEDIUM_MAGAZINE_UNLOCKED = 0x3B15,
+ MECHANICAL_POSITIONING_OR_CHANGER_ERROR = 0x3B16,
+ READ_PAST_END_OF_USER_OBJECT = 0x3B17,
+ ELEMENT_DISABLED = 0x3B18,
+ ELEMENT_ENABLED = 0x3B19,
+ DATA_TRANSFER_DEVICE_REMOVED = 0x3B1A,
+ DATA_TRANSFER_DEVICE_INSERTED = 0x3B1B,
+ TOO_MANY_LOGICAL_OBJECTS_ON_PARTITION_TO_SUPPORT_OP = 0x3B1C,
+ ELEMENT_STATIC_INFORMATION_CHANGED = 0x3B20,
+
+ ASC(INVALID_BITS_IN_IDENTIFY_MESSAGE, 0x3D),
+
+ ASC(LU_HAS_NOT_SELF_CONFIGURED_YET, 0x3E),
+ LU_FAILURE = 0x3E01,
+ TIMEOUT_ON_LOGICAL_UNIT = 0x3E02,
+ LU_FAILED_SELF_TEST = 0x3E03,
+ LU_UNABLE_TO_UPDATE_SELFTEST_LOG = 0x3E04,
+
+ ASC(TARGET_OPERATING_CONDITIONS_HAVE_CHANGED, 0x3F),
+ MICROCODE_HAS_BEEN_CHANGED = 0x3F01,
+ CHANGED_OPERATING_DEFINITION = 0x3F02,
+ INQUIRY_DATA_HAS_CHANGED = 0x3F03,
+ COMPONENT_DEVICE_ATTACHED = 0x3F04,
+ DEVICE_IDENTIFIER_CHANGED = 0x3F05,
+ REDUNDANCY_GROUP_CREATED_OR_MODIFIED = 0x3F06,
+ REDUNDANCY_GROUP_DELETED = 0x3F07,
+ SPARE_CREATED_OR_MODIFIED = 0x3F08,
+ SPARE_DELETED = 0x3F09,
+ VOLUME_SET_CREATED_OR_MODIFIED = 0x3F0A,
+ VOLUME_SET_DELETED = 0x3F0B,
+ VOLUME_SET_DEASSIGNED = 0x3F0C,
+ VOLUME_SET_REASSIGNED = 0x3F0D,
+ REPORTED_LUNS_DATA_HAS_CHANGED = 0x3F0E,
+ ECHO_BUFFER_OVERWRITTEN = 0x3F0F,
+ MEDIUM_LOADABLE = 0x3F10,
+ MEDIUM_AUXILIARY_MEMORY_ACCESSIBLE = 0x3F11,
+ iSCSI_IP_ADDRESS_ADDED = 0x3F12,
+ iSCSI_IP_ADDRESS_REMOVED = 0x3F13,
+ iSCSI_IP_ADDRESS_CHANGED = 0x3F14,
+ INSPECT_REFERRALS_SENSE_DESCRIPTORS = 0x3F15,
+ MICROCODE_HAS_BEEN_CHANGED_WITHOUT_RESET = 0x3F16,
+ ZONE_TRANSITION_TO_FULL = 0x3F17,
+ BIND_COMPLETED = 0x3F18,
+ BIND_REDIRECTED = 0x3F19,
+ SUBSIDIARY_BINDING_CHANGED = 0x3F1A,
+
+ ASC(RAM_FAILURE, 0x40),
+ /* DIAGNOSTIC_FAILURE_ON_COMPONENT_NN = 0x40NN */
+
+ ASC(DATA_PATH_FAILURE, 0x41),
+
+ ASC(POWER_ON_OR_SELFTEST_FAILURE, 0x42),
+
+ ASC(MESSAGE_ERROR, 0x43),
+
+ ASC(INTERNAL_TARGET_FAILURE, 0x44),
+ PERSISTENT_RESERVATION_INFORMATION_LOST = 0x4401,
+ ATA_DEVICE_FAILED_SET_FEATURES = 0x4471,
+
+ ASC(SELECT_OR_RESELECT_FAILURE, 0x45),
+
+ ASC(UNSUCCESSFUL_SOFT_RESET, 0x46),
+
+ ASC(SCSI_PARITY_ERROR, 0x47),
+ DATA_PHASE_CRC_ERROR_DETECTED = 0x4701,
+ SCSI_PARITY_ERROR_DETECTED_DURING_ST_DATA_PHASE = 0x4702,
+ INFORMATION_UNIT_iuCRC_ERROR_DETECTED = 0x4703,
+ ASYNCHRONOUS_INFORMATION_PROTECTION_ERROR_DETECTED = 0x4704,
+ PROTOCOL_SERVICE_CRC_ERROR = 0x4705,
+ PHY_TEST_FUNCTION_IN_PROGRESS = 0x4706,
+ SOME_COMMANDS_CLEARED_BY_ISCSI_PROTOCOL_EVENT = 0x477F,
+
+ ASC(INITIATOR_DETECTED_ERROR_MESSAGE_RECEIVED, 0x48),
+
+ ASC(INVALID_MESSAGE_ERROR, 0x49),
+
+ ASC(COMMAND_PHASE_ERROR, 0x4A),
+
+ ASC(DATA_PHASE_ERROR, 0x4B),
+ INVALID_TARGET_PORT_TRANSFER_TAG_RECEIVED = 0x4B01,
+ TOO_MUCH_WRITE_DATA = 0x4B02,
+ ACK_NAK_TIMEOUT = 0x4B03,
+ NAK_RECEIVED = 0x4B04,
+ DATA_OFFSET_ERROR = 0x4B05,
+ INITIATOR_RESPONSE_TIMEOUT = 0x4B06,
+ CONNECTION_LOST = 0x4B07,
+ DATA_IN_BUFFER_OVERFLOW_BUFFER_SIZE = 0x4B08,
+ DATA_IN_BUFFER_OVERFLOW_BUFFER_DESCRIPTOR_AREA = 0x4B09,
+ DATA_IN_BUFFER_ERROR = 0x4B0A,
+ DATA_OUT_BUFFER_OVERFLOW_BUFFER_SIZE = 0x4B0B,
+ DATA_OUT_BUFFER_OVERFLOW_BUFFER_DESCRIPTOR_AREA = 0x4B0C,
+ DATA_OUT_BUFFER_ERROR = 0x4B0D,
+ PCIE_FABRIC_ERROR = 0x4B0E,
+ PCIE_COMPLETION_TIMEOUT = 0x4B0F,
+ PCIE_COMPLETER_ABORT = 0x4B10,
+ PCIE_POISONED_TLP_RECEIVED = 0x4B11,
+ PCIE_ECRC_CHECK_FAILED = 0x4B12,
+ PCIE_UNSUPPORTED_REQUEST = 0x4B13,
+ PCIE_ACS_VIOLATION = 0x4B14,
+ PCIE_TLP_PREFIX_BLOCKED = 0x4B15,
+
+ ASC(LU_FAILED_SELF_CONFIGURATION, 0x4C),
+
+ ASC(TAGGED_OVERLAPPED_COMMANDS, 0x4D),
+
+ ASC(OVERLAPPED_COMMANDS_ATTEMPTED, 0x4E),
+
+ ASC(WRITE_APPEND_ERROR, 0x50),
+ WRITE_APPEND_POSITION_ERROR = 0x5001,
+ POSITION_ERROR_RELATED_TO_TIMING = 0x5002,
+
+ ASC(ERASE_FAILURE, 0x51),
+ ERASE_FAILURE_INCOMPLETE_ERASE_OP_DETECTED = 0x5101,
+
+ ASC(CARTRIDGE_FAULT, 0x52),
+
+ ASC(MEDIA_LOAD_OR_EJECT_FAILED, 0x53),
+ UNLOAD_TAPE_FAILURE = 0x5301,
+ MEDIUM_REMOVAL_PREVENTED = 0x5302,
+ MEDIUM_REMOVAL_PREVENTED_BY_DATA_TRANSFER_ELEMENT = 0x5303,
+ MEDIUM_THREAD_OR_UNTHREAD_FAILURE = 0x5304,
+ VOLUME_IDENTIFIER_INVALID = 0x5305,
+ VOLUME_IDENTIFIER_MISSING = 0x5306,
+ DUPLICATE_VOLUME_IDENTIFIER = 0x5307,
+ ELEMENT_STATUS_UNKNOWN = 0x5308,
+ DATA_TRANSFER_DEVICE_ERR_LOAD_FAILED = 0x5309,
+ DATA_TRANSFER_DEVICE_ERR_UNLOAD_FAILED = 0x530A,
+ DATA_TRANSFER_DEVICE_ERR_UNLOAD_MISSING = 0x530B,
+ DATA_TRANSFER_DEVICE_ERR_EJECT_FAILED = 0x530C,
+ DATA_TRANSFER_DEVICE_ERR_LIBRARY_COMMUNICATION_FAILED = 0x530D,
+
+ ASC(SCSI_TO_HOST_SYSTEM_INTERFACE_FAILURE, 0x54),
+
+ ASC(SYSTEM_RESOURCE_FAILURE, 0x55),
+ SYSTEM_BUFFER_FULL = 0x5501,
+ INSUFFICIENT_RESERVATION_RESOURCES = 0x5502,
+ INSUFFICIENT_RESOURCES = 0x5503,
+ INSUFFICIENT_REGISTRATION_RESOURCES = 0x5504,
+ INSUFFICIENT_ACCESS_CONTROL_RESOURCES = 0x5505,
+ AUXILIARY_MEMORY_OUT_OF_SPACE = 0x5506,
+ QUOTA_ERROR = 0x5507,
+ MAXIMUM_NUMBER_OF_SUPPLEMENTAL_DECRYPTION_KEYS_EXCEEDED = 0x5508,
+ MEDIUM_AUXILIARY_MEMORY_NOT_ACCESSIBLE = 0x5509,
+ DATA_CURRENTLY_UNAVAILABLE = 0x550A,
+ INSUFFICIENT_POWER_FOR_OPERATION = 0x550B,
+ INSUFFICIENT_RESOURCES_TO_CREATE_ROD = 0x550C,
+ INSUFFICIENT_RESOURCES_TO_CREATE_ROD_TOKEN = 0x550D,
+ INSUFFICIENT_ZONE_RESOURCES = 0x550E,
+ INSUFFICIENT_ZONE_RESOURCES_TO_COMPLETE_WRITE = 0x550F,
+ MAXIMUM_NUMBER_OF_STREAMS_OPEN = 0x5510,
+ INSUFFICIENT_RESOURCES_TO_BIND = 0x5511,
+
+ ASC(UNABLE_TO_RECOVER_TABLE_OF_CONTENTS, 0x57),
+
+ ASC(GENERATION_DOES_NOT_EXIST, 0x58),
+
+ ASC(UPDATED_BLOCK_READ, 0x59),
+
+ ASC(OPERATOR_REQUEST_OR_STATE_CHANGE_INPUT, 0x5A),
+ OPERATOR_MEDIUM_REMOVAL_REQUEST = 0x5A01,
+ OPERATOR_SELECTED_WRITE_PROTECT = 0x5A02,
+ OPERATOR_SELECTED_WRITE_PERMIT = 0x5A03,
+
+ ASC(LOG_EXCEPTION, 0x5B),
+ THRESHOLD_CONDITION_MET = 0x5B01,
+ LOG_COUNTER_AT_MAXIMUM = 0x5B02,
+ LOG_LIST_CODES_EXHAUSTED = 0x5B03,
+
+ ASC(RPL_STATUS_CHANGE, 0x5C),
+ SPINDLES_SYNCHRONIZED = 0x5C01,
+ SPINDLES_NOT_SYNCHRONIZED = 0x5C02,
+
+ ASC(FAILURE_PREDICTION_THRESHOLD_EXCEEDED, 0x5D),
+ MEDIA_FAILURE_PREDICTION_THRESHOLD_EXCEEDED = 0x5D01,
+ LU_FAILURE_PREDICTION_THRESHOLD_EXCEEDED = 0x5D02,
+ SPARE_AREA_EXHAUSTION_PREDICTION_THRESHOLD_EXCEEDED = 0x5D03,
+ HW_IMPENDING_FAILURE_GENERAL_HARD_DRIVE_FAILURE = 0x5D10,
+ HW_IMPENDING_FAILURE_DRIVE_ERROR_RATE_TOO_HIGH = 0x5D11,
+ HW_IMPENDING_FAILURE_DATA_ERROR_RATE_TOO_HIGH = 0x5D12,
+ HW_IMPENDING_FAILURE_SEEK_ERROR_RATE_TOO_HIGH = 0x5D13,
+ HW_IMPENDING_FAILURE_TOO_MANY_BLOCK_REASSIGNS = 0x5D14,
+ HW_IMPENDING_FAILURE_ACCESS_TIMES_TOO_HIGH = 0x5D15,
+ HW_IMPENDING_FAILURE_START_UNIT_TIMES_TOO_HIGH = 0x5D16,
+ HW_IMPENDING_FAILURE_CHANNEL_PARAMETRICS = 0x5D17,
+ HW_IMPENDING_FAILURE_CONTROLLER_DETECTED = 0x5D18,
+ HW_IMPENDING_FAILURE_THROUGHPUT_PERFORMANCE = 0x5D19,
+ HW_IMPENDING_FAILURE_SEEK_TIME_PERFORMANCE = 0x5D1A,
+ HW_IMPENDING_FAILURE_SPINUP_RETRY_COUNT = 0x5D1B,
+ HW_IMPENDING_FAILURE_DRIVE_CALIBRATION_RETRY_COUNT = 0x5D1C,
+ HW_IMPENDING_FAILURE_POWER_LOSS_PROTECTION_CIRCUIT = 0x5D1D,
+ CONTROLLER_IMPENDING_FAILURE_GENERAL_HARD_DRIVE_FAILURE = 0x5D20,
+ CONTROLLER_IMPENDING_FAILURE_DRIVE_ERROR_RATE_TOO_HIGH = 0x5D21,
+ CONTROLLER_IMPENDING_FAILURE_DATA_ERROR_RATE_TOO_HIGH = 0x5D22,
+ CONTROLLER_IMPENDING_FAILURE_SEEK_ERROR_RATE_TOO_HIGH = 0x5D23,
+ CONTROLLER_IMPENDING_FAILURE_TOO_MANY_BLOCK_REASSIGNS = 0x5D24,
+ CONTROLLER_IMPENDING_FAILURE_ACCESS_TIMES_TOO_HIGH = 0x5D25,
+ CONTROLLER_IMPENDING_FAILURE_START_UNIT_TIMES_TOO_HIGH = 0x5D26,
+ CONTROLLER_IMPENDING_FAILURE_CHANNEL_PARAMETRICS = 0x5D27,
+ CONTROLLER_IMPENDING_FAILURE_CONTROLLER_DETECTED = 0x5D28,
+ CONTROLLER_IMPENDING_FAILURE_THROUGHPUT_PERFORMANCE = 0x5D29,
+ CONTROLLER_IMPENDING_FAILURE_SEEK_TIME_PERFORMANCE = 0x5D2A,
+ CONTROLLER_IMPENDING_FAILURE_SPINUP_RETRY_COUNT = 0x5D2B,
+ CONTROLLER_IMPENDING_FAILURE_DRIVE_CALIBRATION_RETRY_COUNT = 0x5D2C,
+ DATA_CHANNEL_IMPENDING_FAILURE_GENERAL_HARD_DRIVE_FAILURE = 0x5D30,
+ DATA_CHANNEL_IMPENDING_FAILURE_DRIVE_ERROR_RATE_TOO_HIGH = 0x5D31,
+ DATA_CHANNEL_IMPENDING_FAILURE_DATA_ERROR_RATE_TOO_HIGH = 0x5D32,
+ DATA_CHANNEL_IMPENDING_FAILURE_SEEK_ERROR_RATE_TOO_HIGH = 0x5D33,
+ DATA_CHANNEL_IMPENDING_FAILURE_TOO_MANY_BLOCK_REASSIGNS = 0x5D34,
+ DATA_CHANNEL_IMPENDING_FAILURE_ACCESS_TIMES_TOO_HIGH = 0x5D35,
+ DATA_CHANNEL_IMPENDING_FAILURE_START_UNIT_TIMES_TOO_HIGH = 0x5D36,
+ DATA_CHANNEL_IMPENDING_FAILURE_CHANNEL_PARAMETRICS = 0x5D37,
+ DATA_CHANNEL_IMPENDING_FAILURE_CONTROLLER_DETECTED = 0x5D38,
+ DATA_CHANNEL_IMPENDING_FAILURE_THROUGHPUT_PERFORMANCE = 0x5D39,
+ DATA_CHANNEL_IMPENDING_FAILURE_SEEK_TIME_PERFORMANCE = 0x5D3A,
+ DATA_CHANNEL_IMPENDING_FAILURE_SPINUP_RETRY_COUNT = 0x5D3B,
+ DATA_CHANNEL_IMPENDING_FAILURE_DRIVE_CALIBRATION_RETRY_COUNT = 0x5D3C,
+ SERVO_IMPENDING_FAILURE_GENERAL_HARD_DRIVE_FAILURE = 0x5D40,
+ SERVO_IMPENDING_FAILURE_DRIVE_ERROR_RATE_TOO_HIGH = 0x5D41,
+ SERVO_IMPENDING_FAILURE_DATA_ERROR_RATE_TOO_HIGH = 0x5D42,
+ SERVO_IMPENDING_FAILURE_SEEK_ERROR_RATE_TOO_HIGH = 0x5D43,
+ SERVO_IMPENDING_FAILURE_TOO_MANY_BLOCK_REASSIGNS = 0x5D44,
+ SERVO_IMPENDING_FAILURE_ACCESS_TIMES_TOO_HIGH = 0x5D45,
+ SERVO_IMPENDING_FAILURE_START_UNIT_TIMES_TOO_HIGH = 0x5D46,
+ SERVO_IMPENDING_FAILURE_CHANNEL_PARAMETRICS = 0x5D47,
+ SERVO_IMPENDING_FAILURE_CONTROLLER_DETECTED = 0x5D48,
+ SERVO_IMPENDING_FAILURE_THROUGHPUT_PERFORMANCE = 0x5D49,
+ SERVO_IMPENDING_FAILURE_SEEK_TIME_PERFORMANCE = 0x5D4A,
+ SERVO_IMPENDING_FAILURE_SPINUP_RETRY_COUNT = 0x5D4B,
+ SERVO_IMPENDING_FAILURE_DRIVE_CALIBRATION_RETRY_COUNT = 0x5D4C,
+ SPINDLE_IMPENDING_FAILURE_GENERAL_HARD_DRIVE_FAILURE = 0x5D50,
+ SPINDLE_IMPENDING_FAILURE_DRIVE_ERROR_RATE_TOO_HIGH = 0x5D51,
+ SPINDLE_IMPENDING_FAILURE_DATA_ERROR_RATE_TOO_HIGH = 0x5D52,
+ SPINDLE_IMPENDING_FAILURE_SEEK_ERROR_RATE_TOO_HIGH = 0x5D53,
+ SPINDLE_IMPENDING_FAILURE_TOO_MANY_BLOCK_REASSIGNS = 0x5D54,
+ SPINDLE_IMPENDING_FAILURE_ACCESS_TIMES_TOO_HIGH = 0x5D55,
+ SPINDLE_IMPENDING_FAILURE_START_UNIT_TIMES_TOO_HIGH = 0x5D56,
+ SPINDLE_IMPENDING_FAILURE_CHANNEL_PARAMETRICS = 0x5D57,
+ SPINDLE_IMPENDING_FAILURE_CONTROLLER_DETECTED = 0x5D58,
+ SPINDLE_IMPENDING_FAILURE_THROUGHPUT_PERFORMANCE = 0x5D59,
+ SPINDLE_IMPENDING_FAILURE_SEEK_TIME_PERFORMANCE = 0x5D5A,
+ SPINDLE_IMPENDING_FAILURE_SPINUP_RETRY_COUNT = 0x5D5B,
+ SPINDLE_IMPENDING_FAILURE_DRIVE_CALIBRATION_RETRY_COUNT = 0x5D5C,
+ FW_IMPENDING_FAILURE_GENERAL_HARD_DRIVE_FAILURE = 0x5D60,
+ FW_IMPENDING_FAILURE_DRIVE_ERROR_RATE_TOO_HIGH = 0x5D61,
+ FW_IMPENDING_FAILURE_DATA_ERROR_RATE_TOO_HIGH = 0x5D62,
+ FW_IMPENDING_FAILURE_SEEK_ERROR_RATE_TOO_HIGH = 0x5D63,
+ FW_IMPENDING_FAILURE_TOO_MANY_BLOCK_REASSIGNS = 0x5D64,
+ FW_IMPENDING_FAILURE_ACCESS_TIMES_TOO_HIGH = 0x5D65,
+ FW_IMPENDING_FAILURE_START_UNIT_TIMES_TOO_HIGH = 0x5D66,
+ FW_IMPENDING_FAILURE_CHANNEL_PARAMETRICS = 0x5D67,
+ FW_IMPENDING_FAILURE_CONTROLLER_DETECTED = 0x5D68,
+ FW_IMPENDING_FAILURE_THROUGHPUT_PERFORMANCE = 0x5D69,
+ FW_IMPENDING_FAILURE_SEEK_TIME_PERFORMANCE = 0x5D6A,
+ FW_IMPENDING_FAILURE_SPINUP_RETRY_COUNT = 0x5D6B,
+ FW_IMPENDING_FAILURE_DRIVE_CALIBRATION_RETRY_COUNT = 0x5D6C,
+ MEDIA_IMPENDING_FAILURE_ENDURANCE_LIMIT_MET = 0x5D73,
+ FAILURE_PREDICTION_THRESHOLD_EXCEEDED_FALSE = 0x5DFF,
+
+ ASC(LOW_POWER_CONDITION_ON, 0x5E),
+ IDLE_CONDITION_ACTIVATED_BY_TIMER = 0x5E01,
+ STANDBY_CONDITION_ACTIVATED_BY_TIMER = 0x5E02,
+ IDLE_CONDITION_ACTIVATED_BY_COMMAND = 0x5E03,
+ STANDBY_CONDITION_ACTIVATED_BY_COMMAND = 0x5E04,
+ IDLE_B_CONDITION_ACTIVATED_BY_TIMER = 0x5E05,
+ IDLE_B_CONDITION_ACTIVATED_BY_COMMAND = 0x5E06,
+ IDLE_C_CONDITION_ACTIVATED_BY_TIMER = 0x5E07,
+ IDLE_C_CONDITION_ACTIVATED_BY_COMMAND = 0x5E08,
+ STANDBY_Y_CONDITION_ACTIVATED_BY_TIMER = 0x5E09,
+ STANDBY_Y_CONDITION_ACTIVATED_BY_COMMAND = 0x5E0A,
+ POWER_STATE_CHANGE_TO_ACTIVE = 0x5E41,
+ POWER_STATE_CHANGE_TO_IDLE = 0x5E42,
+ POWER_STATE_CHANGE_TO_STANDBY = 0x5E43,
+ POWER_STATE_CHANGE_TO_SLEEP = 0x5E45,
+ POWER_STATE_CHANGE_TO_DEVICE_CONTROL = 0x5E47,
+
+ ASC(LAMP_FAILURE, 0x60),
+
+ ASC(VIDEO_ACQUISITION_ERROR, 0x61),
+ UNABLE_TO_ACQUIRE_VIDEO = 0x6101,
+ OUT_OF_FOCUS = 0x6102,
+
+ ASC(SCAN_HEAD_POSITIONING_ERROR, 0x62),
+
+ ASC(END_OF_USER_AREA_ENCOUNTERED_ON_THIS_TRACK, 0x63),
+ PACKET_DOES_NOT_FIT_IN_AVAILABLE_SPACE = 0x6301,
+
+ ASC(ILLEGAL_MODE_FOR_THIS_TRACK, 0x64),
+ INVALID_PACKET_SIZE = 0x6401,
+
+ ASC(VOLTAGE_FAULT, 0x65),
+
+ ASC(AUTOMATIC_DOCUMENT_FEEDER_COVER_UP, 0x66),
+ AUTOMATIC_DOCUMENT_FEEDER_LIFT_UP = 0x6601,
+ DOCUMENT_JAM_IN_AUTOMATIC_DOCUMENT_FEEDER = 0x6602,
+ DOCUMENT_MISS_FEED_AUTOMATIC_IN_DOCUMENT_FEEDER = 0x6603,
+
+ ASC(CONFIG_FAILURE, 0x67),
+ CONFIG_OF_INCAPABLE_LOGICAL_UNITS_FAILED = 0x6701,
+ ADD_LU_FAILED = 0x6702,
+ MODIFICATION_OF_LU_FAILED = 0x6703,
+ EXCHANGE_OF_LU_FAILED = 0x6704,
+ REMOVE_OF_LU_FAILED = 0x6705,
+ ATTACHMENT_OF_LU_FAILED = 0x6706,
+ CREATION_OF_LU_FAILED = 0x6707,
+ ASSIGN_FAILURE_OCCURRED = 0x6708,
+ MULTIPLY_ASSIGNED_LOGICAL_UNIT = 0x6709,
+ SET_TARGET_PORT_GROUPS_COMMAND_FAILED = 0x670A,
+ ATA_DEVICE_FEATURE_NOT_ENABLED = 0x670B,
+ COMMAND_REJECTED = 0x670C,
+ EXPLICIT_BIND_NOT_ALLOWED = 0x670D,
+ FEATURE_NOT_ENABLED = 0x670E,
+
+ ASC(LU_NOT_CONFIGURED, 0x68),
+ SUBSIDIARY_LU_NOT_CONFIGURED = 0x6801,
+
+ ASC(DATA_LOSS_ON_LOGICAL_UNIT, 0x69),
+ MULTIPLE_LU_FAILURES = 0x6901,
+ PARITY_DATA_MISMATCH = 0x6902,
+
+ ASC(INFORMATIONAL_REFER_TO_LOG, 0x6A),
+
+ ASC(STATE_CHANGE_HAS_OCCURRED, 0x6B),
+ REDUNDANCY_LEVEL_GOT_BETTER = 0x6B01,
+ REDUNDANCY_LEVEL_GOT_WORSE = 0x6B02,
+
+ ASC(REBUILD_FAILURE_OCCURRED, 0x6C),
+
+ ASC(RECALCULATE_FAILURE_OCCURRED, 0x6D),
+
+ ASC(COMMAND_TO_LU_FAILED, 0x6E),
+
+ ASC(COPY_PROTECTION_KEY_EXCHANGE_FAILURE_AUTHENTICATION_FAILURE, 0x6F),
+ COPY_PROTECTION_KEY_EXCHANGE_FAILURE_KEY_NOT_PRESENT = 0x6F01,
+ COPY_PROTECTION_KEY_EXCHANGE_FAILURE_KEY_NOT_ESTABLISHED = 0x6F02,
+ READ_OF_SCRAMBLED_SECTOR_WITHOUT_AUTHENTICATION = 0x6F03,
+ MEDIA_REGION_CODE_IS_MISMATCHED_TO_LU_REGION = 0x6F04,
+ DRIVE_REGION_MUST_BE_PERMANENT_REGION_RESET_COUNT_ERROR = 0x6F05,
+ INSUFFICIENT_BLOCK_COUNT_FOR_BINDING_NONCE_RECORDING = 0x6F06,
+ CONFLICT_IN_BINDING_NONCE_RECORDING = 0x6F07,
+ INSUFFICIENT_PERMISSION = 0x6F08,
+ INVALID_DRIVE_HOST_PAIRING_SERVER = 0x6F09,
+ DRIVE_HOST_PAIRING_SUSPENDED = 0x6F0A,
+
+ ASC(DECOMPRESSION_EXCEPTION_SHORT_ALGORITHM_ID, 0x70),
+
+ ASC(DECOMPRESSION_EXCEPTION_LONG_ALGORITHM_ID, 0x71),
+
+ ASC(SESSION_FIXATION_ERROR, 0x72),
+ SESSION_FIXATION_ERROR_WRITING_LEAD_IN = 0x7201,
+ SESSION_FIXATION_ERROR_WRITING_LEAD_OUT = 0x7202,
+ SESSION_FIXATION_ERROR_INCOMPLETE_TRACK_IN_SESSION = 0x7203,
+ EMPTY_OR_PARTIALLY_WRITTEN_RESERVED_TRACK = 0x7204,
+ NO_MORE_TRACK_RESERVATIONS_ALLOWED = 0x7205,
+ RMZ_EXTENSION_IS_NOT_ALLOWED = 0x7206,
+ NO_MORE_TEST_ZONE_EXTENSIONS_ARE_ALLOWED = 0x7207,
+
+ ASC(CD_CONTROL_ERROR, 0x73),
+ POWER_CALIBRATION_AREA_ALMOST_FULL = 0x7301,
+ POWER_CALIBRATION_AREA_IS_FULL = 0x7302,
+ POWER_CALIBRATION_AREA_ERROR = 0x7303,
+ PROGRAM_MEMORY_AREA_UPDATE_FAILURE = 0x7304,
+ PROGRAM_MEMORY_AREA_IS_FULL = 0x7305,
+ RMA_PMA_IS_ALMOST_FULL = 0x7306,
+ CURRENT_POWER_CALIBRATION_AREA_ALMOST_FULL = 0x7310,
+ CURRENT_POWER_CALIBRATION_AREA_IS_FULL = 0x7311,
+ RDZ_IS_FULL = 0x7317,
+
+ ASC(SECURITY_ERROR, 0x74),
+ UNABLE_TO_DECRYPT_DATA = 0x7401,
+ UNENCRYPTED_DATA_ENCOUNTERED_WHILE_DECRYPTING = 0x7402,
+ INCORRECT_DATA_ENCRYPTION_KEY = 0x7403,
+ CRYPTOGRAPHIC_INTEGRITY_VALIDATION_FAILED = 0x7404,
+ ERROR_DECRYPTING_DATA = 0x7405,
+ UNKNOWN_SIGNATURE_VERIFICATION_KEY = 0x7406,
+ ENCRYPTION_PARAMS_NOT_USEABLE = 0x7407,
+ DIGITAL_SIGNATURE_VALIDATION_FAILURE = 0x7408,
+ ENCRYPTION_MODE_MISMATCH_ON_READ = 0x7409,
+ ENCRYPTED_BLOCK_NOT_RAW_READ_ENABLED = 0x740A,
+ INCORRECT_ENCRYPTION_PARAMS = 0x740B,
+ UNABLE_TO_DECRYPT_PARAMETER_LIST = 0x740C,
+ ENCRYPTION_ALGORITHM_DISABLED = 0x740D,
+ SA_CREATION_PARAMETER_VALUE_INVALID = 0x7410,
+ SA_CREATION_PARAMETER_VALUE_REJECTED = 0x7411,
+ INVALID_SA_USAGE = 0x7412,
+ DATA_ENCRYPTION_CONFIG_PREVENTED = 0x7421,
+ SA_CREATION_PARAMETER_NOT_SUPPORTED = 0x7430,
+ AUTHENTICATION_FAILED = 0x7440,
+ EXTERNAL_DATA_ENCRYPTION_KEY_MANAGER_ACCESS_ERROR = 0x7461,
+ EXTERNAL_DATA_ENCRYPTION_KEY_MANAGER_ERROR = 0x7462,
+ EXTERNAL_DATA_ENCRYPTION_KEY_NOT_FOUND = 0x7463,
+ EXTERNAL_DATA_ENCRYPTION_REQUEST_NOT_AUTHORIZED = 0x7464,
+ EXTERNAL_DATA_ENCRYPTION_CONTROL_TIMEOUT = 0x746E,
+ EXTERNAL_DATA_ENCRYPTION_CONTROL_ERROR = 0x746F,
+ LU_ACCESS_NOT_AUTHORIZED = 0x7471,
+ SECURITY_CONFLICT_IN_TRANSLATED_DEVICE = 0x7479,
+};
+
+#undef ASC_DEF
+#undef ASC
+
+/*
+ * Use this to build non-standard sense codes.
+ * Note: this is defined as a macro instead of an inline function so that it can
+ * be used to define SCSI failures array variables (see struct scsi_failure).
+ */
+#define scsi_sense_code(asc, ascq) \
+ ((((asc) & 0xff) << 8) | ((ascq) & 0xff))
+
+static inline u8 scsi_sense_code_asc(u16 code)
+{
+ return (code >> 8) & 0xff;
+}
+
+static inline u8 scsi_sense_code_ascq(u16 code)
+{
+ return code & 0xff;
+}
+
+#endif /* _SCSI_SENSE_H_ */
--
2.55.0
next prev parent reply other threads:[~2026-09-04 0:26 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 0:26 [PATCH v3 00/40] Use defined 16-bits ASC/ASCQ combinations Damien Le Moal
2026-09-04 0:26 ` Damien Le Moal [this message]
2026-09-04 0:38 ` [PATCH v3 01/40] scsi: define all additional sense codes and their qualifiers sashiko-bot
2026-09-04 0:26 ` [PATCH v3 02/40] scsi: constants: use defined sense codes Damien Le Moal
2026-09-04 0:36 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 03/40] scsi: constants: rename internal struct field names Damien Le Moal
2026-09-04 0:38 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 04/40] scsi: rename sense field of struct scsi_failure Damien Le Moal
2026-09-04 0:43 ` sashiko-bot
2026-09-04 10:08 ` Johannes Thumshirn
2026-09-04 0:26 ` [PATCH v3 05/40] scsi: prepare for using 16-bits defined sense codes Damien Le Moal
2026-09-04 0:45 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 06/40] scsi: use struct scsi_sense_hdr to log sense keys and codes Damien Le Moal
2026-09-04 0:48 ` sashiko-bot
2026-09-04 10:11 ` Johannes Thumshirn
2026-09-04 0:26 ` [PATCH v3 07/40] scsi: core: use 16-bits defined sense codes Damien Le Moal
2026-09-04 0:53 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 08/40] scsi: sd: " Damien Le Moal
2026-09-04 1:04 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 09/40] scsi: sr: " Damien Le Moal
2026-09-04 1:02 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 10/40] scsi: ses: " Damien Le Moal
2026-09-04 1:06 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 11/40] scsi: ch: " Damien Le Moal
2026-09-04 1:09 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 12/40] scsi: st: " Damien Le Moal
2026-09-04 1:11 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 13/40] scsi: device_handlers: hp_sw: " Damien Le Moal
2026-09-04 1:13 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 14/40] scsi: device_handlers: rdac: " Damien Le Moal
2026-09-04 1:15 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 15/40] scsi: device_handlers: emc: " Damien Le Moal
2026-09-04 1:20 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 16/40] scsi: device_handlers: alua: " Damien Le Moal
2026-09-04 1:27 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 17/40] scsi: mpt3sas: " Damien Le Moal
2026-09-04 1:26 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 18/40] scsi: mpi3mr: " Damien Le Moal
2026-09-04 1:32 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 19/40] scsi: 3w-xxxx: " Damien Le Moal
2026-09-04 1:33 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 20/40] scsi: leapraid: " Damien Le Moal
2026-09-04 1:39 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 21/40] scsi: megaraid: " Damien Le Moal
2026-09-04 1:42 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 22/40] scsi: myrX: " Damien Le Moal
2026-09-04 1:53 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 23/40] scsi: smartpqi: " Damien Le Moal
2026-09-04 1:48 ` sashiko-bot
2026-09-04 15:15 ` Don.Brace
2026-09-04 0:26 ` [PATCH v3 24/40] scsi: qla2xxx: " Damien Le Moal
2026-09-04 1:52 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 25/40] scsi: ps3rom: " Damien Le Moal
2026-09-04 2:00 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 26/40] scsi: lpfc: " Damien Le Moal
2026-09-04 2:00 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 27/40] scsi: stex: " Damien Le Moal
2026-09-04 2:08 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 28/40] scsi: mvumi: " Damien Le Moal
2026-09-04 2:12 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 29/40] scsi: libiscsi: " Damien Le Moal
2026-09-04 2:12 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 30/40] scsi: ibmvscsi_tgt: " Damien Le Moal
2026-09-04 2:20 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 31/40] scsi: scsi_debug: " Damien Le Moal
2026-09-04 2:23 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 32/40] scsi: hpsa: " Damien Le Moal
2026-09-04 2:27 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 33/40] scsi: storvsc: " Damien Le Moal
2026-09-04 2:41 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 34/40] target: " Damien Le Moal
2026-09-04 2:37 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 35/40] usb: storage: " Damien Le Moal
2026-09-04 2:43 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 36/40] cdrom: " Damien Le Moal
2026-09-04 2:46 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 37/40] ata: libata: " Damien Le Moal
2026-09-04 2:49 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 38/40] s390: scsi: " Damien Le Moal
2026-09-04 2:50 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 39/40] scsi: cleanup scsi_proto.h Damien Le Moal
2026-09-04 2:56 ` sashiko-bot
2026-09-04 0:26 ` [PATCH v3 40/40] scsi: remove scsi_build_sense() and scsi_build_sense_buffer() Damien Le Moal
2026-09-04 2:53 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260904002644.157668-2-dlemoal@kernel.org \
--to=dlemoal@kernel.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=cassel@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hca@linux.ibm.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.