| .. | .. |
|---|
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 2 | 2 | /* |
|---|
| 3 | 3 | * The canonical list of T10 Additional Sense Codes is available at: |
|---|
| 4 | | - * http://www.t10.org/lists/asc-num.txt [most recent: 20141221] |
|---|
| 4 | + * http://www.t10.org/lists/asc-num.txt [most recent: 20200817] |
|---|
| 5 | 5 | */ |
|---|
| 6 | 6 | |
|---|
| 7 | 7 | SENSE_CODE(0x0000, "No additional sense information") |
|---|
| .. | .. |
|---|
| 29 | 29 | SENSE_CODE(0x001F, "Logical unit transitioning to another power condition") |
|---|
| 30 | 30 | SENSE_CODE(0x0020, "Extended copy information available") |
|---|
| 31 | 31 | SENSE_CODE(0x0021, "Atomic command aborted due to ACA") |
|---|
| 32 | +SENSE_CODE(0x0022, "Deferred microcode is pending") |
|---|
| 32 | 33 | |
|---|
| 33 | 34 | SENSE_CODE(0x0100, "No index/sector signal") |
|---|
| 34 | 35 | |
|---|
| .. | .. |
|---|
| 72 | 73 | SENSE_CODE(0x0420, "Logical unit not ready, logical unit reset required") |
|---|
| 73 | 74 | SENSE_CODE(0x0421, "Logical unit not ready, hard reset required") |
|---|
| 74 | 75 | SENSE_CODE(0x0422, "Logical unit not ready, power cycle required") |
|---|
| 76 | +SENSE_CODE(0x0423, "Logical unit not ready, affiliation required") |
|---|
| 77 | +SENSE_CODE(0x0424, "Depopulation in progress") |
|---|
| 78 | +SENSE_CODE(0x0425, "Depopulation restoration in progress") |
|---|
| 75 | 79 | |
|---|
| 76 | 80 | SENSE_CODE(0x0500, "Logical unit does not respond to selection") |
|---|
| 77 | 81 | |
|---|
| .. | .. |
|---|
| 104 | 108 | SENSE_CODE(0x0B07, "Warning - degraded power to non-volatile cache") |
|---|
| 105 | 109 | SENSE_CODE(0x0B08, "Warning - power loss expected") |
|---|
| 106 | 110 | SENSE_CODE(0x0B09, "Warning - device statistics notification active") |
|---|
| 111 | +SENSE_CODE(0x0B0A, "Warning - high critical temperature limit exceeded") |
|---|
| 112 | +SENSE_CODE(0x0B0B, "Warning - low critical temperature limit exceeded") |
|---|
| 113 | +SENSE_CODE(0x0B0C, "Warning - high operating temperature limit exceeded") |
|---|
| 114 | +SENSE_CODE(0x0B0D, "Warning - low operating temperature limit exceeded") |
|---|
| 115 | +SENSE_CODE(0x0B0E, "Warning - high critical humidity limit exceeded") |
|---|
| 116 | +SENSE_CODE(0x0B0F, "Warning - low critical humidity limit exceeded") |
|---|
| 117 | +SENSE_CODE(0x0B10, "Warning - high operating humidity limit exceeded") |
|---|
| 118 | +SENSE_CODE(0x0B11, "Warning - low operating humidity limit exceeded") |
|---|
| 119 | +SENSE_CODE(0x0B12, "Warning - microcode security at risk") |
|---|
| 120 | +SENSE_CODE(0x0B13, "Warning - microcode digital signature validation failure") |
|---|
| 121 | +SENSE_CODE(0x0B14, "Warning - physical element status change") |
|---|
| 107 | 122 | |
|---|
| 108 | 123 | SENSE_CODE(0x0C00, "Write error") |
|---|
| 109 | 124 | SENSE_CODE(0x0C01, "Write error - recovered with auto reallocation") |
|---|
| .. | .. |
|---|
| 122 | 137 | SENSE_CODE(0x0C0E, "Multiple write errors") |
|---|
| 123 | 138 | SENSE_CODE(0x0C0F, "Defects in error window") |
|---|
| 124 | 139 | SENSE_CODE(0x0C10, "Incomplete multiple atomic write operations") |
|---|
| 140 | +SENSE_CODE(0x0C11, "Write error - recovery scan needed") |
|---|
| 141 | +SENSE_CODE(0x0C12, "Write error - insufficient zone resources") |
|---|
| 125 | 142 | |
|---|
| 126 | 143 | SENSE_CODE(0x0D00, "Error detected by third party temporary initiator") |
|---|
| 127 | 144 | SENSE_CODE(0x0D01, "Third party device failure") |
|---|
| .. | .. |
|---|
| 242 | 259 | SENSE_CODE(0x200A, "Access denied - invalid proxy token") |
|---|
| 243 | 260 | SENSE_CODE(0x200B, "Access denied - ACL LUN conflict") |
|---|
| 244 | 261 | SENSE_CODE(0x200C, "Illegal command when not in append-only mode") |
|---|
| 262 | +SENSE_CODE(0x200D, "Not an administrative logical unit") |
|---|
| 263 | +SENSE_CODE(0x200E, "Not a subsidiary logical unit") |
|---|
| 264 | +SENSE_CODE(0x200F, "Not a conglomerate logical unit") |
|---|
| 245 | 265 | |
|---|
| 246 | 266 | SENSE_CODE(0x2100, "Logical block address out of range") |
|---|
| 247 | 267 | SENSE_CODE(0x2101, "Invalid element address") |
|---|
| .. | .. |
|---|
| 251 | 271 | SENSE_CODE(0x2105, "Write boundary violation") |
|---|
| 252 | 272 | SENSE_CODE(0x2106, "Attempt to read invalid data") |
|---|
| 253 | 273 | SENSE_CODE(0x2107, "Read boundary violation") |
|---|
| 274 | +SENSE_CODE(0x2108, "Misaligned write command") |
|---|
| 275 | +SENSE_CODE(0x2109, "Attempt to access gap zone") |
|---|
| 254 | 276 | |
|---|
| 255 | 277 | SENSE_CODE(0x2200, "Illegal function (use 20 00, 24 00, or 26 00)") |
|---|
| 256 | 278 | |
|---|
| .. | .. |
|---|
| 275 | 297 | SENSE_CODE(0x2406, "Nonce not unique") |
|---|
| 276 | 298 | SENSE_CODE(0x2407, "Nonce timestamp out of range") |
|---|
| 277 | 299 | SENSE_CODE(0x2408, "Invalid XCDB") |
|---|
| 300 | +SENSE_CODE(0x2409, "Invalid fast format") |
|---|
| 278 | 301 | |
|---|
| 279 | 302 | SENSE_CODE(0x2500, "Logical unit not supported") |
|---|
| 280 | 303 | |
|---|
| .. | .. |
|---|
| 297 | 320 | SENSE_CODE(0x2610, "Data decryption key fail limit reached") |
|---|
| 298 | 321 | SENSE_CODE(0x2611, "Incomplete key-associated data set") |
|---|
| 299 | 322 | SENSE_CODE(0x2612, "Vendor specific key reference not found") |
|---|
| 323 | +SENSE_CODE(0x2613, "Application tag mode page is invalid") |
|---|
| 324 | +SENSE_CODE(0x2614, "Tape stream mirroring prevented") |
|---|
| 325 | +SENSE_CODE(0x2615, "Copy source or copy destination not authorized") |
|---|
| 326 | +SENSE_CODE(0x2616, "Fast copy not possible") |
|---|
| 300 | 327 | |
|---|
| 301 | 328 | SENSE_CODE(0x2700, "Write protected") |
|---|
| 302 | 329 | SENSE_CODE(0x2701, "Hardware write protected") |
|---|
| .. | .. |
|---|
| 342 | 369 | SENSE_CODE(0x2A13, "Data encryption key instance counter has changed") |
|---|
| 343 | 370 | SENSE_CODE(0x2A14, "SA creation capabilities data has changed") |
|---|
| 344 | 371 | SENSE_CODE(0x2A15, "Medium removal prevention preempted") |
|---|
| 372 | +SENSE_CODE(0x2A16, "Zone reset write pointer recommended") |
|---|
| 345 | 373 | |
|---|
| 346 | 374 | SENSE_CODE(0x2B00, "Copy cannot execute since host cannot disconnect") |
|---|
| 347 | 375 | |
|---|
| .. | .. |
|---|
| 360 | 388 | SENSE_CODE(0x2C0C, "Orwrite generation does not match") |
|---|
| 361 | 389 | SENSE_CODE(0x2C0D, "Reset write pointer not allowed") |
|---|
| 362 | 390 | SENSE_CODE(0x2C0E, "Zone is offline") |
|---|
| 391 | +SENSE_CODE(0x2C0F, "Stream not open") |
|---|
| 392 | +SENSE_CODE(0x2C10, "Unwritten data in zone") |
|---|
| 393 | +SENSE_CODE(0x2C11, "Descriptor format sense data required") |
|---|
| 394 | +SENSE_CODE(0x2C12, "Zone is inactive") |
|---|
| 395 | +SENSE_CODE(0x2C13, "Well known logical unit access required") |
|---|
| 363 | 396 | |
|---|
| 364 | 397 | SENSE_CODE(0x2D00, "Overwrite error on update in place") |
|---|
| 365 | 398 | |
|---|
| .. | .. |
|---|
| 395 | 428 | SENSE_CODE(0x3101, "Format command failed") |
|---|
| 396 | 429 | SENSE_CODE(0x3102, "Zoned formatting failed due to spare linking") |
|---|
| 397 | 430 | SENSE_CODE(0x3103, "Sanitize command failed") |
|---|
| 431 | +SENSE_CODE(0x3104, "Depopulation failed") |
|---|
| 432 | +SENSE_CODE(0x3105, "Depopulation restoration failed") |
|---|
| 398 | 433 | |
|---|
| 399 | 434 | SENSE_CODE(0x3200, "No defect spare location available") |
|---|
| 400 | 435 | SENSE_CODE(0x3201, "Defect list update failure") |
|---|
| .. | .. |
|---|
| 419 | 454 | SENSE_CODE(0x3804, "Esn - media class event") |
|---|
| 420 | 455 | SENSE_CODE(0x3806, "Esn - device busy class event") |
|---|
| 421 | 456 | SENSE_CODE(0x3807, "Thin Provisioning soft threshold reached") |
|---|
| 457 | +SENSE_CODE(0x3808, "Depopulation interrupted") |
|---|
| 422 | 458 | |
|---|
| 423 | 459 | SENSE_CODE(0x3900, "Saving parameters not supported") |
|---|
| 424 | 460 | |
|---|
| .. | .. |
|---|
| 456 | 492 | SENSE_CODE(0x3B1A, "Data transfer device removed") |
|---|
| 457 | 493 | SENSE_CODE(0x3B1B, "Data transfer device inserted") |
|---|
| 458 | 494 | SENSE_CODE(0x3B1C, "Too many logical objects on partition to support operation") |
|---|
| 495 | +SENSE_CODE(0x3B20, "Element static information changed") |
|---|
| 459 | 496 | |
|---|
| 460 | 497 | SENSE_CODE(0x3D00, "Invalid bits in identify message") |
|---|
| 461 | 498 | |
|---|
| .. | .. |
|---|
| 488 | 525 | SENSE_CODE(0x3F14, "iSCSI IP address changed") |
|---|
| 489 | 526 | SENSE_CODE(0x3F15, "Inspect referrals sense descriptors") |
|---|
| 490 | 527 | SENSE_CODE(0x3F16, "Microcode has been changed without reset") |
|---|
| 528 | +SENSE_CODE(0x3F17, "Zone transition to full") |
|---|
| 529 | +SENSE_CODE(0x3F18, "Bind completed") |
|---|
| 530 | +SENSE_CODE(0x3F19, "Bind redirected") |
|---|
| 531 | +SENSE_CODE(0x3F1A, "Subsidiary binding changed") |
|---|
| 532 | + |
|---|
| 491 | 533 | /* |
|---|
| 492 | 534 | * SENSE_CODE(0x40NN, "Ram failure") |
|---|
| 493 | 535 | * SENSE_CODE(0x40NN, "Diagnostic failure on component nn") |
|---|
| .. | .. |
|---|
| 589 | 631 | SENSE_CODE(0x550C, "Insufficient resources to create rod") |
|---|
| 590 | 632 | SENSE_CODE(0x550D, "Insufficient resources to create rod token") |
|---|
| 591 | 633 | SENSE_CODE(0x550E, "Insufficient zone resources") |
|---|
| 634 | +SENSE_CODE(0x550F, "Insufficient zone resources to complete write") |
|---|
| 635 | +SENSE_CODE(0x5510, "Maximum number of streams open") |
|---|
| 636 | +SENSE_CODE(0x5511, "Insufficient resources to bind") |
|---|
| 592 | 637 | |
|---|
| 593 | 638 | SENSE_CODE(0x5700, "Unable to recover table-of-contents") |
|---|
| 594 | 639 | |
|---|
| .. | .. |
|---|
| 692 | 737 | SENSE_CODE(0x5D6A, "Firmware impending failure seek time performance") |
|---|
| 693 | 738 | SENSE_CODE(0x5D6B, "Firmware impending failure spin-up retry count") |
|---|
| 694 | 739 | SENSE_CODE(0x5D6C, "Firmware impending failure drive calibration retry count") |
|---|
| 740 | +SENSE_CODE(0x5D73, "Media impending failure endurance limit met") |
|---|
| 695 | 741 | SENSE_CODE(0x5DFF, "Failure prediction threshold exceeded (false)") |
|---|
| 696 | 742 | |
|---|
| 697 | 743 | SENSE_CODE(0x5E00, "Low power condition on") |
|---|
| .. | .. |
|---|
| 744 | 790 | SENSE_CODE(0x6709, "Multiply assigned logical unit") |
|---|
| 745 | 791 | SENSE_CODE(0x670A, "Set target port groups command failed") |
|---|
| 746 | 792 | SENSE_CODE(0x670B, "ATA device feature not enabled") |
|---|
| 793 | +SENSE_CODE(0x670C, "Command rejected") |
|---|
| 794 | +SENSE_CODE(0x670D, "Explicit bind not allowed") |
|---|
| 747 | 795 | |
|---|
| 748 | 796 | SENSE_CODE(0x6800, "Logical unit not configured") |
|---|
| 749 | 797 | SENSE_CODE(0x6801, "Subsidiary logical unit not configured") |
|---|
| .. | .. |
|---|
| 772 | 820 | SENSE_CODE(0x6F05, "Drive region must be permanent/region reset count error") |
|---|
| 773 | 821 | SENSE_CODE(0x6F06, "Insufficient block count for binding nonce recording") |
|---|
| 774 | 822 | SENSE_CODE(0x6F07, "Conflict in binding nonce recording") |
|---|
| 823 | +SENSE_CODE(0x6F08, "Insufficient permission") |
|---|
| 824 | +SENSE_CODE(0x6F09, "Invalid drive-host pairing server") |
|---|
| 825 | +SENSE_CODE(0x6F0A, "Drive-host pairing suspended") |
|---|
| 826 | + |
|---|
| 775 | 827 | /* |
|---|
| 776 | 828 | * SENSE_CODE(0x70NN, "Decompression exception short algorithm id of nn") |
|---|
| 777 | 829 | */ |
|---|