diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2011-03-02 04:38:02 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2011-03-02 04:38:02 +0000 |
commit | fc512c486d666608efa5bafc8f886d53205755b5 (patch) | |
tree | 95a4ce3f70d3cc509f46fdeabeec270b74bf1dab /sys/scsi | |
parent | 4da670585aefda6630c00a87fdae36461f5d037d (diff) |
Sync ASC/ASCQ errors with www.t10.org/lists/asc-num.txt of 11/15/10.
Prompted by dlg@'s tape library trying to report a failure to thread
a media (0x53, 0x04).
Diffstat (limited to 'sys/scsi')
-rw-r--r-- | sys/scsi/scsi_base.c | 118 |
1 files changed, 117 insertions, 1 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index 7fee8d1b5de..ecfb3c8f70a 100644 --- a/sys/scsi/scsi_base.c +++ b/sys/scsi/scsi_base.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scsi_base.c,v 1.197 2010/09/20 00:19:47 dlg Exp $ */ +/* $OpenBSD: scsi_base.c,v 1.198 2011/03/02 04:38:01 krw Exp $ */ /* $NetBSD: scsi_base.c,v 1.43 1997/04/02 02:29:36 mycroft Exp $ */ /* @@ -1744,6 +1744,7 @@ static const struct { u_int8_t asc, ascq; char *description; } adesc[] = { + /* www.t10.org/lists/asc-num.txt as of 11/15/10. */ { 0x00, 0x00, "No Additional Sense Information" }, { 0x00, 0x01, "Filemark Detected" }, { 0x00, 0x02, "End-Of-Partition/Medium Detected" }, @@ -1781,8 +1782,18 @@ static const struct { { 0x04, 0x0A, "Logical Unit Not Accessible, Asymmetric Access State Transition" }, { 0x04, 0x0B, "Logical Unit Not Accessible, Target Port In Standby State" }, { 0x04, 0x0C, "Logical Unit Not Accessible, Target Port In Unavailable State" }, + { 0x04, 0x0D, "Logical Unit Not Ready, Structure Check Required" }, { 0x04, 0x10, "Logical Unit Not Ready, Auxiliary Memory Not Accessible" }, { 0x04, 0x11, "Logical Unit Not Ready, Notify (Enable Spinup) Required" }, + { 0x04, 0x12, "Logical Unit Not Ready, Offline" }, + { 0x04, 0x13, "Logical Unit Not Ready, SA Creation In Progress" }, + { 0x04, 0x14, "Logical Unit Not Ready, Space Allocation In Progress" }, + { 0x04, 0x15, "Logical Unit Not Ready, Robotics Disabled" }, + { 0x04, 0x16, "Logical Unit Not Ready, Configuration Required" }, + { 0x04, 0x17, "Logical Unit Not Ready, Calibration Required" }, + { 0x04, 0x18, "Logical Unit Not Ready, A Door Is Open" }, + { 0x04, 0x19, "Logical Unit Not Ready, Operating In Sequential Mode" }, + { 0x04, 0x1A, "Logical Unit Not Ready, Start Stop Unit Command In Progress" }, { 0x05, 0x00, "Logical Unit Does Not Respond To Selection" }, { 0x06, 0x00, "No Reference Position Found" }, { 0x07, 0x00, "Multiple Peripheral Devices Selected" }, @@ -1800,6 +1811,12 @@ static const struct { { 0x0B, 0x00, "Warning" }, { 0x0B, 0x01, "Warning - Specified Temperature Exceeded" }, { 0x0B, 0x02, "Warning - Enclosure Degraded" }, + { 0x0B, 0x03, "Warning - Background Self-Test Failed" }, + { 0x0B, 0x04, "Warning - Background Pre-Scan Detected Medium Error" }, + { 0x0B, 0x05, "Warning - Background Medium Scan Detected Medium Error" }, + { 0x0B, 0x06, "Warning - Non-Volatile Cache Now Volatile" }, + { 0x0B, 0x07, "Warning - Degraded Power To Non-Volatile Cache" }, + { 0x0B, 0x08, "Warning - Power Loss Expected" }, { 0x0C, 0x00, "Write Error" }, { 0x0C, 0x01, "Write Error Recovered with Auto Reallocation" }, { 0x0C, 0x02, "Write Error - Auto Reallocate Failed" }, @@ -1814,6 +1831,7 @@ static const struct { { 0x0C, 0x0B, "Auxiliary Memory Write Error" }, { 0x0C, 0x0C, "Write Error - Unexpected Unsolicited Data" }, { 0x0C, 0x0D, "Write Error - Not Enough Unsolicited Data" }, + { 0x0C, 0x0F, "Defects In Error Window" }, { 0x0D, 0x00, "Error Detected By Third Party Temporary Initiator" }, { 0x0D, 0x01, "Third Party Device Failure" }, { 0x0D, 0x02, "Copy Target Device Not Reachable" }, @@ -1824,6 +1842,11 @@ static const struct { { 0x0E, 0x01, "Information Unit Too Short" }, { 0x0E, 0x02, "Information Unit Too Long" }, { 0x10, 0x00, "ID CRC Or ECC Error" }, + { 0x10, 0x01, "Logical Block Guard Check Failed" }, + { 0x10, 0x02, "Logical Block Application Tag Check Failed" }, + { 0x10, 0x03, "Logical Block Reference Tag Check Failed" }, + { 0x10, 0x04, "Logical Block Protection Error On Recover Buffered Data" }, + { 0x10, 0x05, "Logical Block Protection Method Error" }, { 0x11, 0x00, "Unrecovered Read Error" }, { 0x11, 0x01, "Read Retries Exhausted" }, { 0x11, 0x02, "Error Too Long To Correct" }, @@ -1844,6 +1867,7 @@ static const struct { { 0x11, 0x11, "Read Error - Loss Of Streaming" }, { 0x11, 0x12, "Auxiliary Memory Read Error" }, { 0x11, 0x13, "Read Error - Failed Retransmission Request" }, + { 0x11, 0x14, "Read Error - LBA Marked Bad By Application Client" }, { 0x12, 0x00, "Address Mark Not Found for ID Field" }, { 0x13, 0x00, "Address Mark Not Found for Data Field" }, { 0x14, 0x00, "Recorded Entity Not Found" }, @@ -1891,6 +1915,7 @@ static const struct { { 0x1C, 0x01, "Primary Defect List Not Found" }, { 0x1C, 0x02, "Grown Defect List Not Found" }, { 0x1D, 0x00, "Miscompare During Verify Operation" }, + { 0x1D, 0x01, "Miscompare Verify Of Unmapped Lba" }, { 0x1E, 0x00, "Recovered ID with ECC" }, { 0x1F, 0x00, "Partial Defect List Transfer" }, { 0x20, 0x00, "Invalid Command Operation Code" }, @@ -1905,9 +1930,11 @@ static const struct { { 0x20, 0x09, "Access Denied - Invalid LU Identifier" }, { 0x20, 0x0A, "Access Denied - Invalid Proxy Token" }, { 0x20, 0x0B, "Access Denied - ACL LUN Conflict" }, + { 0x20, 0x0C, "Illegal Command When Not In Append-Only Mode" }, { 0x21, 0x00, "Logical Block Address Out of Range" }, { 0x21, 0x01, "Invalid Element Address" }, { 0x21, 0x02, "Invalid Address For Write" }, + { 0x21, 0x03, "Invalid Write Crossing Layer Jump" }, { 0x22, 0x00, "Illegal Function (Should 20 00, 24 00, or 26 00)" }, { 0x24, 0x00, "Illegal Field in CDB" }, { 0x24, 0x01, "CDB Decryption Error" }, @@ -1917,6 +1944,7 @@ static const struct { { 0x24, 0x05, "Security Working Key Frozen" }, { 0x24, 0x06, "Nonce Not Unique" }, { 0x24, 0x07, "Nonce Timestamp Out Of Range" }, + { 0x24, 0x08, "Invalid XCDB" }, { 0x25, 0x00, "Logical Unit Not Supported" }, { 0x26, 0x00, "Invalid Field In Parameter List" }, { 0x26, 0x01, "Parameter Not Supported" }, @@ -1933,6 +1961,10 @@ static const struct { { 0x26, 0x0C, "Invalid Operation For Copy Source Or Destination" }, { 0x26, 0x0D, "Copy Segment Granularity Violation" }, { 0x26, 0x0E, "Invalid Parameter While Port Is Enabled" }, + { 0x26, 0x0F, "Invalid Data-Out Buffer Integrity Check Value" }, + { 0x26, 0x10, "Data Decryption Key Fail Limit Reached" }, + { 0x26, 0x11, "Incomplete Key-Associated Data Set" }, + { 0x26, 0x12, "Vendor Specific Key Reference Not Found" }, { 0x27, 0x00, "Write Protected" }, { 0x27, 0x01, "Hardware Write Protected" }, { 0x27, 0x02, "Logical Unit Software Write Protected" }, @@ -1940,8 +1972,11 @@ static const struct { { 0x27, 0x04, "Persistent Write Protect" }, { 0x27, 0x05, "Permanent Write Protect" }, { 0x27, 0x06, "Conditional Write Protect" }, + { 0x27, 0x07, "Space Allocation Failed Write Protect" }, { 0x28, 0x00, "Not Ready To Ready Transition (Medium May Have Changed)" }, { 0x28, 0x01, "Import Or Export Element Accessed" }, + { 0x28, 0x02, "Format-Layer May Have Changed" }, + { 0x28, 0x03, "Import/Export Element Accessed, Medium Changed" }, { 0x29, 0x00, "Power On, Reset, or Bus Device Reset Occurred" }, { 0x29, 0x01, "Power On Occurred" }, { 0x29, 0x02, "SCSI Bus Reset Occurred" }, @@ -1958,6 +1993,17 @@ static const struct { { 0x2A, 0x05, "Registrations Preempted" }, { 0x2A, 0x06, "Asymmetric Access State Changed" }, { 0x2A, 0x07, "Implicit Asymmetric Access State Transition Failed" }, + { 0x2A, 0x08, "Priority Changed" }, + { 0x2A, 0x09, "Capacity Data Has Changed" }, + { 0x2A, 0x0A, "Error History I_T Nexus Cleared" }, + { 0x2A, 0x0B, "Error History Snapshot Released" }, + { 0x2A, 0x0C, "Error Recovery Attributes Have Changed" }, + { 0x2A, 0x0D, "Data Encryption Capabilities Changed" }, + { 0x2A, 0x10, "Timestamp Changed" }, + { 0x2A, 0x11, "Data Encryption Parameters Changed By Another I_T Nexus" }, + { 0x2A, 0x12, "Data Encryption Parameters Changed By Vendor Specific Event" }, + { 0x2A, 0x13, "Data Encryption Key Instance Counter Has Changed" }, + { 0x2A, 0x14, "SA Creation Capabilities Data Has Changed" }, { 0x2B, 0x00, "Copy Cannot Execute Since Host Cannot Disconnect" }, { 0x2C, 0x00, "Command Sequence Error" }, { 0x2C, 0x01, "Too Many Windows Specified" }, @@ -1970,9 +2016,13 @@ static const struct { { 0x2C, 0x08, "Previous Task Set Full Status" }, { 0x2C, 0x09, "Previous Reservation Conflict Status" }, { 0x2C, 0x0A, "Partition Or Collection Contains User Objects" }, + { 0x2C, 0x0B, "Not Reserved" }, + { 0x2C, 0x0C, "ORWrite Generation Does Not Match" }, { 0x2D, 0x00, "Overwrite Error On Update In Place" }, { 0x2E, 0x00, "Insufficient Time For Operation" }, { 0x2F, 0x00, "Commands Cleared By Another Initiator" }, + { 0x2F, 0x01, "Commands Cleared By Power Loss Notification" }, + { 0x2F, 0x02, "Commands Cleared By Device Server" }, { 0x30, 0x00, "Incompatible Medium Installed" }, { 0x30, 0x01, "Cannot Read Medium - Unknown Format" }, { 0x30, 0x02, "Cannot Read Medium - Incompatible Format" }, @@ -1985,8 +2035,12 @@ static const struct { { 0x30, 0x09, "Current Session Not Fixated For Append" }, { 0x30, 0x0A, "Cleaning Request Rejected" }, { 0x30, 0x10, "Medium Not Formatted" }, + { 0x30, 0x11, "Incompatible Volume Type" }, + { 0x30, 0x12, "Incompatible Volume Qualifier" }, + { 0x30, 0x13, "Cleaning Volume Expired" }, { 0x31, 0x00, "Medium Format Corrupted" }, { 0x31, 0x01, "Format Command Failed" }, + { 0x31, 0x02, "Zoned Formatting Failed Due To Spare Linking" }, { 0x32, 0x00, "No Defect Spare Location Available" }, { 0x32, 0x01, "Defect List Update Failure" }, { 0x33, 0x00, "Tape Length Error" }, @@ -2030,6 +2084,11 @@ static const struct { { 0x3B, 0x14, "Medium Magazine Locked" }, { 0x3B, 0x15, "Medium Magazine Unlocked" }, { 0x3B, 0x16, "Mechanical Positioning Or Changer Error" }, + { 0x3B, 0x17, "Read Past End Of User Object" }, + { 0x3B, 0x18, "Element Disabled" }, + { 0x3B, 0x19, "Element Enabled" }, + { 0x3B, 0x1A, "Data Transfer Device Removed" }, + { 0x3B, 0x1B, "Data Transfer Device Inserted" }, { 0x3D, 0x00, "Invalid Bits In IDENTIFY Message" }, { 0x3E, 0x00, "Logical Unit Has Not Self-Configured Yet" }, { 0x3E, 0x01, "Logical Unit Failure" }, @@ -2054,6 +2113,9 @@ static const struct { { 0x3F, 0x0F, "Echo Buffer Overwritten" }, { 0x3F, 0x10, "Medium Loadable" }, { 0x3F, 0x11, "Medium Auxiliary Memory Accessible" }, + { 0x3F, 0x12, "iSCSI IP Address Added" }, + { 0x3F, 0x13, "iSCSI IP Address Removed" }, + { 0x3F, 0x14, "iSCSI IP Address Changed" }, { 0x40, 0x00, "RAM FAILURE (Should Use 40 NN)" }, /* * ASC 0x40 also has an ASCQ range from 0x80 to 0xFF. @@ -2063,6 +2125,7 @@ static const struct { { 0x42, 0x00, "Power-On or Self-Test FAILURE (Should Use 40 NN)" }, { 0x43, 0x00, "Message Error" }, { 0x44, 0x00, "Internal Target Failure" }, + { 0x44, 0x71, "ATA Device Failed Set Features" }, { 0x45, 0x00, "Select Or Reselect Failure" }, { 0x46, 0x00, "Unsuccessful Soft Reset" }, { 0x47, 0x00, "SCSI Parity Error" }, @@ -2071,6 +2134,7 @@ static const struct { { 0x47, 0x03, "Information Unit iuCRC Error Detected" }, { 0x47, 0x04, "Asynchronous Information Protection Error Detected" }, { 0x47, 0x05, "Protocol Service CRC Error" }, + { 0x47, 0x06, "PHY Test Function In Progress" }, { 0x47, 0x7F, "Some Commands Cleared By iSCSI Protocol Event" }, { 0x48, 0x00, "Initiator Detected Error Message Received" }, { 0x49, 0x00, "Invalid Message Error" }, @@ -2082,6 +2146,7 @@ static const struct { { 0x4B, 0x04, "NAK Received" }, { 0x4B, 0x05, "Data Offset Error" }, { 0x4B, 0x06, "Initiator Response Timeout" }, + { 0x4B, 0x07, "Connection Lost" }, { 0x4C, 0x00, "Logical Unit Failed Self-Configuration" }, /* * ASC 0x4D has an ASCQ range from 0x00 to 0xFF. @@ -2097,6 +2162,12 @@ static const struct { { 0x53, 0x00, "Media Load or Eject Failed" }, { 0x53, 0x01, "Unload Tape Failure" }, { 0x53, 0x02, "Medium Removal Prevented" }, + { 0x53, 0x03, "Medium Removal Prevented By Data Transfer Element" }, + { 0x53, 0x04, "Medium Thread Or Unthread Failure" }, + { 0x53, 0x05, "Volume Identifier Invalid" }, + { 0x53, 0x06, "Volume Identifier Missing" }, + { 0x53, 0x07, "Duplicate Volume Identifier" }, + { 0x53, 0x08, "Element Status Unknown" }, { 0x54, 0x00, "SCSI To Host System Interface Failure" }, { 0x55, 0x00, "System Resource Failure" }, { 0x55, 0x01, "System Buffer Full" }, @@ -2105,6 +2176,11 @@ static const struct { { 0x55, 0x04, "Insufficient Registration Resources" }, { 0x55, 0x05, "Insufficient Access Control Resources" }, { 0x55, 0x06, "Auxiliary Memory Out Of Space" }, + { 0x55, 0x07, "Quota Error" }, + { 0x55, 0x08, "Maximum Number Of Supplemental Decryption Keys Exceeded" }, + { 0x55, 0x09, "Medium Auxiliary Memory Not Accessible" }, + { 0x55, 0x0A, "Data Currently Unavailable" }, + { 0x55, 0x0B, "Insufficient Power For Operation" }, { 0x57, 0x00, "Unable To Recover Table-Of-Contents" }, { 0x58, 0x00, "Generation Does Not Exist" }, { 0x59, 0x00, "Updated Block Read" }, @@ -2207,6 +2283,12 @@ static const struct { { 0x5E, 0x02, "Standby Condition Activated By Timer" }, { 0x5E, 0x03, "Idle Condition Activated By Command" }, { 0x5E, 0x04, "Standby Condition Activated By Command" }, + { 0x5E, 0x05, "IDLE_B Condition Activated By Timer" }, + { 0x5E, 0x06, "IDLE_B Condition Activated By Command" }, + { 0x5E, 0x07, "IDLE_C Condition Activated By Timer" }, + { 0x5E, 0x08, "IDLE_C Condition Activated By Command" }, + { 0x5E, 0x09, "STANDBY_Y Condition Activated By Timer" }, + { 0x5E, 0x0A, "STANDBY_Y Condition Activated By Command" }, { 0x5E, 0x41, "Power State Change To Active" }, { 0x5E, 0x42, "Power State Change To Idle" }, { 0x5E, 0x43, "Power State Change To Standby" }, @@ -2237,6 +2319,7 @@ static const struct { { 0x67, 0x08, "Assign Failure Occurred" }, { 0x67, 0x09, "Multiply Assigned Logical Unit" }, { 0x67, 0x0A, "Set Target Port Groups Command Failed" }, + { 0x67, 0x0B, "ATA Device Feature Not Enabled" }, { 0x68, 0x00, "Logical Unit Not Configured" }, { 0x69, 0x00, "Data Loss On Logical Unit" }, { 0x69, 0x01, "Multiple Logical Unit Failures" }, @@ -2265,6 +2348,8 @@ static const struct { { 0x72, 0x03, "Session Fixation Error - Incomplete Track In Session" }, { 0x72, 0x04, "Empty Or Partially Written Reserved Track" }, { 0x72, 0x05, "No More Track Reservations Allowed" }, + { 0x72, 0x06, "RMZ Extension Is Not Allowed" }, + { 0x72, 0x07, "No More Test Zone Extensions Are Allowed" }, { 0x73, 0x00, "CD Control Error" }, { 0x73, 0x01, "Power Calibration Area Almost Full" }, { 0x73, 0x02, "Power Calibration Area Is Full" }, @@ -2272,6 +2357,37 @@ static const struct { { 0x73, 0x04, "Program Memory Area Update Failure" }, { 0x73, 0x05, "Program Memory Area Is Full" }, { 0x73, 0x06, "RMA/PMA Is Almost Full" }, + { 0x73, 0x10, "Current Power Calibration Area Almost Full" }, + { 0x73, 0x11, "Current Power Calibration Area Is Full" }, + { 0x73, 0x17, "RDZ Is Full" }, + { 0x74, 0x00, "Security Error" }, + { 0x74, 0x01, "Unable To Decrypt Data" }, + { 0x74, 0x02, "Unencrypted Data Encountered While Decrypting" }, + { 0x74, 0x03, "Incorrect Data Encryption Key" }, + { 0x74, 0x04, "Cryptographic Integrity Validation Failed" }, + { 0x74, 0x05, "Error Decrypting Data" }, + { 0x74, 0x06, "Unknown Signature Verification Key" }, + { 0x74, 0x07, "Encryption Parameters Not Useable" }, + { 0x74, 0x08, "Digital Signature Validation Failure" }, + { 0x74, 0x09, "Encryption Mode Mismatch On Read" }, + { 0x74, 0x0A, "Encrypted Block Not Raw Read Enabled" }, + { 0x74, 0x0B, "Incorrect Encryption Parameters" }, + { 0x74, 0x0C, "Unable To Decrypt Parameter List" }, + { 0x74, 0x0D, "Encryption Algorithm Disabled" }, + { 0x74, 0x10, "SA Creation Parameter Value Invalid" }, + { 0x74, 0x11, "SA Creation Parameter Value Rejected" }, + { 0x74, 0x12, "Invalid SA Usage" }, + { 0x74, 0x21, "Data Encryption Configuration Prevented" }, + { 0x74, 0x30, "SA Creation Parameter Not Supported" }, + { 0x74, 0x40, "Authentication Failed" }, + { 0x74, 0x61, "External Data Encryption Key Manager Access Error" }, + { 0x74, 0x62, "External Data Encryption Key Manager Error" }, + { 0x74, 0x63, "External Data Encryption Key Not Found" }, + { 0x74, 0x64, "External Data Encryption Request Not Authorized" }, + { 0x74, 0x6E, "External Data Encryption Control Timeout" }, + { 0x74, 0x6F, "External Data Encryption Control Error" }, + { 0x74, 0x71, "Logical Unit Access Not Authorized" }, + { 0x74, 0x79, "Security Conflict In Translated Device" }, { 0x00, 0x00, NULL } }; |