summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDamien Le Moal <dlemoal@kernel.org>2026-06-14 14:39:39 +0900
committerDamien Le Moal <dlemoal@kernel.org>2026-07-13 13:58:51 +0900
commit7c8b3f6578bb874ba9d334aef0e51fe931ce6c04 (patch)
tree95d8301b67b50afaed46d9640ebe624d1ba964c2 /include
parente64e6b5dc86758c14ed28a6e85bf5d1b78146ed5 (diff)
downloadlinux-7c8b3f6578bb874ba9d334aef0e51fe931ce6c04.tar.gz
linux-7c8b3f6578bb874ba9d334aef0e51fe931ce6c04.zip
scsi: scsi_debug: move ASC and ASCQ definitions to scsi_proto.h
The scsi_debug driver internally defines lots of SCSI additional sense codes (ASC) and additional sense code qualifiers (ASCQ). Move these definitions to include/scsi/scsi_proto.h so that they can be reused elsewhere in the SCSI and ATA code. This also makes the scsi_debug.c file a little smaller. Signed-off-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include')
-rw-r--r--include/scsi/scsi_proto.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/include/scsi/scsi_proto.h b/include/scsi/scsi_proto.h
index f64385cde5b9..965cde7ebc5b 100644
--- a/include/scsi/scsi_proto.h
+++ b/include/scsi/scsi_proto.h
@@ -234,6 +234,57 @@ enum sam_status {
#define COMPLETED 0x0f
/*
+ * Additional Sense Codes (ASC).
+ */
+#define NO_ADDITIONAL_SENSE 0x00
+#define OVERLAP_ATOMIC_COMMAND_ASC 0x00
+#define LOGICAL_UNIT_NOT_READY 0x04
+#define LOGICAL_UNIT_COMMUNICATION_FAILURE 0x8
+#define WRITE_ERROR_ASC 0x0c
+#define UNRECOVERED_READ_ERR 0x11
+#define PARAMETER_LIST_LENGTH_ERR 0x1a
+#define MISCOMPARE_VERIFY_ASC 0x1d
+#define INVALID_OPCODE 0x20
+#define LBA_OUT_OF_RANGE 0x21
+#define INVALID_FIELD_IN_CDB 0x24
+#define INVALID_FIELD_IN_PARAM_LIST 0x26
+#define WRITE_PROTECTED 0x27
+#define UA_READY_ASC 0x28
+#define UA_RESET_ASC 0x29
+#define UA_CHANGED_ASC 0x2a
+#define TOO_MANY_IN_PARTITION_ASC 0x3b
+#define TARGET_CHANGED_ASC 0x3f
+#define SAVING_PARAMS_UNSUP 0x39
+#define TRANSPORT_PROBLEM 0x4b
+#define INSUFF_RES_ASC 0x55
+#define LOW_POWER_COND_ON 0x5e
+#define THRESHOLD_EXCEEDED 0x5d
+
+/*
+ * Additional Sense Code Qualifiers (ASCQ).
+ */
+#define POWER_ON_RESET_ASCQ 0x00
+#define MODE_CHANGED_ASCQ 0x01 /* mode parameters changed */
+#define FILEMARK_DETECTED_ASCQ 0x01
+#define POWER_ON_OCCURRED_ASCQ 0x01
+#define MICROCODE_CHANGED_ASCQ 0x01 /* with TARGET_CHANGED_ASC */
+#define BUS_RESET_ASCQ 0x02 /* scsi bus reset occurred */
+#define EOP_EOM_DETECTED_ASCQ 0x02
+#define INSUFF_RES_ASCQ 0x03
+#define BEGINNING_OF_P_M_DETECTED_ASCQ 0x04
+#define UNALIGNED_WRITE_ASCQ 0x04
+#define EOD_DETECTED_ASCQ 0x05
+#define WRITE_BOUNDARY_ASCQ 0x05
+#define READ_INVDATA_ASCQ 0x06
+#define READ_BOUNDARY_ASCQ 0x07
+#define CAPACITY_CHANGED_ASCQ 0x09
+#define ATTEMPT_ACCESS_GAP 0x09
+#define LUNS_CHANGED_ASCQ 0x0e
+#define INSUFF_ZONE_ASCQ 0x0e
+#define MICROCODE_CHANGED_WO_RESET_ASCQ 0x16
+#define OVERLAP_ATOMIC_COMMAND_ASCQ 0x23
+
+/*
* DEVICE TYPES
* Please keep them in 0x%02x format for $MODALIAS to work
*/