0% found this document useful (0 votes)
171 views69 pages

S11218 v1.3 SAS Gen3 Error Codes

Uploaded by

yxl19880330
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views69 pages

S11218 v1.3 SAS Gen3 Error Codes

Uploaded by

yxl19880330
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

SAS Generation 3 Error Codes

Systems Engineering Note

Version 1.3, S11218


February 2015

DB05-000299-03
SAS Generation 3 Error Codes Systems Engineering Note
February 2015

For a comprehensive list of changes to this document, see the Revision History.

Corporate Headquarters Email Website


San Jose, CA [email protected] www.avagotech.com

Avago, Avago Technologies, the A logo, LSI, Storage by LSI, CacheCade, Fusion-MPT, and GigaBlaze are trademarks of
Avago Technologies in the United States and other countries. The PowerPC name and logo are registered trademarks
of IBM Corp. and used under license therefrom. All other brand and product names may be trademarks of their
respective companies.
Data subject to change. Copyright © 2012–2015 Avago Technologies. All Rights Reserved.
SAS Generation 3 Error Codes Systems Engineering Note Table of Contents
February 2015

Table of Contents

1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 SAS-3 Firmware Fault Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Obtain the Fault Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Doorbell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Heartbeat LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Fault Code Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 I/O Processor Fault Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Protocol Layer Fault Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Integrated RAID Fault Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3 MPI-2 Reply Message Codes for SAS-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1 I/O Processor Message Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Protocol Layer Message Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Integrated RAID Message Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 MPI-2 IOC Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5 MPI-2 IOCLogInfo Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4 DDR Fault Code Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5 LSISAS3108 Controller Internal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2 Internal Error: 0x265B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3 Internal Error: 0x0820 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.4 Internal Error: 0x2627 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.5 Internal Error: 0x2662 and 0x2664 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.6 Internal Error: 0x1500 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.7 Internal Error: 0x2622 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.8 Miscellaneous PCIe Internal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.9 Internal Error: 0x800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.10 Miscellaneous PBAM Internal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.11 Internal Error: 0xD033 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.12 Internal Error: 0xD064 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.13 Internal Error: 0xD040 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.14 Internal Error: 0xD20B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.15 Internal Error: 0xD20C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

Avago Technologies Confidential


-3-
SAS Generation 3 Error Codes Systems Engineering Note References
February 2015

SAS Generation 3 Error Codes Systems Engineering Note


This document details the error codes provided by the SAS-3 firmware during a Fault state.

1 References

For related information, refer to the following resources:


 Serial-Attached SCSI-3 (SAS-3) Specification
 SCSI Primary Commands - 5 (SPC-5) Revision 2a (January 7, 2015)
 SCSI Block Commands - 4 (SBC-4) Revision 4 (December 4, 2014)
 SCSI Architecture Model - 5 (SAM-5) Revision 19 (January 15, 2015)
 SCSI/ATA Translation (SAT-4) Revision 00a (November 24, 2014)
 AT Attachment with Packet Interface-7 Volume 1, Revision 4b (April 21, 2004)
 Fusion-MPT™ Message Passing Interface Specification, v2.5.6 (June 2014, Avago® document number
DB15-000742-09)
For more information about SATA-to-SCSI error translation, refer to SCSI/ATA Translation (SAT-4) Revision 00a
(November 24, 2014).

2 SAS-3 Firmware Fault Codes

When the IOC encounters an unhandled exception, such as an unrecoverable internal error or a hardware failure, the
IOC transitions to the Fault state. Reading the System Doorbell register when the IOC is in the Fault state returns
0b0100 in the IOC State bits 31:28. Bits 15:0 contain the fault code.
This section contains information about the firmware fault codes that the LSISAS3004 (4 port), LSISAS3008 (8 port),
and LSISAS3108 (8 port) controller firmware might generate. Use the System Doorbell register or the Heartbeat LED to
determine the fault code. See the following section for more details.
When the firmware has entered the Fault state, the host driver must use a hard reset to attempt to recover.

2.1 Obtain the Fault Code

This section explains how to obtain the fault code from the System Doorbell register or from the flash sequence issued
by the Heartbeat LED.

2.1.1 Doorbell
The process of obtaining the fault code from the System Doorbell register is explained in Section 4, IOC States, of the
Fusion-MPT Message Passing Interface Specification v2.0 Rev. L. When the firmware detects a fault, each System Doorbell
register is written with the fault code. You can determine the presence of a fault code if the State Nibble (upper 4 bits)
of the System Doorbell register is 0b0100. The remaining bits of the System Doorbell register indicate the fault code.

2.1.2 Heartbeat LED


The firmware also outputs the fault code on the Heartbeat LED. To determine the fault code value, look for the flash
sequence that indicates the start of the value. The synchronization sequence is as follows:
 Ten rapid flashes (1/10 second each)
 Two seconds off

Avago Technologies Confidential


-4-
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

After this sequence, the length of the next 17 flashes indicates each bit of the fault code. A long flash (1 second) equals
1 and a short flash (1/4 second) equals 0. A 2.5-second delay occurs between each flash.
When you write down a sequence, a hexadecimal number results, as shown in the following example.
L SSSL SSLS SSLL SLSS
1 0001 0010 0011 0100
The previous sequence indicates a fault code of 0x00011234 (15 leading 0 bits added). The first digit in this example
refers to bit 16, which indicates the channel where the fault was detected.

2.2 Fault Code Interpretation

The fault code format is shown in the following diagram.

31 17 16 15 0
Reserved Ch Fault Code

Ch [16] The channel where the fault was detected.


Fault Code [15:0] A value that indicates the detected fault.

2.3 I/O Processor Fault Codes

The following table lists the I/O processor (IOP) fault codes and a brief description of each code.

Table 1 IOP Fault Codes

Code Name Description


0x0001 IFAULT_IOP_BOOTL_INVALID_DOORBELL The host wrote an invalid value to the doorbell during the
handshake.
0x0002 IFAULT_IOP_BOOTL_INVALID_MEM_CFG_1 The creation of TLBs failed (too many TLBs required).
0x0003 IFAULT_IOP_BOOTL_INVALID_MEM_CFG_2 The Integrated RAID (IR) requested an invalid NVSRAM size.
0x0004 IFAULT_IOP_BOOTL_INVALID_MEM_CFG_3 Insufficient memory detected for code and data.
0x0005 IFAULT_IOP_BOOTL_INVALID_MEM_CFG_4 Bad context RAM found.
0x0006 IFAULT_IOP_BOOTL_INVALID_BL_IMAGE_1 Boot loader not found.
0x0007 IFAULT_IOP_BOOTL_INVALID_BL_IMAGE_2 Boot loader failed checksum (when copied to context RAM).
0x0008 IFAULT_IOP_BOOTL_INVALID_MEM_CFG_5 IIC read of the SPD failed for DDR.
0x000A IFAULT_IOP_BOOTL_INVALID_MEM_CFG_7 DIMM is an invalid size.
0x000B IFAULT_IOP_BOOTL_INVALID_MEM_CFG_8 DIMM POST failure.
0x000C IFAULT_IOP_BOOTL_INVALID_MEM_CFG_9 DIMM zero failure.
0x000D IFAULT_IOP_BOOTL_DDR_FW_EXCEPTION DDR training failure.
0x000E IFAULT_IOP_BOOTL_DDR_GATEON_FAILED DDR gateon-training failure.
0x000F IFAULT_IOP_BOOTL_DDR_UNCOR_DDR_ECC Uncorrectable DDR ECC failure.
0x0010 IFAULT_IOP_BOOTL_INVALID_MEM_CFG_10 DDR enabled without chip support.
0x0011 IFAULT_IOP_BOOTL_SRAM_BISR_TIMEOUT EDRAM Built-In Self-Repair time-out.
0x0012 IFAULT_IOP_BOOTL_CHIP_FEATURES_BAD Debugging fault for DDR DIMM POST failure.
0x0013 IFAULT_IOP_BOOTL_BAD_BOOT_DEV_SEL Debugging fault to indicate that DIMM 0 failed.

Avago Technologies Confidential


-5-
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 1 IOP Fault Codes (Continued)

Code Name Description


0x0014 IFAULT_IOP_BOOTL_NO_NVSRAM No NVSRAM.
0x0015 IFAULT_IOP_BOOTL_INVALID_FLASH_IMAGES No valid image in the flash.
0x0016 IFAULT_IOP_BOOTL_BAD_OCM On-chip memory (OCM), that is greater than 256 KB, had bit
errors during POST.
0x0017 IFAULT_IOP_BOOTL_BAD_L3 L3 cache had bit errors during POST.
0x0018 IFAULT_IOP_BOOTL_SBR_NOT_USING_SEEPROM SBR values are not from SEEPROM.
0x0019 IFAULT_IOP_BOOTL_INVALID_XMEM_CPY_FLAG Invalid setting for XMEM Copy Flag in the Manufacturing Page
11 Flags.
0x001A IFAULT_IOP_BOOTL_NUM_TLB_MISMATCH The number of TLBs created did not match the number
expected.
0x0100 IFAULT_IOP_FREE_INVALID_FRAME_1 Tried to free a non-existent message frame.
0x0300 IFAULT_IOP_BAD_FRAME_SIZE Invalid message size defined in Manufacturing Page 9.
0x0301 IFAULT_IOP_EXT_MEM_INSUFFICIENT_1 The memory allocation process was not successful, and all
resources are at minimum.
0x0302 IFAULT_IOP_EXT_MEM_INSUFFICIENT_2 Failed to allocate resources for start-of-day variables.
0x0305 IFAULT_IOP_EXT_MEM_INSUFFICIENT_5 Failed start-of-day allocation logic check.
0x0306 IFAULT_IOP_MAXIMUM_MEM_REGIONS_EXCEEDED Exceeded the maximum number of bad sectors in a region.
0x030A IFAULT_IOP_NO_MEMORY_FOR_CSR_BUFFER Not enough memory available to allocate buffer for the
configuration space rerouting (CSR).
0x0402 IFAULT_IOP_SYS_DOORBELL_FAIL_2 The host failed to clear the doorbell interrupt.
0x0501 IFAULT_IOP_INVALID_FRAME_STATE_FREE_2 Tried to free the same frame context twice.
0x0600 IFAULT_IOP_SCSIO_MSG_INVALID_CHAIN SGE is not a chain type, local, and 32 bit.
0x0602 IFAULT_IOP_SCSIO_MSG_INVALID_CHAIN1 SGE is not a chain type and local.
0x0603 IFAULT_IOP_SCSIO_MSG_INVALID_CHAIN2 SGE is not a chain type and local.
0x0604 IFAULT_IOP_SCSIO_MSG_INVALID_CHAIN3 The chain SGE must be a chain type, local, and 32 bit.
0x0605 IFAULT_IOP_SCSIO_MSG_INVALID_LE More than one link element found in the SGL.
0x0606 IFAULT_IOP_SCSIO_MSG_INVALID_ELEM_TYPE SGE is not a simple element.
0x0607 IFAULT_IOP_SCSIO_MSG_INVALID_LOCAL_ADDR SGE has an invalid local address.
0x0608 IFAULT_IOP_SCSIO_MSG_INVALID_NUM_CHAINS The calculated and expected number of chains do not match.
0x0609 IFAULT_IOP_SCSIO_MSG_INVALID_CDB_LEN Encountered a SCSI CDB length of zero.
0x060B IFAULT_IOP_SCSIO_MSG_INVALID_MSGFLAGS Encountered invalid message flags in SCSI I/O.
0x060C IFAULT_IOP_SCSIO_MSG_INVALID_CHAIN_OFF_1 SGL chain offset found in message without data.
0x060D IFAULT_IOP_SCSIO_MSG_INVALID_CHAIN_OFF_2 The SGL chain offset is larger than the message size.
0x060E IFAULT_IOP_SCSIO_MSG_EXCEED_CHAIN_MAX The host exceeded the maximum chain limit.
0x060F IFAULT_IOP_SCSIO_MSG_MASA_OVERFLOW The flow-through request descriptor FIFO overflowed.
0x0610 IFAULT_IOP_SCSIO_TM_MUR_FAIL Task management failed to remove outstanding I/Os.
0x0611 IFAULT_IOP_SCSIO_PART_MUR_FAIL The simple MUR failed to free all non-IR frames.
0x0613 IFAULT_IOP_SCSIO_TA_MUR_FAIL Task abort failed to remove outstanding I/Os.
0x0701 IFAULT_IOP_FLASH_VALIDATION_FAILED_1 Failed to initialize configuration region in Flash.
0x0702 IFAULT_IOP_FLASH_VALIDATION_FAILED_2 A validation of the configuration region failed.
0x0703 IFAULT_IOP_FLASH_VALIDATION_FAILED_3 A migration of the configuration region failed.
0x0704 IFAULT_IOP_FLASH_VALIDATION_FAILED_4 An update of the current configuration page failed.

Avago Technologies Confidential


-6-
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 1 IOP Fault Codes (Continued)

Code Name Description


0x0705 IFAULT_IOP_FLASH_VALIDATION_FAILED_5 A read of the Flash region failed.
0x0706 IFAULT_IOP_FLASH_VALIDATION_FAILED_6 A write of the log page failed.
0x0707 IFAULT_IOP_FLASH_VALIDATION_FAILED_7 A write of the log entry failed.
0x0708 IFAULT_IOP_FW_DOWNGRADE_TIMER_CREATION_FAILED Failed to create a timer.
0x0709 IFAULT_IOP_FW_DOWNGRADE_TIMER_EXPIRED_1 Timer looking for a Firmware Download request expired.
0x070A IFAULT_IOP_FW_DOWNGRADE_TIMER_EXPIRED_2 Timer looking for Diag reset expired.
0x0800 IFAULT_IOP_AHB_BUS_FAULT_1 A PBAM error occurred.
0x0801 IFAULT_IOP_AHB_BUS_FAULT_2 A PBAM error occurred.
0x0810 IFAULT_IOP_PLB_BUS_HANG The PLB bus hanged.
0x0820 IFAULT_IOP_OCM_ERROR An error occurred in the OCM.
0x0900 IFAULT_IOP_STACK_OVERFLOW_1 Call stack overflow or underflow.
0x0A02 IFAULT_IOP_NO_IOP_RESOURCE_FRAMES_DOORBELL Failed to allocate a critical frame.
0x0A03 IFAULT_IOP_RESOURCE_QUEUE_OVERFLOW Logical assertion. Too many resources were placed on the
resource queue.
0x0A04 IFAULT_IOP_FREE_QUEUE_OVERFLOW Logical check. Make sure that the number of frames placed on
the free queues is correct.
0x0A05 IFAULT_IOP_NO_IOP_RESOURCE_FRAMES_INIT Failed to allocate a message frame during IOC Init Message
Handling.
0x0B00 IFAULT_IOP_NO_IOP_CRITICAL_FRAMES_AVAIL The critical frame is already allocated.
0x0C00 IFAULT_IOP_INVALID_FRAME_SIZE The MPI message size is greater than the hardware message
frame size.
0x0D01 IFAULT_IOP_UNHANDLED_FLR Function level reset unhandled.
0x0D02 IFAULT_IOP_DCR_ARBITER_TIMEOUT DCR arbiter time-out for master port 1.
0x0D03 IFAULT_IOP_UNKNOWN_CONFIG_TRAP Unhandled Configuration Trap error.
0x0D04 IFAULT_IOP_UNKNOWN_PBAM_IRQ Unhandled PBAM interrupt.
0x0D05 IFAULT_IOP_ADAPTER_RESET_IRQ The adapter reset was turned off or delayed.
0x0D06 IFAULT_IOP_UNKNOWN_UNHANDLED_IRQ Unknown interrupt in unhandled handler.
0x0D10 IFAULT_IOP_GPIO_INDICATION Fault requested through GPIO input.
0x0D11 IFAULT_IOP_UNEXPECTED_GPIO_EXT_INT An unexpected GPIO external interrupt occurred.
0x1201 IFAULT_IOP_TASK_MGMT_1 Unknown task management source.
0x1202 IFAULT_IOP_TASK_MGMT_2 Task management not found in queue.
0x1203 IFAULT_IOP_TASK_MGMT_3 Task management failed to remove BIOS I/O during an
asynchronous broadcast.
0x1301 IFAULT_IOP_NVDATA_MISMATCH_PERSISTENT_PAGES Failed to find a configuration page.
0x1302 IFAULT_IOP_NVDATA_MISMATCH_CURRENT_PAGES_1 Failed to find IOC configuration page 8.
0x1303 IFAULT_IOP_NVDATA_MISMATCH_CURRENT_PAGES_2 Failed to find a persistent configuration page in NVDATA.
0x1304 IFAULT_IOP_NO_NVDATA_1 Failed to find an NVDATA matching chip in the main code.
0x1305 IFAULT_IOP_NO_NVDATA_2 Encountered an invalid NVDATA signature.
0x1308 IFAULT_IOP_NO_NVDATA_5 Failed to find NVDATA Manufacturing Page 11.
0x1309 IFAULT_IOP_NO_NVDATA_6 Failed to find NVDATA I/O Unit Page 1.
0x130A IFAULT_IOP_NO_NVDATA_7 Failed to find NVDATA that matches the chip ID in the boot
loader.

Avago Technologies Confidential


-7-
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 1 IOP Fault Codes (Continued)

Code Name Description


0x130B IFAULT_IOP_NO_NVDATA_8 Failed to find NVDATA Manufacturing Page 16.
0x130C IFAULT_IOP_NO_NVDATA_9 Invalid SysRefClk in Manufacturing Page 11.
0x130D IFAULT_IOP_NO_NVDATA_10 Invalid PowerPCa clock frequency.
0x130E IFAULT_IOP_NO_NVDATA_11 Failed to find NVDATA Manufacturing Page 2.
0x130F IFAULT_IOP_NO_NVDATA_12 Failed to find Manufacturing Page 31.
0x1400 IFAULT_IOP_REV_ID_MISMATCH Found an unsupported chip ID or revision.
0x1401 IFAULT_IOP_REV_NO_WORKAROUND_MATCH Failed to find a workaround matrix for a chip ID and revision.
0x1402 IFAULT_IOP_MISSING_BITS_HW_WKRD_MATRIX An incorrect initialization of workaround bits occurred.
0x1403 IFAULT_IOP_UNSUPPORTED_CHIP_REV Unsupported chip version.
0x1480 IFAULT_IOP_GPIO_INIT_ERROR Tried to initialize an invalid GPIO.
0x1500 IFAULT_IOP_PCIE_FMU_ERROR_1 Encountered a Fusion-MPT messaging unit error.
0x1600 IFAULT_IOP_MID_OUT_OF_RANGE_SCSIIO_COMP_1 Encountered an invalid MID number.
0x1602 IFAULT_IOP_MID_OUT_OF_RANGE_SCSIIO_COMP_ERR_1 Encountered an invalid MID number.
0x1604 IFAULT_IOP_MID_OUT_OF_RANGE_SCSIIO_START Encountered an invalid MID number.
0x1605 IFAULT_IOP_MID_OUT_OF_RANGE_MSG_COMP_1 Encountered an invalid MID number.
0x1607 IFAULT_IOP_MID_OUT_OF_RANGE_FREE_FRAME_1 Encountered an invalid MID number.
0x1608 IFAULT_IOP_MID_OUT_OF_RANGE_FREE_FRAME_2 Encountered an invalid MID number.
0x1609 IFAULT_IOP_MID_OUT_OF_RANGE_FREE_FRAME_3 Encountered an invalid MID number.
0x160A IFAULT_IOP_MID_OUT_OF_RANGE_FREE_FRAME_4 Encountered an invalid MID number.
0x160B IFAULT_IOP_MID_OUT_OF_RANGE_FREE_FRAME_5 Encountered an invalid MID number.
0x160D IFAULT_IOP_MID_OUT_OF_RANGE_CHNG_FRAME_OWNER Received an invalid MID while requesting a frame ownership
change.
0x160E IFAULT_IOP_FRAME_ALREADY_OWNED_BY_PL Failed to change ownership to PL. PL already owns the frame.
0x160F IFAULT_IOP_FRAME_ALREADY_OWNED_BY_IOP Failed to change ownership to IOP. IOP already owns the frame.
0x1610 IFAULT_IOP_FAILED_UPDATE_MESSAGE_CTXT Failed to update the message context while changing the frame
ownership.
0x1611 IFAULT_IOP_UNEXPECTED_FPE_EXCEPTION Received an FPE exception that IOP does not handle.
0x1612 IFAULT_IOP_FPE_TIMEOUT_NO_RESOURCE Received an FPE time-out but could not get a frame to do TM.
0x1613 IFAULT_IOP_FPE_TIMEOUT_IO_OVERFLOW Received an FPE time-out but exceeded more I/Os than can be
handled.
0x1700 IFAULT_IOP_MID_OUT_OF_RANGE_RAID_ACCELERATOR_SUCCESS Successful RAID accelerator completion path.
0x1701 IFAULT_IOP_MID_OUT_OF_RANGE_RAID_ACCELERATOR_ERROR A RAID accelerator completion path error occurred.
0x1702 IFAULT_IOP_INVALID_RAID_ACCELERATOR_REPLY_1 Failed to determine the RAID accelerator I/O source.
0x1703 IFAULT_IOP_INVALID_RAID_ACCELERATOR_REPLY_2 Failed to determine the RAID accelerator I/O source.
0x1704 IFAULT_IOP_INVALID_RAID_ACCELERATOR_INVALID_COMP_Q_SIZE Failed to determine the RAID accelerator I/O source.
0x1705 IFAULT_IOP_RAID_ACCELERATOR_INIT_FAILED_DDR The initialization failed because of the missing DDR.
0x1706 IFAULT_IOP_RAID_ACCELERATOR_INIT_FAILED_CONTROL_SIZE The initialization failed because the control size is out of range.
0x1707 IFAULT_IOP_RAID_ACCELERATOR_ILLEGAL_REG_REGION_ACCESS An illegal register region was accessed.
0x1708 IFAULT_IOP_INVALID_RAID_ACCELERATOR_REPLY_3 Failed to determine source of RAID accelerator I/O.
0x1709 IFAULT_IOP_MID_OUT_OF_RANGE_RAID_ACCELERATOR_ERROR_1 RAID accelerator completion path error.
0x1800 IFAULT_IOP_SELFTEST_FAILED_RSRC_BUF The resource buffer self-test failed.

Avago Technologies Confidential


-8-
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 1 IOP Fault Codes (Continued)

Code Name Description


0x1801 IFAULT_IOP_INVALID_POWER_ON_SENSE_OPTION Invalid power-on sense option. Avago support representatives
can refer to the AVSO Override operation table in the
LSISAS3108 Controller EDS.
0x1806 IFAULT_IOP_SELFTEST_FAILED_DIVIDER The division self-test failed.
0x1807 IFAULT_IOP_TIMER_CREATE_FAILED Failed to create and initialize a timer.
0x1808 IFAULT_IOP_DDR_SPD_FAILED Failed to acquire the DDR SPD information for Manufacturing
Page 16.
0x1809 IFAULT_IOP_DDR_SBR_SPEED_EXCEED_SPD The SBR memory clock is set at a higher speed than the DIMM
supports.
0x180A IFAULT_IOP_DDR_ECC_SCRUB_FAILED ECC scrub operation failed.
0x1820 IFAULT_IOP_DDR_SOD_CODE_COPY_UNHANDLED Start-of-day DDR code copy encountered an unhandled
condition.
0x1900 IFAULT_IOP_INVALID_REPLY_1 Failed to determine the SCSI I/O source.
0x1901 IFAULT_IOP_INVALID_REPLY_2 Failed to determine the SCSI I/O source.
0x1902 IFAULT_IOP_INVALID_REPLY_3 Failed to determine the SCSI I/O source.
0x1907 IFAULT_IOP_INVALID_REPLY_8 Invalid source for the Power Management Control request
message.
0x1CA0 IFAULT_IOP_TRNG_RESET_TIMEOUT The True Random Number Generator (TRNG) failed to initialize
within the reset timeout.
0x1CA1 IFAULT_IOP_TRNG_BIST_TIMEOUT The TRNG encountered a timeout during BIST.
0x1CA2 IFAULT_IOP_TRNG_BIST_FAILURE The TRNG failed BIST.
0x1CA3 IFAULT_IOP_TRNG_INIT_RESEED_TIMEOUT The TRNG encountered a timeout while sending the RESEED
command.
0x1CA4 IFAULT_IOP_TRNG_FIFO_FILL_TIMEOUT The TRNG encountered a timeout while waiting for FIFO to fill.
0x1D00 IFAULT_IOP_UNHANDLED_EVENT_1 An unsupported MPI event. An unsupported reason code for a
device status change event.
0x1D01 IFAULT_IOP_UNHANDLED_EVENT_2 An unsupported MPI event. An unsupported reason code for a
topology change event.
0x1D02 IFAULT_IOP_UNHANDLED_EVENT_3 An unsupported MPI event. Unsupported Port Status for PCI
Topology change list event.
0x2100 IFAULT_IOP_MESSAGING_QUEUE_OVERFLOW The PCI FMU Messaging queue (Descriptor queue or Reply
queue) overflowed.
0x2300 IFAULT_IOP_NO_THREAD_TIMER Failed to create and initialize a timer.
0x2621 IFAULT_IOP_PCI_EXPRESS_ERROR_1 PCI Express® (PCIe®) Reserved interrupt.
0x2622 IFAULT_IOP_PCI_EXPRESS_ERROR_2 PCIe error.
0x2623 IFAULT_IOP_PCI_EXPRESS_MSGPULLDMA_ERROR Message Pull State Machine encountered an error.
0x2624 IFAULT_IOP_PCI_EXPRESS_ECRC_ERROR The PCIe Link Layer encountered an ECRC error.
0x2625 IFAULT_IOP_PCI_EXPRESS_PLBRW_ERROR The PCIe PLB Read/Write Processor reported an error.
0x2626 IFAULT_IOP_PCI_EXPRESS_TXPARITY_ERROR The PCIe Link Layer encountered a Tx Parity error.
0x2627 IFAULT_IOP_PCI_EXPRESS_MSIX_ERROR Encountered an error in the MSI/MSIx transfer state machine.
0x2628 IFAULT_IOP_PCI_EXPRESS_GENHSFIFO_ERROR The Generic Hard/Soft FIFO encountered an error.
0x2650 IFAULT_FATAL_INT_CRITICAL A critical interrupt pin was triggered.
0x2651 IFAULT_FATAL_INT_MACHINE_CHECK A critical machine check exception occurred.
0x2652 IFAULT_FATAL_INT_DATA_STORAGE A noncritical data storage interrupt occurred.

Avago Technologies Confidential


-9-
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 1 IOP Fault Codes (Continued)

Code Name Description


0x2653 IFAULT_FATAL_INT_INSTRUCTION_STORAGE A noncritical instruction storage interrupt occurred.
0x2654 IFAULT_FATAL_INT_EXTERNAL_INPUT A noncritical external interrupt occurred.
0x2655 IFAULT_FATAL_INT_ALIGNMENT A noncritical alignment exception occurred.
0x2656 IFAULT_FATAL_INT_PROGRAM A noncritical program interrupt occurred.
0x2657 IFAULT_FATAL_INT_FLOATING_POINT_UNAVAILABLE A noncritical floating point unavailable interrupt occurred.
0x2658 IFAULT_FATAL_INT_SYSTEM_CALL A noncritical system call interrupt occurred.
0x2659 IFAULT_FATAL_INT_AUXILIARY_PROC_UNAVAILABLE A noncritical auxiliary process unavailable interrupt occurred.
0x265A IFAULT_FATAL_INT_DECREMENTER A noncritical decrementer interrupt occurred.
0x265B IFAULT_FATAL_INT_FIXED_INTERVAL_TIMER A noncritical fixed interval interrupt occurred.
0x265C IFAULT_FATAL_INT_WATCHDOG_TIMER A critical watchdog timer interrupt occurred.
0x265D IFAULT_FATAL_INT_DATA_TLB_ERROR A noncritical data TLB interrupt occurred.
0x265E IFAULT_FATAL_INT_INSTRUCTION_TLB_ERROR A noncritical instruction TLB interrupt occurred.
0x265F IFAULT_FATAL_INT_DEBUG A critical debug interrupt occurred.
0x2661 IFAULT_IOP_SYSDMA_SEND_PARITY_ERR_1 A parity error occurred on the host-to-IOC DMA.
0x2662 IFAULT_IOP_SYSDMA_SEND_PARITY_ERR_2 A parity error occurred on the host-to-IOC DMA.
0x2663 IFAULT_IOP_SYSDMA_RECEIVE_PARITY_ERR_1 A parity error occurred on the IOC-to-host DMA.
0x2664 IFAULT_IOP_SYSDMA_RECEIVE_PARITY_ERR_2 A parity error occurred on the IOC-to-host DMA.
0x2665 IFAULT_IOP_SYSDMA_SEND_BUS_FAULT_1 A bus fault occurred on the host-to-IOC memory move.
0x2666 IFAULT_IOP_SYSDMA_SEND_BUS_FAULT_2 A bus fault occurred on the host-to-IOC memory move.
0x2667 IFAULT_IOP_SYSDMA_RECEIVE_BUS_FAULT_1 A bus fault occurred on the IOC-to-host memory move.
0x2668 IFAULT_IOP_SYSDMA_RECEIVE_BUS_FAULT_2 A bus fault occurred on the IOC-to-host memory move.
0x266A IFAULT_IOP_SYSDMA_UNMAPPED_MEMORY_ERR_1 An address translation failed.
0x266B IFAULT_IOP_SYSDMA_UNMAPPED_MEMORY_ERR_2 An address translation failed.
0x266C IFAULT_IOP_SYSDMA_TCMMAPPED_MEMORY_ERR The address was not within the TCM.
0x266D IFAULT_IOP_SYSDMA_ERR_IRQ A SysDma error bit was set during transfer.
0x266E IFAULT_IOP_SYSDMA_ERR_BAD_LOCAL_MAP Tried to move local memory that is not mapped such that
RA[63:32] = EA[63:32] = 0 and RA[31:0] = EA[31:0].
0x266F IFAULT_IOP_SYSDMA_ERR_TIMEOUT No error or completion for a DMA transfer.
0x2670 IFAULT_IOP_POWER_LOSS_EXPECTED Early power-off warning (EPOW).
0x2680 IFAULT_IOP_ISTWI_BUS_RESERVE_ERROR The reservation of the ISTWI bus failed.
0x2681 IFAULT_IOP_ISTWI_NO_SBR_IN_NVDATA The SBR type was not found in NVDATA.
0x2690 IFAULT_IOP_MFG_PAGE_NOT_FOUND Failed to find Manufacturing Page 8.
0x26A0 IFAULT_IOP_I2C_FAILED_RESET Failed to reset the I2C peripheral.
0x26A1 IFAULT_IOP_I2C_DMA_COMPLETION_STAT_ERR I2C DMA received an unexpected completion from the SHELL
bus.
0x26A2 IFAULT_IOP_I2C_DMA_PARITY_ERR I2C DMA received a parity error inbound from the SHELL bus.
0x26B0 IFAULT_IOP_INTERRUPT_INVALID_VECTOR Invalid Vector configuration in the Interrupt Table.
0x26B1 IFAULT_IOP_INTERRUPT_SPURIOUS Spurious Interrupt Vector received.
0x26B2 IFAULT_IOP_INTERRUPT_RSVD_IRQ_RCVD A reserved interrupt vector was processed.
0x26B3 IFAULT_IOP_INTERRUPT_RESET_TIMEOUT Interrupt controller failed to complete reset in time.
0x26B4 IFAULT_IOP_L2_PARITY_ERROR_IRQ Unhandled IRQ: L2 Cache Parity Error.

Avago Technologies Confidential


- 10 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 1 IOP Fault Codes (Continued)

Code Name Description


0x26B5 IFAULT_IOP_L2_PLB_ERROR Unhandled IRQ: L2 PLB Error Interrupt.
0x2700 IFAULT_IOP_INVALID_CRIT_FRAME_REQUEST Bits 5:0 = frame. Bits 7:6 = subsystem.
0x280B IFAULT_IOP_PWRMGMT_BAD_EXT_BUFFER_UPLOAD The data for upload was larger than the available buffer space.
0x280C IFAULT_IOP_PWRMGMT_CORRUPTED_TAIL_POINTER The extended diagnostic buffer tail pointer contains junk data.
0x2810 IFAULT_IOP_OVER_TEMP_THRESHOLD_EXCEEDED Exceeded the over-temperature threshold.
0x2900 IFAULT_IOP_ETH_PING_ERR_DNS_CALLBACK Ping DNS callback was called with bad parameters.
0x3FFE IFAULT_IOP_DIAG_INTENTIONAL_FAULT_SPECIAL_VALUE Diagnostic serial command intentionally caused fault.
0x3FFF IFAULT_IOP_HOST_INTENTIONAL_FAULT_SPECIAL_VALUE The host wrote 0xC0FFEE00 to the System Doorbell register.
a. PowerPC® processor made by IBM®.

2.4 Protocol Layer Fault Codes

The following table lists the protocol layer (PL) fault codes and a brief description of each code.

Table 2 PL Fault Codes

Code Name Description


0x4101 IFAULT_PL_UNHANDLED_INTERRUPT_LINK_1 Encountered an unhandled link-layer interrupt.
0x4200 IFAULT_PL_INVALID_CALLBACK_STATE Tried to use an undefined callback.
0x4202 IFAULT_PL_CALLBACK_STACK_UNDERFLOW_2 Callback stack head == 0.
0x4203 IFAULT_PL_CALLBACK_STACK_OVERFLOW Callback stack head == PL_MAX_CALLBACKS.
0x4204 IFAULT_PL_CALLBACK_STACK_INVALID_DEVH Found a device handle of zero in the DMA transmission
queue.
0x4205 IFAULT_PL_INVALID_CALLBACK_1 An invalid SMP response callback occurred on a port that
was not currently under discovery.
0x4206 IFAULT_PL_INVALID_CALLBACK_2 An invalid SMP response callback occurred while discovery
was inactive.
0x4207 IFAULT_PL_INVALID_CALLBACK_3 Encountered an invalid callback state in the SMP clean-up.
0x4300 IFAULT_PL_CALLBACK_STACK_UNDERFLOW Callback stack head == 0.
0x4410 IFAULT_PL_DISCOVERY_ROUTE_TBL_INVALID_ACCESS Erroneously tried to release a route table lock.
0x4420 IFAULT_PL_DISCOVERY_PHY_TABLE_FULL Failed to create a phy table entry for the controller phys.
0x4430 IFAULT_PL_DISCOVERY_SMP_OUTSTANDING Discovery SMPs were outstanding when expander discovery
began.
0x4441 IFAULT_PL_DISCOVERY_INVALID_OPERATION_1 Encountered an invalid SATA Reset state.
0x4442 IFAULT_PL_DISCOVERY_INVALID_OPERATION_2 Encountered an invalid Discovery state.
0x4451 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_1 Failed to locate the phy table index for an expander phy.
0x4452 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_2 Failed to reserve the phy table entry.
0x4453 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_3 Failed to find the phy table entry
SMP_FUNCTION_DISCOVER.
0x4454 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_4 Failed to find the phy table entry
SMP_FUNCTION_DISCOVER_LIST.
0x4455 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_5 Failed to find the phy table entry
SMP_FUNCTION_REPORT_PHY_SATA.
0x4456 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_6 Failed to find the phy table entry.

Avago Technologies Confidential


- 11 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x4457 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_7 Failed to find the phy table entry
(SMP_FUNCTION_PHY_CONTROL).
0x4458 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_8 Failed to find the phy table entry
(SMP_FUNCTION_REPORT_EDFB_SETTINGS).
0x4460 IFAULT_PL_DISCOVERY_INVALID_STATE Encountered an invalid Discovery state.
0x4461 IFAULT_PL_DISCOVERY_PHY_TABLE_ERR_9 Failed to find the phy table entry.
0x4462 IFAULT_PL_DISCOVERY_EVTRPLY_NUM_PHYS_TOO_LARGE The enclosure exceeded the maximum number of phys to
perform sorting for slot-ordered SAS topology change list
events.
0x4463 IFAULT_PL_DISCOVERY_EVTRPLY_PHY_IDX_NOT_FOUND Phy Index is not found in the sorted phy list.
0x4464 IFAULT_PL_DISCOVERY_EVTRPLY_ENCL_EXP_MISSING Number of expanders found does not equal the number of
expanders in the enclosure during Event Replay Slot
Ordering.
0x4465 IFAULT_PL_DISCOVERY_STPAA_UNSUPPORTED STP Always Activated (STPAA) is not compatible with Gen-3
SAS controllers.
0x4850 IFAULT_PL_DEVMGR_INVALID_SSP_MAXQDEPTH Invalid MaxQdepth specified in NVDATA
SASNarrowMaxQDepth field.
0x4851 IFAULT_PL_INVALID_SSPT_DEV_QDEPTH_INCR While incrementing Qdepth, the current QDepth for SAS
device is found to be less than the minimum Qdepth
allowed.
0x4852 IFAULT_PL_INVALID_SSPT_DEV_QDEPTH_DECR While decrementing Qdepth, the current QDepth for SAS
device is found to be less than the minimum Qdepth
allowed.
0x4900 IFAULT_PL_INVALID_MID Invalid MID.
0x4A00 IFAULT_PL_LINK_LAYER_PARITY_ERROR Link Layer Parity error detected.
0x4A01 IFAULT_PL_LINK_LAYER_PARITY_ERROR_TXFM Link Layer Parity error detected. Possibly due to TxFM
clean-up.
0x4A02 IFAULT_PL_LINK_LAYER_PARITY_ERROR_SLV Link Layer Parity (Slave) error detected.
0x4C00 IFAULT_PL_SATA_ENGINE_RAM_PARITY_ERROR Encountered a fatal parity error in the SATA engine.
0x4C20 IFAULT_PL_SATA_UNEXPECTED_MID Failed to find the current MID in the expected location.
0x4C30 IFAULT_PL_SATA_INVALID_COMMAND_WRV Decode of the Write Verify command failed.
0x4C31 IFAULT_PL_SATA_INVALID_COMMAND_VR Decode of the Verify command failed.
0x4C32 IFAULT_PL_SATA_UNEXPECTED_SECTOR_SIZE Received unexpected or unsupported sector size.
0x4D01 IFAULT_PL_ATAPI_UNEXPECTED_FIS_1 The controller received an unexpected FIS.
0x4D02 IFAULT_PL_ATAPI_UNEXPECTED_FIS_2 The controller received an unexpected FIS.
0x4D03 IFAULT_PL_ATAPI_UNEXPECTED_FIS_3 The controller received an unexpected FIS.
0x4D04 IFAULT_PL_ATAPI_UNEXPECTED_FIS_4 The controller received an unexpected FIS.
0x4D05 IFAULT_PL_ATAPI_INVALID_SENSE_COUNT Incorrect reply sense count.
0x4D06 IFAULT_PL_ATAPI_UNEXPECTED_FPE_STATE Unexpected FPE state.
0x4D07 IFAULT_PL_ATAPI_UNEXPECTED_ADDRESS_SPACE Unexpected address space.
0x4E01 IFAULT_PL_NO_IOP_RESOURCE_FRAMES_EVENT_1 Failed to initialize the IOP message frame.
0x4E02 IFAULT_PL_NO_IOP_RESOURCE_FRAMES_EVENT_2 An unhandled case occurred in the SGL extraction.
0x4E03 IFAULT_PL_NO_IOP_RESOURCE_FRAMES_SENSE_1 Failed to allocate a critical frame for the sense data.
0x4E04 IFAULT_PL_NO_IOP_RESOURCE_FRAMES_SENSE_2 Failed to allocate a critical frame for the sense data.
0x4E05 IFAULT_PL_NO_IOP_RESOURCE_FRAMES_SENSE_3 Failed to allocate a critical frame for the sense data.

Avago Technologies Confidential


- 12 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x4F01 IFAULT_PL_LINK_TIMER_FAILED_1 Failed to initialize the timer in the Link Reset state machine.
0x4F02 IFAULT_PL_LINK_TIMER_FAILED_2 Failed to initialize the timer in the Link Reset state machine
setup.
0x4F03 IFAULT_PL_PRSNC_DTCT_TIMER_CREATION_FAILED Failed to allocate presence detect timer.
0x5001 IFAULT_PL_LINK_RESET_INITIALFIS_RCVD_INVALID Unexpected state on receiving initial FIS.
0x5002 IFAULT_PL_LINK_RESET_IDENTIFY_RCVD_INVALID Unexpected state on receiving identify.
0x5003 IFAULT_PL_LINK_RESET_SERDES_CONFIG_PWR_ON_PHY Reminder if firmware needs to configure SerDes registers to
power on the phy.
0x5004 IFAULT_PL_LINK_RESET_SERDES_CONFIG_PWR_OFF_PHY Reminder if firmware needs to configure SerDes registers to
power off the phy.
0x5005 IFAULT_PL_LINK_RESET_PM_CAPABILITIES_NOT_ADVERTISED Failed to advertise power management capabilities in the
Identify Address Frame.
0x5030 IFAULT_PL_LINK_RESET_CONFIG_LINK_RATE_FAILED Link rate configuration failed.
0x5040 IFAULT_PL_LINK_RESET_SEQUENCE_FAILURE The link reset sequence failed (0x504x, where x = next state).
0x5100 IFAULT_PL_QUEUE_MGR_INIT_FAILED Failed to acquire Manufacturing Page 15 for queue manager
initialization.
0x5108 IFAULT_PL_QUEUE_MGR_DMA_DISABLE_TIMEOUT QM - a DMA engine did not go disabled or to wait state.
0x5109 IFAULT_PL_CONTROL_QUEUE_DIS_TIMEOUT_1 Control queue disable has timed out.
0x510A IFAULT_PL_CONTROL_QUEUE_DIS_TIMEOUT_2 Control queue disable has timed out.
0x510B IFAULT_PL_CONTROL_QUEUE_LIST_CORRUPTION_1 Control queue's list corruption detected.
0x510C IFAULT_PL_CONTROL_QUEUE_LIST_CORRUPTION_2 Control queue's list corruption detected.
0x510D IFAULT_PL_CONTROL_QUEUE_LIST_CORRUPTION_3 Control queue's list corruption detected.
0x510E IFAULT_PL_CONTROL_QUEUE_EXPANSION Control queue is expanding beyond the number of attached
devices.
0x5112 IFAULT_PL_RX_CLN_ABORT_LIST_CORRUPTED Number of I/Os on abort list has decreased; implies abort list
corruption.
0x5113 IFAULT_PL_QUEUE_MGR_BAD_TXDMA_QUEUE_ENTRY Trying to build a bad SGE to add an entry to the TxDMA
queue.
0x5114 IFAULT_PL_QUEUE_MGR_BAD_COMPL_QUEUE_REQUEST Trying to add an entry to an invalid completion queue.
0x5115 IFAULT_PL_QUEUE_MGR_TXDMA_QUEUE_WONT_STOP Trying to stop DMAQ dequeuing to add entry to the TxDMA
queue.
0x5116 IFAULT_PL_QUEUE_MGR_TXDMA_QUEUE_WONT_ENQ Trying to add an entry to the TxDMA queue, but it is not
enqueuing.
0x5117 IFAULT_PL_QUEUE_MGR_DMA_GROUP_DUP Found more devices than there are DMA groups.
0x5118 IFAULT_PL_QUEUE_MGR_CANNOT_ADD_TO_COMP_Q Unable to manually add an entry into the Completion
queue.
0x5120 IFAULT_PL_DMAQ_LENGTH_ZERO Zero Length is passed to DMAQ.
0x5121 IFAULT_PL_DMAQ_NO_MID No MID for DMAQ entry.
0x5300 IFAULT_PL_UNEXPECTED_TX_FM_ERROR Encountered an unexpected Tx Frame Manager error.
0x5302 IFAULT_PL_TX_FM_CLEANUP_NOT_STOPPING The Tx Frame Manager state machine did not reach IDLE
state as expected during Tx Frame Manager clean-up.
0x5303 IFAULT_PL_TX_FM_NULL_PTRPTRCURBUF Encountered null address of pointer to current buffer.
0x5304 IFAULT_PL_TX_FM_BAD_ERROR_MID_1 Error MID in Tx Frame Manager clean-up is bad.
0x5305 IFAULT_PL_TX_FM_BAD_ERROR_MID_2 Error MID in Tx Frame Manager clean-up is bad.

Avago Technologies Confidential


- 13 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x5306 IFAULT_PL_TX_FM_START_WHILE_RUNING Tried to start a Tx Frame Manager that is already running.
0x5400 IFAULT_PL_PHYLINK_TABLE_PARITY_ERROR Phy link table contained a parity error.
0x5801 IFAULT_PL_UNHANDLED_QUEUE_MANAGER_INT_1 Tried to enqueue the DMA request when no entry was
available.
0x5802 IFAULT_PL_UNHANDLED_QUEUE_MANAGER_INT_2 A clear affiliation request occurred to an ID with outstanding
I/Os, or a clear affiliation request was sent to a non-STP
device, or an attempt occurred to enqueue a full control
queue group.
0x5803 IFAULT_PL_UNHANDLED_QUEUE_MANAGER_INT_3 The master's completion interface received a nonzero
completion status, a parity error was detected at the
master's XferInbound interface, or a tag greater than 6 was
received at the master's completion or inbound interface.
0x5804 IFAULT_PL_UNHANDLED_QUEUE_MANAGER_INT_4 A parity error was detected at the slave's write interface, or a
reserved address was detected at the slave's read or write
interface.
0x5805 IFAULT_PL_UNHANDLED_QUEUE_MANAGER_INT_5 Encountered an invalid MID or ID during a
firmware-controlled enqueue operation.
0x5806 IFAULT_PL_UNHANDLED_QUEUE_MANAGER_INT_6 Encountered an invalid MID or ID during a
firmware-controlled DMA enqueue operation.
0x5811 IFAULT_PL_UNHANDLED_TX_FRAME_MANAGER_INT_1 A fault occurred for several unhandled Tx Frame Manager
interrupts.
0x5812 IFAULT_PL_UNHANDLED_TX_FRAME_MANAGER_INT_2 An unhandled SATA length mapping error occurred.
0x5813 IFAULT_PL_TX_FRAME_MGR_INTERRUPT_NOT_CLEARED Tx Frame Manager interrupt not cleared after doing control
queue clean-up.
0x5814 IFAULT_PL_TX_FRAME_MGR_INTERRUPT_MID_IN_TM_LIST Tx Frame Manager interrupted on a MID that is already on a
TM's list.
0x5821 IFAULT_PL_UNHANDLED_RX_FRAME_MANAGER_INT_1 An unhandled error in the Rx Frame Manager Interrupt
handler occurred.
0x5822 IFAULT_PL_UNHANDLED_RX_FRAME_MANAGER_INT_2 An unhandled error in the Rx Frame Manager Interrupt
handler occurred.
0x5823 IFAULT_PL_UNHANDLED_RX_FRAME_MANAGER_INT_3 An unhandled error in the Rx Frame Manager Interrupt
handler occurred.
0x5824 IFAULT_PL_UNHANDLED_RX_FRAME_MANAGER_INT_4 An unhandled error in the Rx Frame Manager Interrupt
handler occurred.
0x5825 IFAULT_PL_UNHANDLED_RX_FRAME_MANAGER_INT_5 An important SATA frame was dropped.
0x5827 IFAULT_PL_UNHANDLED_RX_FRAME_MANAGER_INT_FSM_TO Tx Frame Manager FSM (or Send FSM) state machine is stuck.
0x5828 IFAULT_PL_RX_FRAME_MANAGER_FAILED_STOP Rx Frame Manager failed to stop.
0x5831 IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_INT_1 Unhandled errors occurred in the Tx DMA interrupt handler.
0x5832 IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_INT_2 An unhandled DMA transmission queue type occurred.
0x5833 IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_INT_3 Unhandled interrupt that did not get detected by
plTxCtxMgrFaultOnInterrupt.
0x5834 IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_INT_4 An unhandled DMA type occurred.
0x5835 IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_INT_5 An unhandled error in the Tx DMA Interrupt handler
occurred.
0x5836 IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_INT_6 An unhandled error in the Tx DMA Interrupt handler
occurred.
0x5837 IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_INT_7 An unhandled error in the Tx DMA Interrupt handler
occurred.

Avago Technologies Confidential


- 14 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x5838 IFAULT_PL_TX_CTX_MANAGER_INT_FATAL_ERROR Received CntxError (bit 2 of status) in TxCtxMgr and it is not
of the non-auto type.
0x5839 IFAULT_PL_TX_CTX_MANAGER_BAD_NON_AUTO_INT_A Received CntxError (bit 2 of status) of non-auto type, but the
clean-up fails.
0x583A IFAULT_PL_TX_CTX_MANAGER_BAD_NON_AUTO_INT_B Received CntxError (bit 2 of status) of non-auto type, but the
clean-up fails.
0x583B IFAULT_PL_TX_CTX_MANAGER_IMPOSSIBLE_NON_AUTO This interrupt should never happen when the TxCtxHang
workaround is enabled.
0x583C IFAULT_PL_UNHANDLED_TX_CTX_MANAGER_CTX_ERR_INT Unhandled TxCtxMgr Context interrupt.
0x583D IFAULT_PL_TX_CTX_MANAGER_INV_CTX Trying to get a pointer to an invalid context.
0x583E IFAULT_PL_TX_CTX_MANAGER_NO_DATO_INT The TxCtxMgr DATO interrupt did not fire, and the data
length is not less than 1K.
0x583F IFAULT_PL_TX_CTX_MANAGER_BAD_MID Bad MID in the TxCtxMgr registers.
0x5840 IFAULT_PL_TX_CTX_BAD_HALFBUSY_MODE TxCtxMgr in BusyWhenHalfBusy mode when it should not
be.
0x5841 IFAULT_PL_UNHANDLED_RX_CTX_MANAGER_INT_1 Unhandled errors occurred in the Rx Context Manager
Interrupt handler.
0x5842 IFAULT_PL_UNHANDLED_RX_CTX_MANAGER_INT_2 Unhandled error occurred in the Rx Context Manager
Interrupt handler.
0x5843 IFAULT_PL_UNHANDLED_RX_CTX_MANAGER_INT_3 Unhandled error occurred in the Rx Context Manager
Interrupt handler.
0x5844 IFAULT_PL_UNHANDLED_RX_CTX_MANAGER_ADDR_CONT Encountered an Rx Context Manager Address Contention
interrupt.
0x5845 IFAULT_PL_RX_CTX_MANAGER_INT_NOT_VALID ContextValid was never asserted.
0x5846 IFAULT_PL_RX_CTX_MANAGER_BAD_NON_AUTO_INT Received a frame for an I/O with the non-auto bit set, but the
MID is not in the scope of a TM.
0x5847 IFAULT_PL_RX_CTX_MANAGER_DMA_OFFSET_ERROR The DMA engine start-address is not equal to DMA engine
completion-address.
0x5848 IFAULT_PL_RX_CTX_MANAGER_DATA_OVERRUN_ERROR Attempting to send more data than requested.
0x5849 IFAULT_PL_RX_CTX_MANAGER_PARITY_ERROR Rx Context Manager internal parity error.
0x584A IFAULT_PL_RX_CTX_MANAGER_INT_NOT_VALID_2 ContextValid never asserted.
0x584B IFAULT_PL_RX_CTX_MANAGER_UNHANDLED_DMAOVERFLOW_INT Rx Context Manager triggered unhandled RxDMA Overflow
interrupt.
0x584C IFAULT_PL_RX_CTX_MANAGER_WA_INVALID_LEN Unable to clear a single frame of invalid size from the RxDma
buffer.
0x584D IFAULT_PL_RX_CTX_MANAGER_DMA_XFER_OFFSET_ERROR The firmware-computed DMA start address does not match
the value saved by hardware.
0x5851 IFAULT_PL_UNHANDLED_TX_DMA_ENGINE_INT_1 Unhandled errors occurred in the TxDMA Engine interrupt
handler.
0x5852 IFAULT_PL_UNHANDLED_TX_DMA_ENGINE_INT_2 An unhandled DMA type occurred.
0x5853 IFAULT_PL_UNHANDLED_TX_DMA_ENGINE_INT_3 Unhandled DMA type - new interrupts for Gen-3 or
previously unused.
0x5854 IFAULT_PL_UNHANDLED_TX_DMA_ENGINE_INT_4 Received a TxDMA SysDMA error, which is an unhandled
interrupt from the SAS Core.
0x5861 IFAULT_PL_UNHANDLED_RX_DMA_ENGINE_INT_1 Unhandled errors occurred in the RxDMA Engine interrupt
handler.

Avago Technologies Confidential


- 15 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x5862 IFAULT_PL_UNHANDLED_RX_DMA_ENGINE_INT_2 Unhandled DMA type - new interrupts for Gen-3 or
previously unused.
0x5863 IFAULT_PL_UNHANDLED_RX_DMA_ENGINE_INT_3 Received an RxDMA SysDMA error, which is an unhandled
interrupt from the SAS Core.
0x5864 IFAULT_PL_UNHANDLED_RX_DMA_ENGINE_WA_INVALID_CONDITION PL_HW_WORKAROUND_RX_FRM_MGR_DISABLE_TIMER
failed.
0x5871 IFAULT_PL_UNHANDLED_PORT_LAYER_INT_1 Unhandled errors occurred in the Port Layer Tx Interrupt
handler.
0x5872 IFAULT_PL_UNHANDLED_PORT_LAYER_INT_2 Encountered an invalid device handle in the Port PLLC
Interrupt handler.
0x5881 IFAULT_PL_UNHANDLED_RX_EEDP_INT_1 Unhandled errors occurred in the Rx EEDP Interrupt handler.
0x5882 IFAULT_PL_UNHANDLED_RX_EEDP_INT_2 An invalid device handle occurred in the Rx EEDP Context
register.
0x5885 IFAULT_PL_RX_EEDP_STALLNEWFRAMES_STUCK The Rx EEDP hardware did not suspend for the BT1783
workaround.
0x5886 IFAULT_PL_RX_EEDP_NOT_SUSPENDED_BT1786 The Rx EEDP hardware did not suspend for the BT1786
workaround.
0x5890 IFAULT_PL_TX_DMA_CTX_INVALID_1 The TxDma Context (A/B) is invalid.
0x5891 IFAULT_PL_TX_DMA_CTX_INVALID_2 The TxDma Context (A/B) is invalid.
0x5892 IFAULT_PL_TX_DMA_CTX_INVALID_3 The TxDma Context (A/B) is invalid.
0x5893 IFAULT_PL_TX_DMA_CTX_NOT_CAPTURED The TxDma Context (A/B) was not set by hardware.
0x5894 IFAULT_PL_TX_DMA_CTX_BAD_USAGE Incorrect attempt to get Tx context (A or B) after an
interrupt.
0x5895 IFAULT_PL_TX_DMA_PORT_PARITY_ERR TxDma Transport clean-up detected a fatal port parity error.
0x5896 IFAULT_PL_TX_DMA_CTX_INVALID_INTERUPT_CTX There is a TxCtxMgr interrupt, but the context it was on
cannot be determined.
0x58A0 IFAULT_PL_UNHANDLED_PHLYNK_TBL_XFACE_INT An unhandled error occurred in the phlynk (phy/link)
Interrupt handler.
0x58A1 IFAULT_PL_UNHANDLED_PHLYNK_DEV_TBL_ERROR An unhandled error occurred in phy/link Interrupt handler:
Dev Table Error Stat.
0x58B1 IFAULT_PL_UNHANDLED_PHY_LAYER_INT_1 The phy layer detected a parity error on a register write.
0x58B2 IFAULT_PL_UNEXPECTED_PHY_POWER_MODE Unsupported phy power mode.
0x58B3 IFAULT_PL_UNEXPECTED_LINK_RATE Unsupported link rate.
0x58B4 IFAULT_PL_PLL_READY_TIMEOUT The PLL did not become ready within 5 ms.
0x58B5 IFAULT_PL_OPTICAL_MODE_PROGRAMMING_ERROR Unsupported optical mode.
0x58B6 IFAULT_PL_UNKNOWN_REFERENCE_CLOCK Unsupported reference clock speed.
0x58B7 IFAULT_PL_SERDES_HW_ERROR The hardware cannot indicate Cm1Up and Cm1Down at the
same time.
0x58B8 IFAULT_PL_TX_CONTROL_SUBSTATE_ERROR Tx Control Substate Machine has a bad state.
0x58B9 IFAULT_PL_TX_STATE_WAIT_FOR_RESPONSE_ERROR The firmware reached the WAIT_FOR_RESPONSE state
without first sending a valid request.
0x58BA IFAULT_PL_TX_STATE_ERROR Tx Training Tx State machine went to a bad state.
0x58BB IFAULT_PL_RX_STATE_ERROR Tx Training Rx State machine went to a bad state.
0x58BC IFAULT_PL_FAILED_TO_ENABLE_OOB_ON_PHY Failed to enable OOB on a phy.
0x5900 IFAULT_PL_INVALID_MID_TRACKER_SET Tried to set a bit on an invalid MID tracker.

Avago Technologies Confidential


- 16 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x5910 IFAULT_PL_INVALID_MID_TRACKER_CLEAR Tried to clear a bit on an invalid MID tracker.
0x5920 IFAULT_PL_INVALID_MID_TRACKER_ASSIGN Tried to assign a bit on an invalid MID tracker.
0x5A00 IFAULT_PL_TXFM_NULL_PTRCURBUF Encountered a null pointer to the current buffer.
0x6001 IFAULT_PL_TASK_MGMT_OUTSTD_IOS_ON_DEV_RST Tried to complete a device reset with outstanding I/Os.
0x6002 IFAULT_PL_TASK_MGMT_TX_FRAME_NOT_CLEAN Failed to find an aborted I/O on the DMA transmission
queue.
0x6003 IFAULT_PL_TASK_MGMT_ABORT_TAG_MISSED_IO Abort task failed to find the I/O, but the MidUsed tag
indicated that the I/O was in use.
0x6004 IFAULT_PL_TASK_MGMT_IO_COUNT_CORRUPTION Corrupt I/O count.
0x6005 IFAULT_PL_TASK_MGMT_INVALID_MID_TM_START Encountered an invalid MID during task management.
0x6006 IFAULT_PL_TASK_MGMT_INVALID_MID_ABT_MATCH Encountered an invalid MID during task management.
0x6007 IFAULT_PL_TASK_MGMT_INVALID_MID_ABT_TRANSQ Encountered an invalid MID during task management.
0x6008 IFAULT_PL_TASK_MGMT_INVALID_MID_ABT_MID Encountered an invalid MID during task management.
0x6009 IFAULT_PL_TASK_MGMT_INVALID_MID_ABT_TXTRANS Encountered an invalid MID during task management.
0x600A IFAULT_PL_TASK_MGMT_INVALID_MID_CLEANUP Encountered an invalid MID during task management.
0x600B IFAULT_PL_TASK_MGMT_INVALID_MID_TM_TRAP Encountered an invalid MID during task management.
0x600C IFAULT_PL_TASK_MGMT_INVALID_MID_CMP_ABT_IO Encountered an invalid MID during task management.
0x600D IFAULT_PL_TASK_MGMT_INVALID_MID_ABT_TM Encountered an invalid MID during task management.
0x600E IFAULT_PL_TASK_MGMT_INVALID_DEVH_TM_START Encountered an invalid device handle during task
management.
0x600F IFAULT_PL_TASK_MGMT_INVALID_HWDI Tried to perform task management on a non-existent
device.
0x6010 IFAULT_PL_TASK_MGMT_INVALID_DEVH Encountered an invalid device handle during task
management.
0x6011 IFAULT_PL_TASK_MGMT_INVALID_MID_ABT_RXTRANS Encountered an invalid MID during task management.
0x6012 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_1 The Tx transport clean-up stalled.
0x6013 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_2 The Tx transport clean-up stalled.
0x6014 IFAULT_PL_TASK_MGMT_INVALID_MID_RXEEDP_NON_AUTO Invalid MID encountered during NON_AUTO RxEEDP
interrupt.
0x6015 IFAULT_PL_TASK_MGMT_INTERNAL_INVALID_DEVH Tried internal task management on an invalid device handle.
0x6016 IFAULT_PL_TASK_MGMT_ABORT_LIST_CORRUPTION_1 Corrupt task management abort list.
0x6017 IFAULT_PL_TASK_MGMT_ABORT_LIST_CORRUPTION_2 Corrupt task management abort list.
0x6018 IFAULT_PL_TASK_MGMT_ABORT_LIST_CORRUPTION_3 Corrupt task management abort list.
0x6019 IFAULT_PL_TASK_MGMT_ABORT_LIST_CORRUPTION_4 Corrupt task management abort list.
0x601A IFAULT_PL_TASK_MGMT_IQ_DISABLE_HANG_1 Control queue stalled.
0x601B IFAULT_PL_TASK_MGMT_IQ_DISABLE_HANG_2 Control queue stalled.
0x601C IFAULT_PL_TASK_MGMT_TXFM_NOT_INT_STATE Tx Frame Manager did not go to interrupt state as expected.
0x601D IFAULT_PL_TASK_MGMT_INVALID_DEVH_TM_ST_CLEANUP Encountered an invalid device handle during task
management.
0x601E IFAULT_PL_TASK_MGMT_INVALID_MID_ABT_UNCONF_RESP Invalid MID encountered during TM clean-up of outstanding
unconfirmed frames.
0x601F IFAULT_PL_TASK_MGMT_FAIL_TO_ABORT_LOWER_SCOPE_TM Abort task set failed to find an abort task and add to its
aborted TMs list.

Avago Technologies Confidential


- 17 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x6020 IFAULT_PL_TASK_MGMT_TM_TAIL_NOT_NULL The TM head is null, but the TM tail is not null. Invalid state.
0x6040 IFAULT_PL_TASK_MGMT_SMP_SEND_BAD_STATE The control queue stalled.
0x6050 IFAULT_PL_TASK_MGMT_CRIT_FRM_1_NOT_FREED The task management SSP critical frame was not freed.
0x6051 IFAULT_PL_TASK_MGMT_CRIT_FRM_2_NOT_FREED The task management SMP critical frame was not freed.
0x6100 IFAULT_PL_TASK_MGMT_UNEXPECTED_ABORT Tried to abort an unexpected function type (0x61xx, where
xx == function type).
0x6101 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_3 The Tx transport clean-up stalled.
0x6102 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_4 The Tx transport clean-up stalled.
0x6103 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_5 The Tx transport clean-up stalled.
0x6104 IFAULT_PL_TASK_MGMT_TX_HANG_LOST_MID Cannot find hung MID in TxCtxMgrs.
0x6105 IFAULT_PL_TASK_MGMT_TX_HANG_UNKNOWN_MID Cannot determine the MID that might have caused the
hang.
0x6106 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_6 The Tx transport clean-up stalled.
0x6107 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_7 The Tx transport clean-up stalled.
0x6108 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_8 The Tx transport clean-up stalled.
0x6109 IFAULT_PL_TASK_MGMT_TX_CLEAN_TXDMAQ_RUNNING The Tx transport clean-up called with TxDMAQ running.
0x610A IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_9 Soft reset the Tx Context Manager.
0x610B IFAULT_PL_TASK_MGMT_TX_CLEAN_PORTXFER_NOT_IDLE PortXferState did not go to idle, and a link to break could not
be found.
0x610C IFAULT_PL_TASK_MGMT_TX_CLEAN_INVALID_MID Trying to abort an invalid MID.
0x610D IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_10 The Tx transport clean-up stalled.
0x610E IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_11 The Tx transport clean-up stalled.
0x610F IFAULT_PL_TASK_MGMT_TX_CLEAN_UNKNOWN_CTX The Tx transport clean-up stalled.
0x6110 IFAULT_PL_TASK_MGMT_INVALID_DEVH_TM_REM_ABORTEDIO Encountered an invalid device handle while removing an I/O
from the TM abort list.
0x6111 IFAULT_PL_TASK_MGMT_TX_CLEAN_HANG_12 The Tx transport clean-up stalled.
0x61A0 IFAULT_PL_TASK_MGMT_START_FAIL_BAD_FAST_PATH_HW Tried to start a TM, but the FastPath Hardware was not in the
expected state.
0x61A2 IFAULT_PL_TASK_MGMT_FAILED_TO_REMOVE_FPETIME There was a fatal error removing the FPE timer from an I/O
aborted by a TM.
0x61A3 IFAULT_PL_TASK_MGMT_COMPLETION_IOCOUNT_NOT_ZERO IOcount for device handle 0 was not zero when trying to
complete a TM.
0x61A4 IFAULT_PL_TASK_MGMT_TM_LIST_CORRUPTION List of linked TMs for a device is corrupted.
0x6201 IFAULT_PL_UNEXPECTED_COMPLETION An entry occurred on the completion queue for a non-I/O
request.
0x6208 IFAULT_PL_SCSI_IO_INVALID_MID_3 Encountered an invalid MID.
0x6209 IFAULT_PL_SCSI_INVALID_SENSE_BUFFER Internal I/O did not provide an address for the sense data.
0x620A IFAULT_PL_RESTART_SCSI_IO_INVALID_MID Encountered an invalid MID.
0x620B IFAULT_PL_SCSI_IO_INVALID_MID_1 Encountered an invalid MID.
0x620C IFAULT_PL_SCSI_IO_INVALID_MID_2 Encountered an invalid MID.
0x620D IFAULT_PL_RESTART_SCSI_IO_BAD_IOCOUNT_DEC Tried to restart an I/O when no I/O is outstanding.
0x620E IFAULT_PL_PEND_SCSI_IO_BAD_IOCOUNT_DEC Tried to pend an I/O when no I/O is outstanding.
0x620F IFAULT_PL_SCSI_IO_CMPLT_BAD_IOCOUNT_DEC Tried to complete an I/O when no I/O is outstanding.

Avago Technologies Confidential


- 18 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x6210 IFAULT_PL_CHECK_XFER_CNT_FAILED_OWNER_CHANGE Failed to change the owner to PL after checking the transfer
count for data overrun or data underrun.
0x6220 IFAULT_PL_INT_IO_CTX_NOT_FOUND_1 Internal I/O was not found on the context list during search.
0x6221 IFAULT_PL_INT_IO_CTX_NOT_FOUND_2 Internal I/O was not found on the context list during remove.
0x6222 IFAULT_PL_INT_IO_CTX_DUPLICATE_ENTRY Internal I/O already has a context list entry.
0x6230 IFAULT_PL_IO_TIMER_BUCKET_NOT_EMPTIED Internal I/O timed out but was not handled by any PL
subsystem.
0x6400 IFAULT_PL_INVALID_HWDI_LINK_LAYER Encountered an invalid device handle.
0x6402 IFAULT_PL_INVALID_HWDI_SATA_ENG_ABRT_TAG Encountered an invalid device handle.
0x6403 IFAULT_PL_INVALID_HWDI_NON_AUTO_DMA_COMP Encountered an invalid device handle.
0x6404 IFAULT_PL_INVALID_HWDI_NON_AUTO_FRAME Encountered an invalid device handle.
0x6405 IFAULT_PL_INVALID_NON_AUTO_FRAME_HANDLER Trying to handle an invalid type of nonauto frame.
0x640F IFAULT_PL_INVALID_HWDI_ABORT_TX_TRANS Encountered an invalid device handle.
0x6413 IFAULT_PL_INVALID_HWDI_PORT_TXDMA_ERR Reserved. Encountered an invalid device handle.
0x6414 IFAULT_PL_INVALID_DEV_HANDLE_HUNG_LINK Invalid device handle encountered while handling a stuck
link.
0x6600 IFAULT_PL_INVALID_HWDI_TX_CTX_CLEANUP Encountered an invalid device handle.
0x6700 IFAULT_PL_CLEARED_RX_CTX_W_O_INTERRUPT The Rx context cleared without an interrupt.
0x6701 IFAULT_PL_CLEAR_RX_CTX_INVALID_TRANS_NUM Tried to clear a transfer number greater than the number of
RxDMAs.
0x6702 IFAULT_PL_CLEAR_RX_CTX_CTX_INVALID Tried to clear Rx context with no valid current context.
0x6703 IFAULT_PL_CLEAR_RX_CTX_XFER_ACTIVE Tried to clear Rx context while the DMA engine is active.
0x6704 IFAULT_PL_RX_CTX_STOP_DE_FAIL Failed to stop the DMA engine for overrun clean-up.
0x6707 IFAULT_PL_CLEAR_RX_CTX_UPDATES_NOT_DONE Memory updates were not finished when clearing the Rx
context.
0x6708 IFAULT_PL_CLEAR_RX_CTX_NO_INTERRUPT Trying to clear Rx context with no interrupt active.
0x6709 IFAULT_PL_RX_CTX_DMA_ACTIVE_TIMEOUT Trying to clear Rx context with no interrupt active.
0x670A IFAULT_PL_RX_CTX_FAILED_STOP RxCtxMgr failed to stop.
0x670B IFAULT_PL_RXEEDP_HW_CNTXT_UPD_FAILURE Rx EEDP failed to update the HWContext.
0x670C IFAULT_PL_RXEEDP_CTX_CMPL_NOT_SET Rx EEDP Nonauto interrupt - ContextComplete not set yet.
0x670D IFAULT_PL_RXEEDP_SET_SUSPEND_TIMEOUT After setting suspend bit in General Control, time-out while
waiting for confirmation.
0x670E IFAULT_PL_RXEEDP_SET_PM_STATE_TIMEOUT After writing power management setting in General Control,
time-out while waiting for confirmation.
0x6800 IFAULT_PL_UNEXPECTED_PHY_LAYER_INT_LOW Encountered an unexpected phy layer interrupt.
0x6805 IFAULT_PL_INVALID_SAS_ADDRESS_IN_IDENTIFY_FRAME Reserved. Encountered an invalid SAS address in the identify
frame.
0x6806 IFAULT_PL_UNEXPECTED_PHLYNKTBL_INT_LOW Encountered an unexpected phlynk (phy/link) table
interrupt.
0x6809 IFAULT_PL_UNEXPECTED_RXEEDP_INT_LOW Encountered an unexpected Rx EEDP interrupt.
0x680C IFAULT_PL_UNEXPECTED_PORT_LAYER_INT_LOW_1 Encountered an unexpected port layer interrupt.
0x680D IFAULT_PL_UNEXPECTED_PORT_LAYER_INT_LOW_2 Encountered an unexpected port layer interrupt.
0x680F IFAULT_PL_UNEXPECTED_RXDMA_INT_LOW Encountered an unexpected RxDMA engine interrupt.

Avago Technologies Confidential


- 19 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x6812 IFAULT_PL_UNEXPECTED_TXDMA_INT_LOW Encountered an unexpected TxDMA engine interrupt.
0x6815 IFAULT_PL_UNEXPECTED_RXFM_INT_LOW Encountered an unexpected Rx Frame Manager interrupt.
0x681B IFAULT_PL_UNEXPECTED_QM_INT_LOW Encountered an unexpected Queue Manager interrupt.
0x681E IFAULT_PL_UNEXPECTED_PORT_LAYER_TXTYPE Encountered an unexpected port layer type.
0x681F IFAULT_PL_UNEXPECTED_PORT_LAYER_TXTYPE_ON_CLEAR Encountered an unexpected port layer type.
0x6820 IFAULT_PL_PORT_LAYER_CLEAN_NO_MID_FOUND Failed to find the MID.
0x6821 IFAULT_PL_PORT_LAYER_STP_BSY_NO_MID_ATAPI Failed to find the MID.
0x6822 IFAULT_PL_PORT_LAYER_STP_BSY_NO_MID Failed to find the MID.
0x6823 IFAULT_PL_PORT_LAYER_STP_BSY_UNEXPECTED An unexpected OpenFailCode = STP_RESOURCES_BUSY
occurred.
0x6825 IFAULT_PL_INVALID_COMPLETION_INTERRUPT Invalid completion interrupt occurred.
0x6826 IFAULT_PL_INVALID_SAS_COMPLETION_MID_OWNERSHIP Invalid ownership of an I/O completion received from the
SAS Completion queue.
0x6827 IFAULT_PL_PORT_LAYER_OPENFAILED_NOT_FOUND Open Failed interrupt occurred, but not found in the
hardware.
0x6828 IFAULT_PL_PORT_LAYER_UNEXPECTED_TX_TYPE Unexpected TxType when finding MID.
0x6829 IFAULT_PL_PORT_LAYER_NO_DEST_THRES_NOT_EXCEEDED The no destination counter threshold exceeded interrupt
did not hit prior to checking for expired timer.
0x682A IFAULT_PL_PORT_LAYER_BAD_TXTYPE_IN_OPEN_FAILED_STATUS The TxType in the OpenFailedStatus is one that cannot be
cleared in the Tx Frame Manager's OpenFailed interrupt.
0x682B IFAULT_PL_PORT_LAYER_CHECK_FOR_EXPIRED_TIMER_FAILED Port layer check for expired timer failed.
0x682C IFAULT_PL_PORT_LAYER_OPEN_FAIL_INVALID_TX_TYPE A fatal open fail occurred in the port layer and the TxType
field is neither MATCH_FM nor MISMATCH_FM.
0x6901 IFAULT_PL_INT_TRACKER_RECORD_INVALID Encountered an invalid tracker record value.
0x6902 IFAULT_PL_INT_TRACKER_REPORT_INVALID Encountered an invalid tracker report value.
0x6903 IFAULT_PL_INT_TRACKER_SHOW_INVALID Encountered an invalid tracker structure.
0x6B00 IFAULT_PL_DIRECT_ATTACHED_SATA_PHYNUM_OUT_OF_RANGE The gplDevDetails.FirstPhyIdentifier value is not a
direct-attached phy.
0x6B01 IFAULT_PL_PWR_MGMT_BAD_DATA_IN_SASIOUNIT_5 The NumPhys field value within SAS I/O Unit Page 5 is zero.
0x6B02 IFAULT_PL_PWR_MGMT_POLICY_QUEUE_EMPTY_1 Tried to dequeue a policy change request from an empty
queue.
0x6B03 IFAULT_PL_PWR_MGMT_POLICY_QUEUE_EMPTY_2 Tried to dequeue a policy change request from an empty
queue.
0x6B04 IFAULT_PL_PWR_MGMT_POLICY_QUEUE_EMPTY_3 Tried to dequeue an empty policy request queue in
host-controlled PWM code.
0x6B05 IFAULT_PL_PWR_MGMT_UNKNOWN_RESPONSE_MESSAGE Tried to reply to a message type that was not SAS I/O Unit
Control.
0x6B06 IFAULT_PL_PWR_MGMT_POLICY_QUEUE_EMPTY_4 Tried to dequeue an empty policy request while changing
global power mode.
0x6B07 IFAULT_PL_PWR_MGMT_FAILED_TO_ENABLE_DISABLE_ON_PHY Failed to enable or disable power management on a phy.
0x6B08 IFAULT_PL_PWR_MGMT_FAILED_TO_DETERMINE_PWRMGMT_COND Failed to determine if power management is enabled on a
phy.
0x6B0A IFAULT_PL_PWR_MGMT_HARDWARE_NOT_INCREMENTING Hardware issue. LCSampCnt did not increment.
0x6B0B IFAULT_PL_PWR_MGMT_BAD_PERCENTAGE_CALCULATION Calculated greater than 100% port-bandwidth use.
0x6B0C IFAULT_PL_PWR_MGMT_PORT_WIDTH_MOD_CHANGE_FAILURE_1 Incorrectly calculated PHYs to turn on and turn off.

Avago Technologies Confidential


- 20 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x6B0D IFAULT_PL_PWR_MGMT_PORT_WIDTH_MOD_CHANGE_FAILURE_2 Incorrectly calculated PHYs to turn on and turn off.
0x6B0E IFAULT_PL_PWR_MGMT_UNEXPECTED_LINK_ALIAS The LinkAlias value in the port layer did not match the
expected value.
0x6B10 IFAULT_PL_PWR_MGMT_PHY_POWER_STATE_IDLE_TIMEOUT Time-out occurred while waiting for link to settle down.
(lower 8 bits = linknum).
0x6B1A IFAULT_PL_PWR_MGMT_HARDWARE_COUNTERS_NONSENSICAL LcSampOn is greater than LcSampCnt.
0x6B1B IFAULT_PL_PWR_MGMT_FIRMWARE_COUNTERS_NONSENSICAL (Normalized) LcSampOn is greater than LcSampCnt.
0x6B1C IFAULT_PL_PWR_MGMT_GENERATED_NULL_SAMPLE Power management tried to generate a port use sample for
a group with no active links.
0x6B1D IFAULT_PL_PWR_MGMT_LINKALIAS_MISMATCH_ON_SAVE A link alias mismatch occurred between the current link alias
and the old link alias.
0x6B1E IFAULT_PL_PWR_MGMT_LINKALIAS_MISMATCH_ON_RESTORE A link alias mismatch occurred between the current link alias
and the old link alias.
0x6B1F IFAULT_PL_PWR_MGMT_PWM_REQUESTED_BAD_REGION_CHG The PWM control algorithm requested an invalid region
change.
0x6B20 IFAULT_PL_PWM_INVALID_ABORT_REQUEST Tried to abort port width modulation for a group that is not
modulated.
0x6B21 IFAULT_PL_PWM_PHY_SM_POWEROFF_BAD_LINK_ALIAS Tried to bring back a phy with the wrong LinkAlias value.
0x6B22 IFAULT_PL_PWM_PHY_SM_POWERON_RCVD_GROW_EVENT Tried to power on a phy that is already on.
0x6B23 IFAULT_PL_PWM_PHY_SM_SLUMBER_STATE_MISMATCH Port width modulation tried to wake up a phy in Slumber
mode, but the phy was not in Slumber mode.
0x6B24 IFAULT_PL_PWM_PHY_SM_UNKNOWN_TRANSITION State machine did not transition. Check the ring buffer for
the phy number, event, and state-machine state.
0x6B30 IFAULT_PL_PWM_PHY_SM_SLUMBER_STATE_UNEXPECTED_EVENT Received an unexpected event while in the SLUMBER state.
The lower 4 bits encode the event number.
0x6B40 IFAULT_PL_PWM_PHY_SM_POWEROFF_STATE_UNEXPECTED_EVENT Received an unexpected event while in the POWER_OFF
state. The lower 4 bits encode the event number.
0x6B50 IFAULT_PL_PWM_PHY_SM_WAIT_LR_STATE_UNEXPECTED_EVENT Received an unexpected event while in the
WAIT_LR_COMPLETE state. The lower 4 bits encode the
event number.
0x6B60 IFAULT_PL_PWM_PHY_SM_DEV_CHECK_STATE_UNEXPECTED_EVENT Received an unexpected event while in the DEVICE_CHECK
state. The lower 4 bits encode the event number.
0x6B70 IFAULT_PL_PWM_PHY_SM_ERROR_STATE_UNEXPECTED_EVENT Received an event that was not an abort event while in
ERROR state. The lower 4 bits encode the event number.
0x6B71 IFAULT_PL_PWR_MGMT_RXEEDP_RAM_ACCESS_SET Firmware set the access bit for Rx EEDP memory.
0x6B72 IFAULT_PL_PWR_MGMT_NOT_PM_IDLE The Tx DMA or RxDMA PM logic is not in PM IDLE state.
0x6B80 IFAULT_PL_PWR_MGMT_SMP_RESP_CI_STATE_UNEXPTD1 Received a good SMP Response, but the PwrMgmt
CommIntent state was unexpected.
0x6B81 IFAULT_PL_PWR_MGMT_SMP_RESP_CI_STATE_UNEXPTD2 Received a SMP response error or a non-good functional
result, the CommIntent state was unexpected.
0x6BE0 IFAULT_PL_PWR_MGMT_INVALID_GROUP_MEMBERSHIP Invalid link->group membership in
plPwrMgmtGatherStatistics().
0x6BFF IFAULT_PL_UNIMPLEMENTED_FEATURE Reserved.
0x6C00 IFAULT_PL_MATH_DIVIDE_BY_ZERO Attempted to divide by 0.
0x6D00 IFAULT_PL_TEI_FAKE_FRAME_ALREADY_ACTIVE Target-mode test-code fault.
0x7000 IFAULT_PL_CABLE_MGMT_MFG_6_UNEXPECTED_PARAM Bad parameter in manufacturing page 6 for function 0x17.

Avago Technologies Confidential


- 21 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x7001 IFAULT_PL_CABLE_MGMT_STATE_MACHINE_ERROR State machine moved to an unknown state.
0x7002 IFAULT_PL_CABLE_MGMT_SEEPROM_ACCESS_ERROR Invalid I2C bus while trying to access SEEPROM.
0x7003 IFAULT_PL_CABLE_MGMT_SEEPROM_ACCESS_NO_CONNECTOR_FOUND No connector found while accessing SEEPROM.
0x7008 IFAULT_PL_STARTING_IO_WHEN_IQ_DISABLED Tried to enqueue an I/O to a disabled device.
0x700D IFAULT_PL_STARTING_IO_WHEN_CLEANUP_ACTIVE Tried to enqueue an I/O to a disabled device.
0x7200 IFAULT_PL_SEP_BUFFER_SIZE_ERR Tried to build an SES message larger than the buffer.
0x7201 IFAULT_PL_SEP_CMD_QUEUE_ERR Tried to remove an enclosure management message that
was not on the queue.
0x7202 IFAULT_PL_SEP_CONTROL_BITS_ERROR Received a SCSI message without the data direction bits set.
0x7203 IFAULT_PL_SEP_ISTWI_BUS_RESERVE_ERROR Failed to reserve the ISTWI bus.
0x720A IFAULT_PL_ENCL_MGMT_SLOT_NUM_ERROR Encountered an SEP message with slot number 0 when the
starting slot number is 1.
0x720B IFAULT_PL_ENCL_MGMT_DEVHANDLE_CONVERT_ERROR Encountered an SEP message that was not in the correct
enclosure handle/slot form.
0x7400 IFAULT_PL_START_SMP_INVALID_DEVHANDLE An SMP request was made to an invalid device handle.
0x7401 IFAULT_PL_INTERNAL_SMP_TOO_BIG Internal SMP request was too large to fit inside one message
frame.
0x7410 IFAULT_PL_SMP_TIMED_OUT The SMP timed out three times. Not compiled into
production builds.
0x7600 IFAULT_PL_INVALID_PHY_TO_PORTNUM Failed to find a free port or a port that is associated with the
phy.
0x7700 IFAULT_PL_SOD_SIZE_NOT_16_BYTE_ALIGNED Found a start-of-day size parameter that was not 16-byte
aligned.
0x7801 IFAULT_PL_INITIALIZATION_SEQUENCE_ERROR_1 Tried the start-of-day function before the parameters
initialized.
0x7802 IFAULT_PL_INITIALIZATION_SEQUENCE_ERROR_2 Tried PL initialization before the start-of-day function
completed.
0x7821 IFAULT_PL_SATA_REASSIGN_BLOCKS_1 An unexpected operation occurred in reassigning blocks.
0x7822 IFAULT_PL_SATA_REASSIGN_BLOCKS_2 An unexpected status occurred in reassigning blocks.
0x7830 IFAULT_PL_SATA_SSU_INVALID_ATA_OPCODE Invalid ATA OpCode detected during SCSI Start Stop Unit
translation to ATA.
0x7831 IFAULT_PL_SATA_CANNOT_FETCH_PWR_COND_LOG Unable to fetch the Power Condition log page.
0x7832 IFAULT_PL_SATA_MODE_SELECT_EXTPWRCOND_INVALID_STATE Invalid state detected during SCSI Mode Select translation
for ATA external power conditions.
0x7900 IFAULT_PL_SOD_MEMORY_NOT_16_BYTE_ALIGNED Found a start-of-day parameter that was not 16-byte
aligned.
0x7A00 IFAULT_PL_UNSUPPORTED_SENTINEL_VERSION Found an unsupported version of the SAS core during the
start-of-day function operation.
0x7A01 IFAULT_PL_UNSUPPORTED_COLT_VERSION Found an unsupported version of Colt during the
start-of-day function operation.
0x7B00 IFAULT_PL_MISSING_BITS_HW_WKRD_MATRIX Invalid number of bits defined in the run-time workaround
matrix.
0x7C00 IFAULT_PL_INVALID_QD_HW_SACTIVE_WKRD Tried to use invalid internal queue depth with a workaround.
0x7C10 IFAULT_PL_SATA_INQ_BAD_LENGTH An unexpected data length was found in the SATA inquiry
command.
0x7C20 IFAULT_PL_SATA_INIT_START_BAD_DEV Failed to find a phy table entry for the attached device.

Avago Technologies Confidential


- 22 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x7C21 IFAULT_PL_SATA_WRITE_SAME_INVALID_CDB Invalid CDB while handling the Write Same SCSI command.
0x7C22 IFAULT_PL_SATA_SCT_INVALID_CDB Encountered an unexpected CDB.
0x7C23 IFAULT_PL_SATA_RD_WR_LONG_INVALID_CDB Invalid CDB while handling the Read/Write Long command.
0x7C30 IFAULT_PL_SATA_CLRAFF_BAD_DEVH Tried to clear the affiliation with an invalid device handle.
0x7C31 IFAULT_PL_SATA_CLRAFF_BAD_DEVTYPE Tried to clear the affiliation of an SMP target.
0x7C32 IFAULT_PL_MSG_FRAME_SIZE_TOO_BIG Start-of-day parameter, HwMessageSize, is larger than 1008
bytes.
0x7C33 IFAULT_PL_SATA_CLRAFF_BAD_IOCOUNT Tried to clear the affiliation with outstanding I/Os.
0x7C34 IFAULT_PL_SATA_SACTIVE_LEFT_ON SActive bits remain set after a translated command.
0x7C35 IFAULT_PL_SATA_MIDVALID_ON Hardware MidValid bit remains set after a translated
command.
0x7C36 IFAULT_PL_SATA_BREAKUP_CDB_TOO_BIG Tried to perform a break-up on a CDB that is too large.
0x7C37 IFAULT_PL_SATA_INVALID_BREAKUP Tried to perform a break-up on read/write 6.
0x7C38 IFAULT_PL_SATA_INVALID_BREAKUP_UNSUP Tried to perform a break-up on an unsupported read/write
size.
0x7C39 IFAULT_PL_SATA_SCSI_SEC_PROTO_OUT_SIZE_TOO_BIG The SCSI security protocol out size (data + zero + param) is
greater than the message frame size.
0x7C40 IFAULT_PL_SIZE_OF_FW_USE_OF_HW_CTX_TOO_BIG The hardware context structure size that firmware uses was
larger than the minimum hardware context size.
0x7C41 IFAULT_PL_INVALID_MSG_FRAME The message frame address is not in the allocated pool.
0x7C42 IFAULT_PL_WRITE_SAME_TRIM_BAD_RANGE_LIST Failed to add ATA RANGE ENTRY to RANGE LIST.
0x7C43 IFAULT_PL_ERROR_CTX_NULL_POINTER The caller passed in a NULL pointer for the error ctx.
0x7C44 IFAULT_PL_UNEXPECTED_PORTINFO Unsupported PortInfo value coming from SASCore.
0x7C45 IFAULT_PL_NO_STP_PTHRU_HANDLER_FOUND Could not find a handler for the requested STP Pass Through
command.
0x7C46 IFAULT_PL_MID_FOR_DMA_Q_ENTRY Could not get a MID for DMA queue entry at SOD.
0x7C51 IFAULT_PL_PORT_LAYER_HUNG_CLR_AFFL The port layer workaround stalled.
0x7C52 IFAULT_PL_PORT_LAYER_HUNG_UNKNOWN The port layer workaround stalled.
0x7C53 IFAULT_PL_SAS_CONFIG_REG_INT A configuration register low-priority interrupt occurred.
0x7C54 IFAULT_PL_SAS_SLAVE_INT SAS Slave low-priority interrupt.
0x7C60 IFAULT_PL_QUIESCE_REDUCE_FUNC_IN_USE Cannot quiesce because reduced functionality is already in
use.
0x7C61 IFAULT_PL_QUIESCE_SMP_RESTART_PORT_CHANGED Cannot quiesce because a device with SMP moved the
ports.
0x7D01 IFAULT_PL_VEM_SAS_ADDRESS_ALLOC_FAILURE Failed to allocate a SAS address for the virtual port.
0x7D02 IFAULT_PL_VEM_NULL_POINTER_ADD Tried to add a virtual port with a null address.
0x7D03 IFAULT_PL_VEM_NULL_POINTER_REMOVE Tried to remove a virtual port with a null address.
0x7D04 IFAULT_PL_VEM_WRONG_TBL_ENTRY_ADD Tried to add the wrong table entry.
0x7D05 IFAULT_PL_VEM_WRONG_TBL_ENTRY_REMOVE_1 Failed to remove a virtual port ID entry.
0x7D06 IFAULT_PL_VEM_WRONG_TBL_ENTRY_REMOVE_2 Failed to remove a virtual port ID entry.
0x7D07 IFAULT_PL_VEM_UNEXPECTED_VPID_1 Failed to add an entry to the Virtual ID Originator table.
0x7D08 IFAULT_PL_VEM_UNEXPECTED_VPID_2 Failed to add an entry to the Hardware Initiator table.
0x7D09 IFAULT_PL_VEM_UNEXPECTED_VPID_3 Tried to allocate a virtual port ID that already exists.

Avago Technologies Confidential


- 23 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x7D0A IFAULT_PL_VEM_INVALID_PHYNUM The identify frame contained an invalid phy number.
0x7D0B IFAULT_PL_VEM_UNEXPECTED_PPORT_1 An invalid physical port ID.
0x7D0C IFAULT_PL_VEM_UNEXPECTED_PPORT_2 An invalid physical port ID.
0x7D0E IFAULT_PL_VEM_UNEXPECTED_PPORT_4 An invalid physical port ID.
0x7D0F IFAULT_PL_VEM_UNEXPECTED_PPORT_5 An invalid physical port ID.
0x7D10 IFAULT_PL_VEM_UNEXPECTED_PPORT_6 An invalid physical port ID.
0x7D1D IFAULT_PL_VEM_DM_REPORT_DEVICES_FAILED Attached-device reporting failed.
0x7D1E IFAULT_PL_VEM_INVALID_PHYBITS An invalid port number or no phys are associated with the
port.
0x7D20 IFAULT_PL_VEM_DATA_MISMATCH_1 DMA data corrupted.
0x7D21 IFAULT_PL_VEM_DATA_MISMATCH_2 DMA data corrupted.
0x7D22 IFAULT_PL_VEM_DATA_MISMATCH_3 DMA data corrupted.
0x7D23 IFAULT_PL_VEM_SMP_RESPONSE_SEND_FAILURE_1 Failed to process the Discover List response.
0x7D24 IFAULT_PL_VEM_SMP_RESPONSE_SEND_FAILURE_2 Failed to process the Discover List response.
0x7D25 IFAULT_PL_VEM_SMP_RESPONSE_SEND_FAILURE_3 Failed to process the Discover List response.
0x7D26 IFAULT_PL_VEM_SMP_RESPONSE_SEND_FAILURE_4 Failed to process the Discover List response.
0x7D27 IFAULT_PL_VEM_SMP_RESPONSE_SEND_FAILURE_5 Failed the SMP Report Zone Permission table response.
0x7D28 IFAULT_PL_VEM_SMP_RESPONSE_SEND_FAILURE_6 Failed the SMP Report Zone Permission table response.
0x7D30 IFAULT_PL_VEM_INVALID_VPHY_ZONING Virtual Expander Manager. All the virtual phys in the same
virtual port are not in the same zone group.
0x7D41 IFAULT_PL_VEM_INVALID_DEVHANDLE_2 Invalid device handle.
0x7D42 IFAULT_PL_VEM_INVALID_DEVHANDLE_3 The SAS address was not found.
0x7D43 IFAULT_PL_VEM_INVALID_DEVHANDLE_4 Invalid device handle.
0x7D44 IFAULT_PL_VEM_INVALID_DEVHANDLE_5 The SAS address was not found.
0x7D45 IFAULT_PL_VEM_INVALID_DEVHANDLE_6 Invalid device handle.
0x7D46 IFAULT_PL_VEM_INVALID_DEVHANDLE_7 Invalid device handle.
0x7D50 IFAULT_PL_VEM_HOTPLUG_UNKNOWN_CHANGETYPE The Virtual Expander Manager detected an unrecognized
change on a physical port.
0x7D6B IFAULT_PL_VEM_SMP_PASS_NO_RSRC_FRAME_1 The Virtual Expander Manager failed to obtain an IOP
resource frame for processing an SMP pass-through
command.
0x7D6C IFAULT_PL_VEM_SMP_PASS_NO_RSRC_FRAME_2 The Virtual Expander Manager failed to obtain an IOP
resource frame for processing an SMP pass-through
command.
0x7D70 IFAULT_PL_VEM_EVENTS_NO_REPLICATED_ENCL_HNDL An enclosure handle was not found or was replicated for a
virtual port.
0x7D71 IFAULT_PL_VEM_HWINIT_TABLE_ENTRY_ERROR_1 The Virtual Expander Manager failed to add the Static Root
Virtual Port into the hardware Initiator/Virtual ID Response
table.
0x7D72 IFAULT_PL_VEM_VID_TABLE_ENTRY_ERROR_1 The Virtual Expander Manager failed to add the Static Root
Virtual Port into the hardware Virtual ID Originator table.
0x7D73 IFAULT_PL_VEM_HWINIT_TABLE_ENTRY_ERROR_2 The Virtual Expander Manager failed to add the Physical
Function Virtual Port into the hardware Initiator/Virtual ID
Response table.

Avago Technologies Confidential


- 24 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0x7D74 IFAULT_PL_VEM_VID_TABLE_ENTRY_ERROR_2 The Virtual Expander Manager failed to add the Physical
Function Virtual Port into the hardware Virtual ID Originator
table.
0x7D80 IFAULT_PL_VEM_FAILED_REPLICATION The Virtual Expander Manager failed to replicate the
physical device.
0x7D81 IFAULT_PL_VEM_DEV_REPLICATION_INVALID_DEVH The Virtual Expander Manager failed to replicate a physical
device with an invalid device handle.
0x7D82 IFAULT_PL_VEM_FAILED_VPHY_ALLOC_SRVP_1 The Virtual Expander Manager failed to allocate virtual phys
during Static Root Virtual Port creation.
0x7D83 IFAULT_PL_VEM_FAILED_VPHY_FREE_SRVP_1 The Virtual Expander Manager failed to release virtual phys
during Static Root Virtual Port creation.
0x7D84 IFAULT_PL_VEM_FAILED_CREATE_SRVP The Virtual Expander Manager failed to create the Static
Root Virtual Port during Virtual Expander creation.
0x7D85 IFAULT_PL_VEM_FAILED_CREATE_VE The Virtual Expander Manager failed to create the Virtual
Expander around a physical port.
0x7D86 IFAULT_PL_VEM_FAILED_CONF_SRVP The Virtual Expander Manager failed to configure the Static
Root Virtual Port.
0x7D87 IFAULT_PL_VEM_FAILED_CREATE_PFVP The Virtual Expander Manager failed to create the Physical
Function Virtual Port during Virtual Expander creation.
0x7D90 IFAULT_PL_VEM_ZONING_ILLEGAL_PHY_TABLE_ACCESS The Virtual Expander Manager received an SMP to configure
a phy that does not exist.
0x7D91 IFAULT_PL_VEM_CORRUPT_VP_TABLE The Virtual Expander Manager Virtual Port table is corrupt.
0x7D92 IFAULT_PL_VEM_INVALID_PPORT_VE_MAPPING The Virtual Expander Manager physical port does not match
with the corresponding Virtual Expander.
0x7D93 IFAULT_PL_VEM_INVALID_PHYSICAL_DEVICE Virtual Expander Manager. Invalid SAS address.
0x7D94 IFAULT_PL_VEM_VP_DELETE_FAILED_VPHY_DELETE The Virtual Expander Manager failed to release virtual phys
during Virtual Port Delete.
0xC001 IFAULT_TARG_NO_MSG_FRAMES_ERR_RSP Frame requests exceeded the available transports.
0xC002 IFAULT_TARG_CMD_RCVD_BAD_STATUS The hardware reused a command buffer that the firmware
reported as already in use.
0xC004 IFAULT_TARG_NON_AUTO_CMPLT_ERR_LCL_MID An unexpected MID on DMA completion of an internal
request occurred.
0xC005 IFAULT_TARG_MISMATCH_MID_IOINDEX_ERROR The MID and the I/O index in the message does not match
the firmware state information.
0xC009 IFAULT_TARG_NON_AUTO_CMPLT_ERR_SYS_MID An unexpected MID on DMA completion of a host request
occurred.
0xC00C IFAULT_TARG_COMPLETE_UNKNOWN_STATUS The hardware reported a completion of an I/O that the
firmware did not report as outstanding.
0xC00D IFAULT_TARG_NO_MSG_FRAMES_CMD_BUFF_POST_ERR_RPLY Failed to allocate a message frame to send an aborted
command buffer reply.
0xD000 IFAULT_PL_FPE_MGR_TEMP_GENERIC_FAULT Generic FastPath engine fault.
0xD011 IFAULT_PL_FPE_MGR_FAILED_INCR_IOCOUNT Failed to increment Device IoCount.
0xD012 IFAULT_PL_FPE_MGR_FAILED_DECR_IOCOUNT Failed to decrement Device IoCount.
0xD013 IFAULT_PL_FPE_MGR_CLEARED_FAST_PATH_CAPABLE Cleared fastPathCapable. The firmware should not perform a
clear once it is set.
0xD014 IFAULT_PL_FPE_MGR_FAILED_BLK_IOCOUNT_WA Failed to modify Device IoCount in blocked device
workaround.

Avago Technologies Confidential


- 25 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0xD015 IFAULT_PL_FPE_FW_IOCOUNT_INCR_DECR_ERROR Error in incrementing or decrementing IoCount.
0xD020 IFAULT_PL_FPE_MGR_INVALID_STATE_PROPERTIES Could not find state in Properties table.
0xD021 IFAULT_PL_FPE_MGR_INVALID_STATE_PROPERTIES_2 Could not find state in Properties table.
0xD022 IFAULT_PL_FPE_MGR_INFINITE_LOOP_DETECTED FPE Manager State machine entered an infinite loop.
0xD023 IFAULT_PL_FPE_MGR_NO_TRANSITION_PICKED FPE Manager State machine failed to pick a transition.
0xD024 IFAULT_PL_FPE_MGR_REQ_PAUSE_FAILED FPE Requestor hardware failed to pause.
0xD025 IFAULT_PL_FPE_MGR_COM_PAUSE_FAILED FPE Completor hardware failed to pause.
0xD026 IFAULT_PL_FPE_MGR_INVALID_COMPLETOR_STATE FPE Completor incorrectly stuck in the wrong state.
0xD027 IFAULT_PL_FPE_MGR_OVERWRITING_SAVED_DEVHANDLE FPE Fpc Pending: Overwriting saved Fpc Pending Device
handle.
0xD030 IFAULT_PL_FPE_INVALID_MID_SCSI_IO_REQUEST Received invalid MID in a SCSI I/O request to FPE from PL.
0xD031 IFAULT_PL_FPE_INVALID_DEVHANDLE_SCSI_IO_REQUEST Received invalid device handle in a SCSI I/O request to FPE
from PL.
0xD032 IFAULT_PL_FPE_INVALID_DEVHANDLE_START_PENDING_IO Invalid device handle when attempting to start pending
SCSI I/O.
0xD033 IFAULT_PL_FPE_UNHANDLED_GENERAL_ERROR_INTERRUPT Received an Unhandled General Error interrupt from FPE.
0xD035 IFAULT_PL_FPE_TIMER_ERROR_INT_INVALID_ERROR_1 Received an Invalid Timer Error interrupt.
0xD036 IFAULT_PL_FPE_TIMER_ERROR_INT_INVALID_ERROR_2 Received an Invalid Timer Error interrupt.
0xD037 IFAULT_PL_FPE_TIMER_ERROR_INVALID_REQ_MID Received an invalid Requestor MID during FPE timer
overflow interrupt handling.
0xD038 IFAULT_PL_FPE_TIMER_ERROR_INVALID_REQ_DEVHANDLE Received an invalid Requestor device handle during FPE
timer overflow interrupt handling.
0xD039 IFAULT_PL_FPE_TIMER_ERROR_INVALID_CPL_MID Received an invalid Completor MID during FPE timer
overflow interrupt handling.
0xD03A IFAULT_PL_FPE_TIMER_ERROR_INVALID_CPL_DEVHANDLE Received an invalid Completor device handle during FPE
timer overflow interrupt handling.
0xD03B IFAULT_PL_FPE_TIMER_ERROR_INVALID_OVERFLOW_SOURCE Received a Timer Overflow interrupt from an invalid timer
overflow source.
0xD03C IFAULT_PL_FPE_TIMER_ERROR_SRC_FW_NOT_SUPPORTED Firmware is not a supported Timer Error Overflow source.
0xD040 IFAULT_PL_FPE_TIMER_ERROR_INT_PARITY_ERROR Received a timer wheel RAM parity error. ( Bits [0:3] - Timer
Error Source ).
0xD050 IFAULT_PL_FPE_INT_UNSUPPORTED_ASYNC_EVENT_RCVD Received an unsupported aysnchronous event (Bits [0:3] -
EventStatus).
0xD051 IFAULT_PL_FPE_INT_COMPLETION_ASYNC_EVENT_RCVD Received an aysnchronous completion event from
hardware, which is not supported.
0xD052 IFAULT_PL_FPE_INT_AUTO_PEND_ASYNC_EVENT_RCVD Received an aysnchronous auto-pend event from hardware,
which is not supported.
0xD053 IFAULT_PL_FPE_INT_BAD_PARITY_ASYNC_FIFO_READ Received bad parity while reading from asynchronous event
FIFO.
0xD060 IFAULT_PL_FPE_EXCP_RCVD_FPESTATUS_NONE Received an exception message identifier (MID) with an
invalid or no FPE status.
0xD061 IFAULT_PL_FPE_EXCP_RCVD_INVALID_FPESTATUS Received an invalid or unrecognized FPE Exception.
0xD062 IFAULT_PL_FPE_ERR_LESS_THAN_ZERO_IOCOUNT FPE hardware attempted to decrement IoCount below zero.
0xD063 IFAULT_PL_FPE_PEND_NEXT_NOT_NULL NextPend MID not null when removing last entry from FPE
pending list.

Avago Technologies Confidential


- 26 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0xD064 IFAULT_PL_FPE_INVALID_REQR_ERROR_INT Received an invalid Requestor Error interrupt.
0xD065 IFAULT_PL_FPE_INVALID_CMPL_ERROR_INT Received an invalid Completor Error interrupt.
0xD066 IFAULT_PL_FPE_CMPL_ERR_UNEXPCTD_SAS_COMPL_Q_ENTRY Received a Completor Error interrupt with an unexpected
SAS completion queue entry.
0xD067 IFAULT_PL_FPE_CMPL_ERR_UNEXPCTD_SAS_COMPL_Q_FLAG Received a Completor Error interrupt with an unexpected
SAS completion queue flag.
0xD068 IFAULT_PL_FPE_CMPL_ERR_UNCONFIRMED_RESPONSE_ERROR Unconfirmed Response frame does not match with the
entry in the Completor Status register.
0xD069 IFAULT_PL_FPE_CMPL_ERR_UNEXPECTED_SAS_CQ_FLAG_ERROR Unexpected SAS completion queue flag message
identifier (MID) entry does not match with the entry in the
Completor Status register.
0xD070 IFAULT_PL_FPE_INVALID_MID_CHANGE_MIDSTATE_FPE_FLAG Received an invalid message identifier while clearing MID
State Table FPE Flag.
0xD071 IFAULT_PL_FPE_INVALID_MID_CHECK_MIDSTATE_FPE_FLAG Received an invalid message identifier while testing MID
State Table FPE Flag.
0xD072 IFAULT_PL_FPE_MIDSTATE_DEVHANDLE_MISMATCH Device handle does not match the one in the MID State
Table for the FPE started MID.
0xD073 IFAULT_PL_FPE_TIMEOUT_MISSED_IOS Time-out handler could not find as many MIDs with the
same bucket number as the bucket count.
0xD074 IFAULT_PL_FPE_START_PENDING_IO_HW_TIMEOUT Could not start FPE's pending I/Os because the Active bit
never went low.
0xD075 IFAULT_PL_FPE_REQUESTOR_NOT_RUNNING Tried to start FPE's pending I/Os, but the requestor is not
running.
0xD076 IFAULT_PL_FPE_INVALID_EXCEPTION_Q_ENTRY Exception queue interrupt handler found an invalid entry in
the queue.
0xD077 IFAULT_PL_FPE_ABORTED_IO_TIMEOUT An FPE I/O that is in a TM's abort list has timed out.
0xD078 IFAULT_PL_FPE_CMPL_ERR_TBM_ARG_COUNT Trace Buffer Manager detected Completor requesting more
than 4 arguments.
0xD079 IFAULT_PL_FPE_REQR_ERR_TBM_ARG_COUNT Trace Buffer Manager detected requestor requesting more
than 4 arguments.
0xD07A IFAULT_PL_FPE_IOP_COMP_Q_TM_MID_NOT_IN_USE Invalid MID used during TM cleanup of the completion
queue.
0xD080 IFAULT_PL_FPE_RESET_HUNG FPE never came out of reset.
0xD081 IFAULT_PL_FPE_GETMIDINFO_INVALID_MID Received a PLI request with an invalid message identifier.
0xD082 IFAULT_PL_FPE_GETDEVIOCOUNT_INVALID_DEVH Received a PLI request with an invalid device handle.
0xD083 IFAULT_PL_FPE_CP_CONDITION_NOT_IN_SPEC Received a checkpoint condition that falls outside of the
current hardware specifications.
0xD084 IFAULT_PL_FPE_CP_RCVD_BUT_NOT_ENABLED Received a checkpoint interrupt that was not enabled.
0xD085 IFAULT_PL_FPE_INVALID_MID_SET_REPLY_DEST_REQ Received an invalid message identifier value on change
reply destination request.
0xD086 IFAULT_PL_FPE_INVALID_SET_REPLY_DEST_REQ Received an invalid reply destination value on change reply
destination request.
0xD090 IFAULT_PL_FPE_IOP_START_QUEUE_FULL Firmware could not start sending I/O to FPE because the IOP
Start Queue is full.
0xD091 IFAULT_PL_FPE_IOP_COMPL_MID_NOT_IN_USE MidUsed for a message identifier set by FPE via IOP
Completion queue is not set.

Avago Technologies Confidential


- 27 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0xD092 IFAULT_PL_FPE_START_PENDING_IOS_WHILE_ACTIVE Firmware tried to start FPE pended I/O while a previous
request was still outstanding.
0xD093 IFAULT_PL_FPE_INVALID_MID_CHECK_ADD_IO_TIMER Received an invalid message identifier while testing MID
State Table FPE flag for Add I/O Timer.
0xD094 IFAULT_PL_FPE_INVALID_EXCP_HANDLER IOP handler for an invalid descriptor type exception
returned a failure.
0xD095 IFAULT_PL_FPE_REQ_RESUME_IOCNT_WA_FAIL Requestor failed to go to IDLE state in resume requestor
workaround.
0xD096 IFAULT_PL_FPE_EXCP_FPESTATUS_DEVICE_FP_DISABLED Received an FPE Exception with FPE Status
DEVICE_FP_DISABLED even after IOP enabling FP on the
device.
0xD0A0 IFAULT_PL_FPE_MGR_AUTOPEND_TO_EMPTY_PEND_Q Tried to set AUTO_PEND on an empty Pend queue in FPE
Manager.
0xD0B0 IFAULT_PL_FPE_MGR_SM_EXIT_CRITERIA_INVALID_STATE Fault on Invalid state while exiting FPE Manager state.
0xD0ED IFAULT_PL_FPE_TM_INVALID_MID_IN_FPE_EXCP_Q TM found a MID with MessageValid bit set in Exception
queue.
0xD100 IFAULT_PL_FPE_INVALID_FRAME_OWNERSHIP Frame ownership is invalid.
0xD101 IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_SCSI_IO_ERROR_REPLY Failed to change frame ownership on SCSI I/O error reply.
0xD102 IFAULT_PL_FPE_FRM_OWNERSHIP_TM_COMPL_ABORTED_IO Failed to change frame ownership on TM complete aborted
I/Os.
0xD103 IFAULT_PL_FPE_FRM_OWNERSHIP_TIMER_OVERFLOW_ERROR Failed to change frame ownership on TimerOverflow error.
0xD104 IFAULT_PL_FPE_FRM_OWNERSHIP_FPE_HW_PENDQ_CLEANUP Failed to change frame ownership on FPE HW Pend queue
clean-up.
0xD105 IFAULT_PL_FPE_FRM_OWNERSHIP_TXFMGR_ERROR Failed to change frame ownership on TxFrameManager
SATA error.
0xD106 IFAULT_PL_FPE_FRM_OWNERSHIP_RXCTXMGR_CLEANUP Failed to change frame ownership on RxContextManager
clean-up.
0xD107 IFAULT_PL_FPE_FRM_OWNERSHIP_FPE_EXCP_FP_DISABLED Failed to change frame ownership on FPE exception
FPESTATUS_DEVICE_FP_DISABLED.
0xD108 IFAULT_PL_FPE_FRM_OWNERSHIP_FPE_EXCP_DEVH_OOR Failed to change frame ownership on FPE exception
FPESTATUS_DEVHANDLE_OUT_OF_RANGE.
0xD109 IFAULT_PL_FPE_FRM_OWNERSHIP_FPE_EXCP_QDEPTH_LIMIT Failed to change frame ownership on FPE exception
FPESTATUS_QDEPTH_LIMIT.
0xD10A IFAULT_PL_FPE_FRM_OWNERSHIP_FPE_EXCP_VF_MISMATCH Failed to change frame ownership on FPE exception
FPESTATUS_VF_MISMATCH.
0xD10B IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_IOP_COMP_Q_1 Failed to change frame ownership on an I/O completion
while resolving IOP completion queue full.
0xD10C IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_IOP_COMP_Q_2 Failed to change frame ownership on an I/O completion
while handling a completor error interrupt.
0xD10D IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_IOP_COMP_Q_3 Failed to change frame ownership on an FPE I/O completion.
0xD10E IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_IOP_COMP_Q_4 Failed to change frame ownership on a normal I/O
completion.
0xD10F IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_FPE_TIMEOUT_INT Failed to change frame ownership during I/O time-out
handling.
0xD110 IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_RXDMA_OVERFLOW_INT Failed to change frame ownership while handling Rx DMA
Overflow interrupt.
0xD111 IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_RXEEDP_RESET Failed to change frame ownership while handling RxEEDP
Reset.

Avago Technologies Confidential


- 28 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0xD112 IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_RXCTX_RETRANSMIT Failed to change frame ownership while handling RxCtxMgr
retransmit interrupt.
0xD113 IFAULT_PL_FPE_FRM_OWNERSHIP_ERR_IOP_COMP_Q_CLEANUP Failed to change frame ownership during TM clean-up of the
completion queue.
0xD114 IFAULT_PL_FPE_FRM_OWNERSHIP_RXCTXMGR_DMAOVERRUN Failed to change frame ownership while handling RxCtxMgr
fpdma count overrun interrupt.
0xD115 IFAULT_PL_FPE_FRM_OWNERSHIP_RXCTXMGR_WRONGRELOFFSET Failed to change frame ownership while handling RxCtxMgr
wrong rel offset interrupt
0xD116 IFAULT_PL_FPE_FRM_OWNERSHIP_REQ_ERR_TIMER Failed to change frame ownership while handling Requestor
Error Timer interrupt.
0xD130 IFAULT_PL_FPE_PENDQ_CLEANUP_INVALID_REQUEST TM tried to clean up FPE hardware Pend queue without
disabling FPE on that device.
0xD131 IFAULT_PL_FPE_PENDQ_CLEANUP_DEVHANDLE_MISMATCH Device handle mismatch while cleaning up FPE hardware
Pend queue.
0xD132 IFAULT_PL_FPE_GET_HW_PENDCOUNT_FAILED Failed to get FPE hardware Pend Count since FastPath is not
disabled for this device.
0xD133 IFAULT_PL_FPE_PENDQ_MID_NOT_PENDING Message identifier in FPE hardware Pend queue with
Pending Flag not set.
0xD134 IFAULT_PL_FPE_TIMER_REMOVAL_FAILURE Failed to remove timer for an I/O.
0xD135 IFAULT_PL_FPE_TIMER_REMOVAL_FAILURE_1 Failed to remove timer for an I/O while handling exception.
0xD136 IFAULT_PL_FPE_TIMER_REMOVAL_FAILURE_2 Failed to remove timer for an I/O while handling
encapsulated NVMe I/O.
0xD140 IFAULT_PL_FPE_PLBSLAVE_PARITY_ERROR The Fast Path engine PLB slave encountered a parity error.
0xD201 IFAULT_PL_TBM_RESET_HUNG TBM never came out of reset.
0xD202 IFAULT_PL_TBM_FLUSH_HUNG TBM did not complete flushing the residual trace entries to
extended buffer.
0xD203 IFAULT_PL_TBM_INVALID_MODE_DIAG_REQUEST TBM not in Extended mode when processing diagnostic
requests.
0xD204 IFAULT_PL_TBM_UNABLE_TO_ADD_FW_TRACE_ENTRY Unable to add a firmware trace entry.
0xD205 IFAULT_PL_TBM_DATA_DMAD_NOT_MULTIPLE_SEGMENT_SIZE Data DMAd is not multiples of
TBM_DEFAULT_SEGMENT_RAM_SIZE.
0xD206 IFAULT_PL_TBM_UNSUPPORTED_BUFFER_TYPE_LOC_COMBO Unsupported combination of buffer type and buffer
location to copy or DMA data.
0xD207 IFAULT_PL_TBM_INVALID_TRACE_ERROR Invalid trace error.
0xD208 IFAULT_PL_TBM_FW_ILLEGAL_REQ Firmware entered an illegal trace entry.
0xD209 IFAULT_PL_TBM_REQUESTOR_ILLEGAL_REQ Requestor entered an illegal trace entry.
0xD20A IFAULT_PL_TBM_COMPLETOR_ILLEGAL_REQ Completor entered an illegal trace entry.
0xD20B IFAULT_PL_TBM_TRACE_PARITY_ERROR TBM detected parity error in Trace buffer.
0xD20C IFAULT_PL_TBM_DMA_PARITY_ERROR TBM DMA Engine detected parity error in Trace buffer.
0xD20D IFAULT_PL_TBM_DMA_CMPL_ERROR TBM DMA completion error.
0xD20E IFAULT_PL_TBM_PAUSE_HUNG TBM did not go to IDLE state after setting PauseTracer.
0xD20F IFAULT_PL_TBM_INVALID_NUM_ARGS Found a trace entry with an illegal number of arguments.
0xD210 IFAULT_PL_TBM_RESET_IDLE_TIMEOUT Timed out waiting for IDLE state on reset.
0xE400 IFAULT_PL_PCI_NVME_INIT_INV_DEVH NVMe Init started for non-PCI device.
0xE401 IFAULT_PL_PCI_NVME_UNSUPPORTED_DSTRD NVMe hardware should only use a doorbell stride of 0.

Avago Technologies Confidential


- 29 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0xE402 IFAULT_PL_PCI_NVME_INIT_CALL_BAD_STATE NVMe Init unexpectedly called.
0xE403 IFAULT_PL_PCI_NVME_INIT_SM_BAD_STATE NVMe Init state machine entered an invalid state.
0xE404 IFAULT_PL_PCI_NVME_INIT_MEM_UNAVAILABLE Failed to allocate memory for NVMe Init.
0xE405 IFAULT_PL_PCI_NVME_INIT_COMMAND_ENQ_FAILURE Failed enqueue command during NVMe Init.
0xE406 IFAULT_PL_PCI_NVME_INIT_SM_DEFECTIVE Unexpected NVMe Init state machine behavior.
0xE407 IFAULT_PL_PCI_NVME_INIT_BAD_HOST_PAGE_SIZE Invalid host memory page size detected during NVMe Init.
0xE408 IFAULT_PL_PCI_NVME_INIT_BAD_REG_READ Attempt to read a NVMe device register failed.
0xE40C IFAULT_PL_PCI_NVME_NONRW_COMPL_INVALID_MID Invalid MID when completing a non read/write NVMe
command.
0xE40D IFAULT_PL_PCI_NVME_UNEXPECTED_IOCOMPLETE_INT An IoComplete interrupt occurred unexpectedly for an
NVMe device.
0xE40E IFAULT_PL_PCI_NVME_UNEXPECTED_ADMINCOMPLETE_INT An Admin Command complete interrupt occurred
unexpectedly for an NVMe device.
0xE450 IFAULT_PL_PCI_NVME_ADMIN_COMP_BAD_QUEUE_ID Admin completion contains an unexpected or invalid queue
identifier.
0xE451 IFAULT_PL_PCI_NVME_ADMIN_COMP_INVALID_CALLBACK No callback registered for an Admin completion.
0xE452 IFAULT_PL_PCI_NVME_ADMIN_COMP_BAD_CID Admin completion contains a bad command identifier.
0xE453 IFAULT_PL_PCI_NVME_IOERROR_UNKNOWN_ERROR Hardware detected an unknown error on command
completion.
0xE454 IFAULT_PL_PCI_NVME_NONRW_SGL_TRANS_LEN_INCORRECT SGL translator status/length mismatch for a non read/write
command.
0xE460 IFAULT_PL_PCI_NVME_FMTUNIT_QFULL_ON_FMT_ISSUE Admin queue was unexpectedly full during a Format Unit
translation.
0xE5A0 IFAULT_PL_PCI_NVME_ASYNC_EVT_BAD_STATE Async event state machine is in a bad state.
0xE5A1 IFAULT_PL_PCI_NVME_ASYNC_EVT_BAD_HOST_BEHAVIOR Device reported an Async event to indicate illegal firmware
or hardware behavior.
0xE5A2 IFAULT_PL_PCI_NVME_ASYNC_EVT_SM_DEFECTIVE Unexpected Async event state machine behavior.
0xE5A3 IFAULT_PL_PCI_NVME_FAILED_PL_OWNER_FOR_ENCAP_REQ Failed to change encapsulated frame ownership to PL.
0xE5A4 IFAULT_PL_PCI_NVME_DIRECT_IO_SM_BAD_STATE NVMe Direct IO state machine entered an invalid state.
0xEBFF IFAULT_PL_PCI_RC_ROOT_COMPLEX_NOT_ENABLED Failed to initialize root complex mode.
0xEC00 IFAULT_PL_PCI_INVALID_DEV_TYPE Invalid device type while starting I/O to a PCIe device.
0xEC04 IFAULT_PL_PCI_RC_ENUMERATION_INCOMPLETE PCIe device bridge not enabled in root complex mode.
0xEC06 IFAULT_PL_PCI_DEVICE_MEM_INIT_INSUFFICIENT Allocated local memory amount is too small at initialization.
0xEC07 IFAULT_PL_PCI_DEVICE_MEM_NOT_AVAILABLE Failed to allocate local memory for a PCIe device.
0xEC08 IFAULT_PL_PCI_DEVICE_MEM_CHUNK_TOO_LARGE PL requested too much backend PCIe device memory.
0xEC09 IFAULT_PL_PCI_DEVICE_MEM_FREE_INVALID Tried to free a region outside of the dynamic memory pool.
0xEC0A IFAULT_PL_PCI_DEVICE_MEM_FREE_UNALLOCATED Tried to free an unallocated memory region.
0xEC0B IFAULT_PL_PCI_TOO_MANY_PIMPOM_ENTRIES Tried to add too many entries to PCIe-to-PLB address table.
0xEC0D IFAULT_PL_PCI_DEVICE_MEM_CFG_ALREADY_CONFIGURED Tried to reconfigure dynamic memory before
deconfiguration.
0xEC0E IFAULT_PL_PCI_DEVICE_MEM_CLEANUP_STILL_ALLOCATED Tried to deconfigure dynamic memory with memory still
allocated.
0xEC10 IFAULT_PL_PCI_INVALID_TRANSLATE_STATUS SGL Translation returned an unexpected PLStatus.

Avago Technologies Confidential


- 30 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 2 PL Fault Codes (Continued)

Code Name Description


0xEC11 IFAULT_PL_PCI_FW_IO_INVALID_COMPLETION Good status completion on a firmware path I/O that was not
from the I/O accelerator.
0xEC12 IFAULT_PL_PCI_INVALID_DEV_TYPE_ON_COMPLETION Invalid device type on completion of firmware-managed I/O.
0xEC13 IFAULT_PL_PCI_INTERNAL_TO_PCI_XLATION_FAILED Internal address conversion to a PCI address failed.
0xEC17 IFAULT_PL_PCI_INIT_MEMORY_SETUP_FAULTY Detected incorrect memory setup at start of day.
0xEC18 IFAULT_PL_PCI_FW_IO_UNEXPECTED_GENERIC_PATH_STATUS Unexpected status from the generic start path during R/W
translation callback.
0xEC19 IFAULT_PL_ENCL_MGMT_SEEPROM_READ_FAIL Reading SEEPROM to get PLX switch port information failed.
0xEC1D IFAULT_PL_PCI_RW_IO_INVALID_OPCODE_1 Invalid opcode detected during PCIe read/write I/O breakup.
0xEC1E IFAULT_PL_PCI_RW_IO_INVALID_OPCODE_2 Invalid opcode detected during PCIe read/write I/O breakup.
0xEC1F IFAULT_PL_PCI_RW_IO_INVALID_COMPLETION_STATUS Unexpected status value on PCIe read/write I/O breakup
completion.
0xEC20 IFAULT_PL_PCI_GET_ORIG_MID_INVALID Invalid MID provided for internally generated I/O.
0xEC21 IFAULT_PL_PCI_GET_ORIG_MID_BAD_CTX_SETUP_1 Detected invalid original MID.
0xEC22 IFAULT_PL_PCI_GET_ORIG_MID_BAD_CTX_SETUP_2 Original MID not found.
0xEC23 IFAULT_PL_PCI_GET_CMD_MID_INVALID Invalid MID was passed internally.
0xEC24 IFAULT_PL_PCI_GET_CMD_MID_BAD_CTX_SETUP_1 Detected invalid original MID.
0xEC25 IFAULT_PL_PCI_GET_CMD_MID_BAD_CTX_SETUP_2 Command MID not found.
0xECA1 IFAULT_PL_FPE_FRM_OWNERSHIP_PCI_NONRW_START Failed to change frame ownership before starting a non
read/write I/O to a PCIe device.
0xECA4 IFAULT_PL_FPE_FRM_OWNERSHIP_NVME_SEND_ENCAP_IO Failed to change frame ownership before sending an
internal NVMe encapsulated request.
0xED00 IFAULT_PL_PCI_CONFIG_PCIE_IOUNIT1_BAD_LINKNUM Invalid link number in PCIE IO UNIT PAGE 1.
0xED01 IFAULT_PL_PCI_CONFIG_PCIE_IOUNIT1_BAD_PHY_MODE Bad phy mode specified in PCIE IO UNIT PAGE 1.
0xED02 IFAULT_PL_PCI_CONFIG_PCIE_IOUNIT1_PHY_EXCEED Number of phys in link is more than supported value.
0xEE01 IFAULT_PL_PCI_TASK_MGMT_INVALID_MID_ABT_PCI_ORIGINAL_IO Invalid MID encountered during TM clean up of Original MID
of an internal PCIe I/O.
0xEE02 IFAULT_PL_FPE_FRM_OWNERSHIP_PCI_TM_COMPL_ABORTED_IO Failed to change frame ownership while PCI TM completes
an aborted I/O.
0xEE03 IFAULT_PL_PCI_TASK_MGMT_COMPQ_BAD_TM_MARKER The MID identified is already used as TM marker MID; which
FPE Completor did not process.
0xEE04 IFAULT_PL_PCI_TASK_MGMT_BAD_STORED_MARKER_MID Before enqueuing, the stored marker MID was found invalid.

2.5 Integrated RAID Fault Codes

The following table lists the Integrated RAID (IR) fault codes and a brief description of each code.

Table 3 IR Fault Codes

Code Name Description


0x8001 IFAULT_IR_ALLOC_TOPO_EVENT_FAILED Failed to create a topology change event.
0x8002 IFAULT_IR_NO_NVSRAM Insufficient NVSRAM to hold start-of-day parameters.
0x8003 IFAULT_IR_BAD_NVSRAM_1 NVSRAM failed the byte read check.
0x8004 IFAULT_IR_BAD_NVSRAM_2 NVSRAM failed the word read check.

Avago Technologies Confidential


- 31 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 3 IR Fault Codes (Continued)

Code Name Description


0x8005 IFAULT_IR_BAD_NVSRAM_3 NVSRAM failed the byte read check.
0x8006 IFAULT_IR_BAD_NVSRAM_4 NVSRAM failed the signature check.
0x8007 IFAULT_IR_RETARGET_1 The _sys_exit retarget.
0x8008 IFAULT_IR_RETARGET_2 The __rt_lib_shutdown retarget.
0x8009 IFAULT_IR_RETARGET_3 End retarget.
0x800A IFAULT_IR_RETARGET_4 The __cxa_begin_catch retarget.
0x800B IFAULT_IR_RETARGET_5 The __cxa_end_catch retarget.
0x800C IFAULT_IR_RETARGET_6 The __cxa_rethrow retarget.
0x800D IFAULT_IR_RETARGET_7 The __dso_handle retarget.
0x800E IFAULT_IR_RETARGET_8 The __aeabi_atexit retarget.
0x8101 IFAULT_IR_QUEUE_IO_COUNT_ERROR I/O count does not match the actual number of I/Os.
0x8102 IFAULT_IR_DEFERRED_ENGINE_NULL Null deferred engine pointer.
0x8103 IFAULT_IR_ABORT_VIRT_IO_ERROR Null virtual SCSI I/O pointer.
0x8104 IFAULT_IR_NOT_BOUND Null virtual SCSI I/O pointer.
0x8105 IFAULT_IR_INVALID_PHYS_DISK_STATE Encountered an invalid physical disk state.
0x8106 IFAULT_IR_DISK_SET_MEMBER_OF_VOLUME_ERROR An error occurred while replacing a failed drive with a hot spare.
0x8107 IFAULT_IR_ACTIVE_PATH_INDEX_INVALID Encountered an invalid path index.
0x8108 IFAULT_IR_ACTIVE_PATH_NOT_IN_RPD0 RAID Physical Disk Page 0 does not point to the failing path.
0x8109 IFAULT_IR_NON_ZERO_IO_COUNT Task management did not abort all I/Os when the drive went missing.
0x810A IFAULT_IR_DIVIDE_BY_ZERO_ERROR Tried to divide by zero.
0x810B IFAULT_IR_INVALID_CDB_LENGTH Received an unsupported length CDB.
0x810C IFAULT_IR_INVALID_MID_ON_COMPLETION Encountered an invalid MID.
0x8111 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_1 Performed an illegal math operation.
0x8112 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_2 Performed an illegal math operation.
0x8113 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_3 Performed an illegal math operation.
0x8114 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_4 Performed an illegal math operation.
0x8115 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_5 Performed an illegal math operation.
0x8116 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_6 Performed an illegal math operation.
0x8117 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_7 Performed an illegal math operation.
0x8118 IFAULT_IR_64BIT_MATH_SUBTRACT_ERROR_8 Performed an illegal math operation.
0x8119 IFAULT_IR_PHYS_DISK_NON_ZERO_IO_COUNT Not all I/Os were aborted for the physical disk.
0x8201 IFAULT_IR_LDF_ILLEGAL_CONFIG_ASSIGNMENT Assigned a configuration with pending updates or deferred updates.
0x8204 IFAULT_IR_LDF_PDREF_TO_PDN_CONVERSION Invalid physical disk number.
0x8205 IFAULT_IR_LDF_PDN_TO_PDREF_CONVERSION Invalid physical disk reference.
0x8206 IFAULT_IR_VD_ELM_NOT_FOUND Null virtual disk element pointer.
0x8207 IFAULT_IR_DUPLICATE_PD_REFERENCE_FOUND Found a duplicate physical disk reference.
0x8208 IFAULT_IR_VD_ELM_NOT_FOUND_CONST Null virtual disk element pointer.
0x8209 IFAULT_IR_PD_ELM_NOT_FOUND Null physical disk element pointer.
0x820A IFAULT_IR_PD_ELM_NOT_FOUND_CONST Null physical disk element pointer.
0x820C IFAULT_IR_LDF_UPDATE_BUFFER_TOO_SMALL LDF buffer is not large.

Avago Technologies Confidential


- 32 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 3 IR Fault Codes (Continued)

Code Name Description


0x820D IFAULT_IR_LDF_HEADER_OPEN_READ_ONLY LDF configuration was not opened as read-only.
0x8210 IFAULT_IR_LDF_SECTION_CLOSE_WO_HEADER_OPEN Tried to close the LDF header that is not open.
0x8211 IFAULT_IR_LDF_SECTION_READ_WO_HEADER_OPEN Tried to read the LDF section without opening the section.
0x8212 IFAULT_IR_LDF_SECTION_WRITE_WO_HEADER_OPEN Tried to write the LDF header without opening the header.
0x8213 IFAULT_IR_LDF_INCORECT_STRUCTURE_SIZE Incorrectly generated LDF structures.
0x8214 IFAULT_IR_LDF_INVALID_CONFIG_NUMBER Created an invalid LDF metadata configuration number.
0x8215 IFAULT_IR_LDF_PD_REF_PDE_SEARCH Failed to find a physical disk reference.
0x8216 IFAULT_IR_LDF_SEQUENCE_ROLLOVER The sequence number reached 0xFFFFFFFF.
0x8217 IFAULT_IR_LDF_GUID_VDE_SEARCH Virtual disk elements exceeded the maximum number supported.
0x8218 IFAULT_IR_VD_NOT_FOUND Failed to find a virtual disk during activation.
0x8219 IFAULT_IR_VD_ELM_LOCALITY_EMPTY Failed to find a RAID physical disk configuration page.
0x821A IFAULT_IR_LDF_CONFIGURATION_NOT_FOUND_1 Failed to find the correct configuration object.
0x821B IFAULT_IR_LDF_CONFIGURATION_NOT_FOUND_2 Failed to find the correct configuration object.
0x821C IFAULT_IR_LDF_INVALID_PD_STATE An Online state or Unconfigured state was stored in metadata.
0x821D IFAULT_IR_LDF_GSN_UPDATE_FAILED_PD_STATE A physical disk is moved to the Failed state and GSN cannot be updated
inline because no task was active.
0x821E IFAULT_IR_LDF_CHECK_PI_MEM_ALLOC_FAIL Failed to allocate memory to read LDF metadata for PI detection.
0x821F IFAULT_IR_LDF_UNK_SCRUB_GENERATION Unknown data scrub duration generation value detected in metadata.
0x8301 IFAULT_IR_UNKNOWN_RPDP1 Failed to activate a physical disk.
0x8302 IFAULT_IR_MAX_VOLUMES The current volume number exceeds the maximum number of volumes.
0x8303 IFAULT_IR_DEVICE_INVALID The volume construction failed, and the device is invalid.
0x8304 IFAULT_IR_FREE_VIRTDH_FAILED Failed to release a virtual device handle.
0x8305 IFAULT_IR_ALLOC_VIRTDH_FAILED Failed to allocate a virtual device handle.
0x8306 IFAULT_IR_MAP_NEXT_NON_PRIMARY Tried to map a secondary partition.
0x8307 IFAULT_IR_BAD_RAID_MAP Tried to map a RAID 1 volume.
0x8308 IFAULT_IR_DISK_LOAD_BALANCE_ERROR_1 Invalid load-balancing value.
0x8309 IFAULT_IR_DISK_LOAD_BALANCE_ERROR_2 Invalid load-balancing value.
0x830A IFAULT_IR_INVALID_VOLUME_1 Null next volume pointer.
0x830B IFAULT_IR_INVALID_VOLUME_2 Null next volume pointer.
0x8310 IFAULT_IR_IO_EXCEEDED_VOL_SIZE_1 Tried I/O beyond the last LBA.
0x8311 IFAULT_IR_IO_EXCEEDED_VOL_SIZE_2 Tried I/O beyond the last LBA.
0x8312 IFAULT_IR_IO_EXCEEDED_VOL_SIZE_3 Tried I/O beyond the last LBA.
0x8313 IFAULT_IR_IO_EXCEEDED_VOL_SIZE_4 Tried I/O beyond the last LBA.
0x8314 IFAULT_IR_IO_EXCEEDED_VOL_SIZE_5 Tried I/O beyond the last LBA.
0x8315 IFAULT_IR_IO_UNIT_PAGE1_READ_FAILED Failed to read IOUnitPage1.
0x8316 IFAULT_IR_SET_FAST_PATH_FAILED SAS I/O unit control failed to enable or disable Fast Path on a device.
0x8317 IFAULT_IR_IO_BAD_OPCODE The CDB contained an unsupported opcode.
0x8318 IFAULT_IR_IO_BAD_CDB_LENGTH The CDB was an unsupported length.
0x8401 IFAULT_IR_DEVICE_PROTOCOL_INVALID Failed to determine the device protocol.
0x8402 IFAULT_IR_DEVICE_COMPATIBLE_ERROR_1 Encountered an incompatible device type.
0x8403 IFAULT_IR_DEVICE_COMPATIBLE_ERROR_2 Encountered an incompatible device type.

Avago Technologies Confidential


- 33 -
SAS Generation 3 Error Codes Systems Engineering Note SAS-3 Firmware Fault Codes
February 2015

Table 3 IR Fault Codes (Continued)

Code Name Description


0x8404 IFAULT_IR_DEVICE_PD_CAPACITY_0 RAID Physical Disk Page 0 disk size is incorrectly set to 0 for the online
physical disk.
0x8405 IFAULT_IR_DEVICE_WC_NOT_SET The write cache is not turned off on the physical disk.
0x8501 IFAULT_IR_INVALID_INT_IO_1 Unexpected SCSI I/O opcode.
0x8502 IFAULT_IR_INVALID_IO_STATE Unexpected I/O state.
0x8503 IFAULT_IR_INVALID_OPCODE_SMALL Unexpected SCSI I/O opcode for 10-byte CDB.
0x8504 IFAULT_IR_INVALID_OPCODE_LARGE Unexpected SCSI I/O opcode for 16-byte CDB.
0x8505 IFAULT_IR_NO_CRIT_FRM_AVAIL No critical frame is available.
0x8506 IFAULT_IR_GET_LBA_WRONG_CDBLEN Invalid CDB length.
0x8507 IFAULT_IR_SET_LBA_WRONG_CDBLEN Invalid CDB length.
0x8508 IFAULT_IR_GET_COUNT_WRONG_CDBLEN Invalid CDB length.
0x8509 IFAULT_IR_SET_COUNT_WRONG_CDBLEN Invalid CDB length.
0x850A IFAULT_IR_NOT_ENOUGH_SGL_SPACE Not enough SGL space while building internal I/O.
0x8601 IFAULT_IR_INVALID_VOL_NUM Invalid volume number.
0x8602 IFAULT_IR_PURE_VIRTUAL The compiler found a call to a purely virtual function.
0x8603 IFAULT_IR_RESYNC_TASK_NO_TIMER Failed to create a timer.
0x8604 IFAULT_IR_ADD_RESYNCH_ENTRY_ERROR Null write journal pointer.
0x8605 IFAULT_IR_RESYNC_MAP_IO_ERROR Null volume pointer.
0x8606 IFAULT_IR_NEXT_RESYNC_ENTRY_ERROR The resynchronization entry is after the last LBA.
0x8607 IFAULT_IR_RESYNC_IO_ENGINE_ERROR Tried resynchronization when I/Os are outstanding.
0x8608 IFAULT_IR_TASK_STACK_OVERFLOW The task stack has overflow.
0x8609 IFAULT_IR_TIMER_HANDLER_ERROR No task is associated with the timer.
0x860A IFAULT_IR_RESYNC_INVALID_ENTRY Invalid resynchronization entry.
0x860B IFAULT_IR_NEW_WJ_ENTRY_ERROR The current Write Journal entry is already in use.
0x860C IFAULT_IR_INVALID_RAID_VOLUME_TYPE Invalid RAID volume type.
0x860D IFAULT_IR_NO_IO_BUFFER_1 Null I/O buffer pointer.
0x860E IFAULT_IR_NO_IO_BUFFER_2 Null I/O buffer pointer.
0x8610 IFAULT_IR_NO_IO_BUFFER_4 The buffer size is smaller than the volume block size.
0x8611 IFAULT_IR_NO_IO_BUFFER_5 Null I/O buffer pointer.
0x8612 IFAULT_IR_NO_IO_BUFFER_6 Null I/O buffer pointer.
0x8613 IFAULT_IR_CONSIST_TASK_NO_TIMER Failed to allocate a timer.
0x8614 IFAULT_IR_CONSIST_NEXT_ENTRY_ERROR Out-of-range entry.
0x8615 IFAULT_IR_CONSIST_MAP_IO_ERROR Null consistency check volume pointer.
0x8616 IFAULT_IR_CONSIST_IO_ENGINE_ERROR Outstanding I/Os during consistency check.
0x8617 IFAULT_IR_FRJ_INVALID_RESYNC_COLUMN No rebuilding columns during the resynchronization column cache flush.
0x8618 IFAULT_IR_FRJ_INVALID_VOLUME Invalid ptrVolume field in the Fast Resynchronization Journal object.
0x8619 IFAULT_IR_INVALID_WJ_SECTOR_SIZE The number of sectors in the Write Journal entry is 0xFFFFFFFF.
0x861A IFAULT_IR_INVALID_FRJ_SECTOR_SIZE The number of sectors in the Fast Resynchronization Journal entry is
0xFFFFFFFF.
0x861B IFAULT_IR_FRJ_INVALID_SECTOR_SIZE_0 The number of sectors in the Fast Resynchronization Journal entry is 0.
0x861C IFAULT_IR_CC_MAX_SECTORS_0 The number of sectors in the I/O is 0.

Avago Technologies Confidential


- 34 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 3 IR Fault Codes (Continued)

Code Name Description


0x861D IFAULT_IR_CC_INVALID_SECONDARY_DISK Invalid secondary disk pointer.
0x861E IFAULT_IR_FRJ_EXCEEDED_FRJ_COUNT Exceeded the number of entries permitted in the Fast Resynchronization
Journal.
0x861F IFAULT_IR_RAID_ACTION_DEFERRED_ALLOC Unable to allocate memory for C_IR_Raid_Action_FP entry.
0x8620 IFAULT_IR_RAID_ACTION_DEFERRED_DEALLOC Unable to dequeue C_IR_Raid_Action_FP entry from
_pendingRaidActions.
0x8621 IFAULT_IR_RAID_ACTION_UNK_MULTI_REQ Encountered an unsupported multi-RAID action request.
0x8701 IFAULT_IR_DEVH_NOT_FOUND_IN_CONFIG The device handle was not found in the configuration.
0x8702 IFAULT_IR_VDEVH_NOT_FOUND_IN_CONFIG The virtual device handle was not found in the configuration.
0x8703 IFAULT_IR_EVENT_REPLY_FRAME_ALLOC_FAILURE Failed to allocate a reply frame for the change event.
0x8704 IFAULT_IR_ALLOC_CONFIG_MSG_FAILED Failed to create a configuration change event.
0x8705 IFAULT_IR_ALLOC_CONFIG_EVENT_FAILED Failed to allocate a configuration change event.
0x8706 IFAULT_IR_CRIT_NEW_1 Failed to acquire a critical frame.
0x8707 IFAULT_IR_CRIT_NEW_2 Failed to acquire a critical frame.
0x8708 IFAULT_IR_CRIT_NEW_3 Failed to acquire a critical frame.
0x8709 IFAULT_IR_CRIT_NEW_5 Failed to acquire a critical frame.
0x870A IFAULT_IR_CRIT_NEW_6 Failed to acquire a critical frame.
0x8801 IFAULT_IR_ACQUIRE_MEMORY_ERROR Tried to acquire a buffer that already exists.
0x8802 IFAULT_IR_CRIT_NEW_4 Failed to acquire a critical frame.
0x8803 IFAULT_IR_DELETE_MEMORY_IN_USE Tried to delete memory that is in use.
0x8804 IFAULT_IR_INVALID_MEMORY_MOVE Failed memory move.
0x8805 IFAULT_IR_HEAP_CORRUPTION_SIZE_0 IR heap pointers were corrupted.
0x8806 IFAULT_IR_IO_BUFFER_NEW_FAILURE_1 Null buffer pointer.
0x8807 IFAULT_IR_IO_BUFFER_NEW_FAILURE_2 Null buffer pointer.
0x8808 IFAULT_IR_DMA_HEAP_NEW Failed to acquire direct-memory accessible critical memory.
0x8809 IFAULT_IR_NULL_PHYS_DISK_PTR Unable to allocate object in activatePhysDisk().
0x8901 IFAULT_IR_SHARED_CONFIG_PAGE Shared page buffer is already in use.
0x8902 IFAULT_IR_NO_FREE_PAGE_BUFFER No free page buffer is available.
0x8903 IFAULT_IR_REMOVE_CONFIG_PAGE_ERROR Tried to remove a configuration page when no page existed.
0x8904 IFAULT_IR_CONST_VIOLATION Null page pointer.

3 MPI-2 Reply Message Codes for SAS-3

Every MPI message has a Request message and a Reply message, which are documented in the Fusion-MPT Message
Passing Interface Specification, v1.5.3. The 32-bit IOCLogInfo field in the Reply message relays information back to the
host. The information can be error codes when an error occurs, or information about the message.
The IOCLogInfo field of the Reply message includes the following subfields.
 [31:28] – MPI2_IOCLOGINFO_TYPE_SAS (3)
 [27:24] – IOC_LOGINFO_ORIGINATOR: 0 = IOP, 1 = PL, 2 = IR
 [23:16] – LOGINFO_CODE
 [15:0] – LOGINFO_CODE Specific

Avago Technologies Confidential


- 35 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

3.1 I/O Processor Message Codes

The following table lists IOCLogInfo codes for IOC_LOGINFO_ORIGINATOR = 0 (IOP code segment).

Table 4 MPI-2 IOCLogInfo Codes for IOP Code Segment

Bits[23:0] Name Description


0x00010000 IOP_LOGINFO_CODE_INVALID_SAS_ADDRESS Invalid SAS address.
0x00010101 IOP_LOGINFO_CODE_FLASH_NOT_PRESENT Flash is not present.
0x00010102 IOP_LOGINFO_CODE_FLASH_ERASE_FAILED Erasing Flash failed.
0x00010103 IOP_LOGINFO_CODE_FLASH_WRITE_FAILED Writing to Flash failed.
0x00010401 IOP_LOGINFO_CODE_IMAGE_BOOTLOADER_NOT_PRESENT The bootloader image was not found.
0x00010402 IOP_LOGINFO_CODE_IMAGE_MAIN_CHECKSUM_FAILURE The main image checksum failed.
0x00010403 IOP_LOGINFO_CODE_IMAGE_EXT_CHECKSUM_FAILURE The extended image checksum failed.
0x00010404 IOP_LOGINFO_CODE_IMAGE_INIT_NOT_PRESENT The initialization image is not present.
0x00010405 IOP_LOGINFO_CODE_IMAGE_INIT_ADDRESS_ERROR The start address and image size of the initialization image do not
meet restrictions.
0x00010406 IOP_LOGINFO_CODE_IMAGE_NOT_MODEL_TO_FWDL The host tried to perform a firmware download when code is run
from Flash.
0x00010407 IOP_LOGINFO_CODE_IMAGE_FLASH_SIZE_NOT_MATCH The Flash size does not match the total size in the complete
firmware download request.
0x00030000 IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE Invalid configuration page.
0x00030100 IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_RT Route table entry was not found. The lowest eight bits represent
the page type.
 0x00: MPI2_CONFIG_PAGETYPE_IO_UNIT
 0x01: MPI2_CONFIG_PAGETYPE_IOC
 0x02: MPI2_CONFIG_PAGETYPE_BIOS
 0x08: MPI2_CONFIG_PAGETYPE_RAID_VOLUME
 0x09: MPI2_CONFIG_PAGETYPE_MANUFACTURING
 0x0A: MPI2_CONFIG_PAGETYPE_RAID_PHYSDISK
 0x0F: MPI2_CONFIG_PAGETYPE_EXTENDED
 0x10: MPI2_CONFIG_EXTPAGETYPE_SAS_IO_UNIT
 0x11: MPI2_CONFIG_EXTPAGETYPE_SAS_EXPANDER
 0x12: MPI2_CONFIG_EXTPAGETYPE_SAS_DEVICE
 0x13: MPI2_CONFIG_EXTPAGETYPE_SAS_PHY
 0x14: MPI2_CONFIG_EXTPAGETYPE_LOG
 0x15: MPI2_CONFIG_EXTPAGETYPE_ENCLOSURE
 0x16: MPI2_CONFIG_EXTPAGETYPE_RAID_CONFIG
 0x17: MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING
 0x18: MPI2_CONFIG_EXTPAGETYPE_SAS_PORT
 0x19: MPI2_CONFIG_EXTPAGETYPE_ETHERNET
 0x1A: MPI2_CONFIG_EXTPAGETYPE_EXT_MANUFACTURING
0x00030200 IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PN Invalid page number.
0x00030300 IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_FORM Invalid form in the page address.
0x00030700 IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DEFAULT Default page was not found.

Avago Technologies Confidential


- 36 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 4 MPI-2 IOCLogInfo Codes for IOP Code Segment (Continued)

Bits[23:0] Name Description


0x00040000 IOP_LOGINFO_CODE_DIAG_MSG_ERROR Error handling diagnostic message is ORed with diagnostic status.
 0x0000: DIAG_STATUS_GOOD
 0x0001: DIAG_STATUS_INVALID_BUFFER_TYPE
 0x0003: DIAG_STATUS_INVALID_IOC
 0x000C: DIAG_STATUS_INVALID_TRACE_IMMED
 0x0010: DIAG_STATUS_SIZE_TOO_SMALL
 0x0101: DIAG_STATUS_ALREADY_REGISTERED
 0x0102: DIAG_STATUS_TRACE_POSTED
 0x0103: DIAG_STATUS_OUT_OF_RESOURCES
 0x0104: DIAG_STATUS_INTERNAL_REQUEST_FAILED
0x00050000 IOP_LOGINFO_CODE_TASK_TERMINATED SCSI I/O task terminated.
0x00060001 IOP_LOGINFO_CODE_ENCL_MGMT_READ_ACTION_ERROR Read action is not supported for the SEP message.
0x00060002 IOP_LOGINFO_CODE_ENCL_MGMT_INVALID_DEVH_ERROR Invalid device handle in the SEP message.
0x00070000 IOP_LOGINFO_CODE_SCSI_IO_NOT_REGISTERED Unregistered SCSI I/O.
0x00070001 IOP_LOGINFO_CODE_SCSI_IO_DEVICE_BLOCKED Blocked SCSI I/O device.
0x00080001 IOP_LOGINFO_CODE_VP_SAS_ADDRESS_INVALID Invalid virtual port SAS address.
0x00080002 IOP_LOGINFO_CODE_VP_SAS_ADDRESS_NOT_AVAILABLE Unavailable virtual port SAS address.
0x00090000 IOP_LOGINFO_CODE_ISTWI_BUS_NOT_RESERVED ISTWI bus is not reserved.
0x00090001 IOP_LOGINFO_CODE_ISTWI_DEVICE_NOT_PRESENT ISTWI device is not present.
0x00090002 IOP_LOGINFO_CODE_ISTWI_BUS_RESERVED_TWICE ISTWI bus is reserved twice.
0x00090003 IOP_LOGINFO_CODE_ISTWI_INVALID_SGL Invalid SGL for the ISTWI device.
0x00090004 IOP_LOGINFO_CODE_ISTWI_INVALID_SUBSYSTEM Invalid subsystem in the ISTWI request.
0x000A0000 IOP_LOGINFO_CODE_PWR_MGMT Any well-defined, known power management status. See the
following table.
0x000A8000 IOP_LOGINFO_CODE_UNDEF_PWR_MGMT An undefined power management status.

Table 5 MPI-2 IOP_LOGINFO_SUBCODE for IOP_LOGINFO_CODE_PWR_MGMT

Bits[15:0] Name Description


0x00000001 IOP_LOGINFO_SUBCODE_RACC_COMPLETE_W_ERROR The I/O completed, but with an error.
0x00000002 IOP_LOGINFO_SUBCODE_RACC_FAIL_REQUEST The RAID accelerator request failed because of an error.
0x00000003 IOP_LOGINFO_SUBCODE_LINK_WIDTH_TRAINING_ERROR A request to change the PCIe link width failed. A link training error
occurred after attempting the change.
0x00000004 IOP_LOGINFO_SUBCODE_RACC_EEDP_GUARD_ERROR Set when the EEDP Guard Miscompare Halt Condition is detected.
0x00000005 IOP_LOGINFO_SUBCODE_INVALID_PCIE_LINK_WIDTH A bad PCIe link width field in the request message.
0x00000006 IOP_LOGINFO_SUBCODE_HW_GATEWAY_DISABLE_FAILED Unable to disable the AHB™ gateway.
0x00000007 IOP_LOGINFO_SUBCODE_RESULT_DIFFERS_FROM_REQUEST The requested PCIe link speed or width does not equal the actual
link speed or width.
0x00000008 IOP_LOGINFO_SUBCODE_RACC_EEDP_REF_TAG_ERROR Set when the EEDP Ref Tag Miscompare Halt Condition is
detected.
0x00000009 IOP_LOGINFO_SUBCODE_INVALID_CPU_SPEED Invalid requested CPU speed.
0x0000000A IOP_LOGINFO_SUBCODE_INVALID_FEATURE The Feature field value in the MPI Power Management Control
request is bad.

Avago Technologies Confidential


- 37 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 5 MPI-2 IOP_LOGINFO_SUBCODE for IOP_LOGINFO_CODE_PWR_MGMT

Bits[15:0] Name Description


0x0000000B IOP_LOGINFO_SUBCODE_CFG_PG_CONFLICT The requested field in the MPI Power Management Control
request conflicts with Configuration Page settings. See SAS IO
Unit Page 7 or SAS IO Unit Page 8 for various Power Management
configuration settings.
0x0000000C IOP_LOGINFO_SUBCODE_HOST_CTRL_CONFLICT The requested action conflicts with the Global Power
Management PM_CONTROL state.
0x00010408 IOP_LOGINFO_CODE_IMAGE_ENCRYPT_HASH_NOT_PRESENT The encrypted hash image is not found.
0x00010409 IOP_LOGINFO_CODE_IMAGE_ENCRYPT_HASH_INVALID Invalid encrypted hash in the image.
0x0001040A IOP_LOGINFO_CODE_IMAGE_BIOS_CHECKSUM_FAIL The BIOS image checksum failed,
0x0001040B IOP_LOGINFO_CODE_IMAGE_ENCRYPT_HASH_MEM_ALLOC_ The memory allocation failed.
FAIL
0x0001040C IOP_LOGINFO_CODE_IMAGE_ENCRYPT_HASH_BIOS_INVALID Invalid encrypted hash in the BIOS image.
0x0001040D IOP_LOGINFO_CODE_IMAGE_BIOS_SEGMENT_SIZE_INVALID The BIOS segment size is invalid.
0x0001040E IOP_LOGINFO_CODE_IMAGE_BIOS_SHA_CALC_FAILED The BIOS SHA256 calculation failed.
0x0001040F IOP_LOGINFO_CODE_IMAGE_BIOS_HASH_DECRYPT_FAILED The BIOS Hash Decryption failed.
0x00010501 IOP_LOGINFO_CODE_TOOLBOX_CLEAN_INVALID A firmware downgrade bit. Bit 26 cannot be set with other flag
bits in Toolbox Clean request.
0x00030800 IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_STATE The firmware downgrade is active and cannot access persistent
configuration pages.
0x00090010 IOP_LOGINFO_CODE_IBUTTON_INVALID Reserved.
0x000B0000 IOP_LOGINFO_CODE_RACC_ERROR RAID Accelerator error. Use one of the sub codes defined in the
following table.

Table 6 RACC Codes, IOP_LOGINFO_SUBCODE_RACC_*

Bits[15:0] Name Description


0x00000001 IOP_LOGINFO_SUBCODE_RACC_COMPLETE_W_ERROR The I/O completed, but with an error.
0x00000002 IOP_LOGINFO_SUBCODE_RACC_FAIL_REQUEST The RAID Accelerator request failed because of an error.
0x00000004 IOP_LOGINFO_SUBCODE_RACC_EEDP_GUARD_ERROR Set when the EEDP Guard Miscompare Halt Condition is detected.
0x00000008 IOP_LOGINFO_SUBCODE_RACC_EEDP_REF_TAG_ERROR Set when the EEDP Ref Tag Miscompare Halt Condition is detected.
0x00000010 IOP_LOGINFO_SUBCODE_RACC_EEDP_APP_TAG_ERROR Set when the EEDP App Tag Miscompare Halt Condition is detected.
0x00000020 IOP_LOGINFO_SUBCODE_RACC_PLB_SLAVE_0_ERROR PLB Slave 0 detected an error.
0x00000040 IOP_LOGINFO_SUBCODE_RACC_CFG_ACCESS_ERROR AI slave connected to PLB0 detected an access error.
0x00000080 IOP_LOGINFO_SUBCODE_RACC_DMA_1_COMP_Q_FULL DMA 1 completion queue full.
0x00000100 IOP_LOGINFO_SUBCODE_RACC_DMA_0_COMP_Q_FULL DMA 0 completion queue full.
0x00000200 IOP_LOGINFO_SUBCODE_RACC_DMA_1_HALT_ERROR DMA 1 detected an error and halted.
0x00000400 IOP_LOGINFO_SUBCODE_RACC_DMA_0_HALT_ERROR DMA 0 detected an error and halted.

Avago Technologies Confidential


- 38 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

3.2 Protocol Layer Message Codes

The following table lists IOCLogInfo codes for IOC_LOGINFO_ORIGINATOR = 1 (PL code segment).

Table 7 MPI-2 IOCLogInfo Codes for PL Code Segment

Bits[23:0] Name Description


0x00010000 PL_LOGINFO_CODE_OPEN_FAILURE Open failure - See sub-codes starting with
PL_LOGINFO_SUB_CODE_OPEN_FAILURE.
0x00060000 PL_LOGINFO_CODE_SATA_NON_NCQ_RW_ERR_BIT_SET Error bit is set in SATA D->H FIS for non-NCQ, automated
read/write.
0x00080000 PL_LOGINFO_CODE_SATA_NCQ_FAIL_ALL_CMDS_AFTR_ERR All NCQ I/Os fail when one NCQ I/O encounters an error.
0x000F0000 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE Invalid PL configuration page.
0x000F0001 PL_LOGINFO_CODE_CONFIG_PL_NOT_INITIALIZED PL is not initialized and cannot perform a configuration
page request.
0x000F0100 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_PT Invalid page type.
0x000F0200 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NUM_PHYS Invalid number of phys.
0x000F0300 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NOT_IMP The page was not handled.
0x000F0400 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NO_DEV No device found.
0x000F0500 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_FORM Invalid form.
0x000F0600 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_PHY Invalid phy.
0x000F0700 PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NO_OWNER No owner found.
0x00110000 PL_LOGINFO_CODE_RESET Target reset. The firmware ORs this code with a subcode
(lower 16 bits) for explanation. For more information, see
Table 9.
0x00120000 PL_LOGINFO_CODE_ABORT Task abort. The firmware ORs this code with a subcode
(lower 16 bits) for explanation. For more information, see
Table 9.
0x00130000 PL_LOGINFO_CODE_IO_NOT_YET_EXECUTED Aborted I/O from a pending queue and is not yet
submitted to the hardware.
0x00140000 PL_LOGINFO_CODE_IO_EXECUTED Aborted I/O is submitted to the hardware.
0x00150000 PL_LOGINFO_CODE_PERS_RESV_OUT_NOT_AFFIL_OWNER Affiliation conflict on Persistent Reserve Out command.
0x00160000 PL_LOGINFO_CODE_NOT_AFFIL_OWNER Affiliation conflict.
0x00170000 PL_LOGINFO_CODE_IO_DEVICE_MISSING_DELAY_RETRY Device is missing (device missing delay timer option is
enabled). When the timer starts, an internal TM cleans up
pending I/Os. The I/Os returned to the host should be
retried. This log information is also sent when the I/O reply
timer expires.
0x00180001 PL_LOGINFO_CODE_TARGET_INVALID_MID An invalid MID was requested in a Target mode abort.
0x00180002 PL_LOGINFO_CODE_TARGET_INVALID_TYPE An invalid abort type during a Target mode abort.
0x00180003 PL_LOGINFO_CODE_TARGET_MODE_ABORT_ALL_IO Target mode abort request with an ABORT_ALL_IO abort
type.
0x00180004 PL_LOGINFO_CODE_TARGET_MODE_ABORT_EXACT_IO Target mode abort request with an ABORT_EXACT_IO
abort type.
0x00180005 PL_LOGINFO_CODE_TARGET_MODE_ABORT_EXACT_IO_REQ Target mode abort request with an
ABORT_EXACT_IO_REQUEST abort type.
0x00180007 PL_LOGINFO_CODE_TARGET_ASSIST_TERMINATED Target assist terminated.
0x00180008 PL_LOGINFO_CODE_TARGET_STATUS_SEND_TERMINATED Target status send terminated.
0x00190000 PL_LOGINFO_CODE_SENSE_DATA_LENGTH_ZERO SSP sense data length is 0.

Avago Technologies Confidential


- 39 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 7 MPI-2 IOCLogInfo Codes for PL Code Segment (Continued)

Bits[23:0] Name Description


0x001B0000 PL_LOGINFO_CODE_TM_INVALID_REQUEST Invalid TM request; see
PL_LOGINFO_SUBCODE_INVALID_TM_NOT_END_
DEVICE in Table 9 for more information.
0x001C0000 PL_LOGINFO_CODE_SMP_FAILED The SMP failed. Lower 2 bytes are a PLSTATUS sub-code.
0x001C000A PL_LOGINFO_CODE_SMP_FAILED_ABORT The SMP failed. Abort.
0x001C000D PL_LOGINFO_CODE_SMP_FAILED_XFER_ERROR The SMP failed. The Tx Context Frame Manager detected a
transfer error.
0x001C000E PL_LOGINFO_CODE_SMP_FAILED_TIMEOUT The SMP failed. A time-out occurred.
0x001C0014 PL_LOGINFO_CODE_SMP_FAILED_DMA_ERROR The SMP failed. The Tx DMA engine detected an error.
0x001C0020 PL_LOGINFO_CODE_SMP_FAILED_HW_TIMEOUT The SMP failed. The link timed out.
0x001C0021 PL_LOGINFO_CODE_SMP_FAILED_LINK_ERROR The SMP failed. An error occurred on the link.
0x001C0030 PL_LOGINFO_CODE_SMP_FAILED_BACK_OFF The SMP failed. An interrupt was raised to back-off the
transceiver.
0x001C0031 PL_LOGINFO_CODE_SMP_FAILED_NO_CONNECTION The SMP failed. No connection available for transceiver.
0x001C0100 PL_LOGINFO_CODE_SMP_FAILED_OPEN_FAIL The SMP failed. Failed to open a connection. The lowest
byte is the specific failure code.
0x00200000 PL_LOGINFO_CODE_ENCL_MGMT_SMP_FRAME_FAILURE Cannot acquire an SMP frame.
0x00200010 PL_LOGINFO_CODE_ENCL_MGMT_SMP_READ_ERROR Error occurred on an SMP read.
0x00200020 PL_LOGINFO_CODE_ENCL_MGMT_SMP_WRITE_ERROR Error occurred on an SMP write.
0x00200040 PL_LOGINFO_CODE_ENCL_MGMT_NOT_SUPPORTED_ON_ENCL Enclosure management services are not available for this
WWID.
0x00200050 PL_LOGINFO_CODE_ENCL_MGMT_ADDR_MODE_NOT_SUPPORTED Address mode is not supported.
0x00200060 PL_LOGINFO_CODE_ENCL_MGMT_BAD_SLOT_NUM SEP message contains an invalid slot number.
0x00200070 PL_LOGINFO_CODE_ENCL_MGMT_SGPIO_NOT_PRESENT SGPIO not present or enabled.
0x00200080 PL_LOGINFO_CODE_ENCL_MGMT_GPIO_NOT_CONFIGURED Unconfigured GPIO.
0x00200090 PL_LOGINFO_CODE_ENCL_MGMT_GPIO_FRAME_ERROR GPIO cannot allocate a frame.
0x002000A0 PL_LOGINFO_CODE_ENCL_MGMT_GPIO_CONFIG_PAGE_ERROR GPIO failed configuration page request.
0x002000B0 PL_LOGINFO_CODE_ENCL_MGMT_SES_FRAME_ALLOC_ERROR Cannot get a frame for the SES command.
0x002000C0 PL_LOGINFO_CODE_ENCL_MGMT_SES_IO_ERROR I/O execution error.
0x002000D0 PL_LOGINFO_CODE_ENCL_MGMT_SES_RETRIES_EXHAUSTED SEP I/O retries exhausted.
0x002000E0 PL_LOGINFO_CODE_ENCL_MGMT_SMP_FRAME_ALLOC_ERROR Cannot get a frame for the SMP command.
0x002000F0 PL_LOGINFO_CODE_ENCL_MGMT_UNAUTHORIZED_DEVICE Slot has an unauthorized device.
0x00200100 PL_LOGINFO_DA_SEP_NOT_PRESENT SEP not present when the message was received.
0x00200101 PL_LOGINFO_DA_SEP_SINGLE_THREAD_ERROR Can only accept one message at a time.
0x00200102 PL_LOGINFO_DA_SEP_ISTWI_INTR_IN_IDLE_STATE ISTWI interrupt received when idle.
0x00200104 PL_LOGINFO_DA_SEP_DID_NOT_RECEIVE_ACK SEP did not receive ACK (last received bit is 1).
0x00200105 PL_LOGINFO_DA_SEP_BAD_STATUS_HDR_CHKSUM SEP stopped or sent a bad checksum in the header.
0x00200106 PL_LOGINFO_DA_SEP_STOP_ON_DATA SEP stopped when transferring data.
0x00200107 PL_LOGINFO_DA_SEP_STOP_ON_SENSE_DATA SEP stopped when transferring sense data.
0x00200108 PL_LOGINFO_DA_SEP_UNSUPPORTED_SCSI_STATUS_1 SEP returned an unknown SCSI status.
0x00200109 PL_LOGINFO_DA_SEP_UNSUPPORTED_SCSI_STATUS_2 SEP returned an unknown SCSI status.
0x0020010A PL_LOGINFO_DA_SEP_CHKSUM_ERROR_AFTER_STOP SEP returned a bad checksum after a stop.

Avago Technologies Confidential


- 40 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 7 MPI-2 IOCLogInfo Codes for PL Code Segment (Continued)

Bits[23:0] Name Description


0x0020010B PL_LOGINFO_DA_SEP_CHKSUM_ERROR_AFTER_STOP_GETDATA SEP returned a bad checksum after a stop while getting
data.
0x0020010C PL_LOGINFO_DA_SEP_UNSUPPORTED_COMMAND SEP does not support CDB opcode firmware location 1.
0x0020010D PL_LOGINFO_DA_SEP_UNSUPPORTED_COMMAND_2 SEP does not support CDB opcode firmware location 2.
0x0020010E PL_LOGINFO_DA_SEP_UNSUPPORTED_COMMAND_3 SEP does not support CDB opcode firmware location 3.
0x00210001 PL_LOGINFO_CODE_VEM_VIRT_PHYS_NOT_AVAILABLE A virtual port create request failed because free virtual
phys were not available for assignment to the virtual port.
0x00210002 PL_LOGINFO_CODE_VEM_VP_RESOURCE_NOT_AVAILABLE A virtual port create request failed because a free virtual
port resource was not available.
0x00210003 PL_LOGINFO_CODE_VEM_HW_RESOURCE_NOT_AVAILABLE A virtual port create request failed because an entry for the
virtual port allocated could not be added to the Hardware
Initiator or Virtual ID Response table.
0x00210004 PL_LOGINFO_CODE_VEM_PHYSICAL_PORT_NOT_FUNCTIONAL A virtual port create request failed because the physical
port specified in the request is not functional.
0x00210005 PL_LOGINFO_CODE_VEM_VP_DELETE_FAILED_VP_NOT_VALID A virtual port delete request failed because the virtual port
to be deleted is invalid.
0x00210006 PL_LOGINFO_CODE_VEM_VP_DELETE_FAILED_UNALLOCATED_VP A virtual port delete request failed because the virtual port
to be deleted has not been allocated yet.
0x00210007 PL_LOGINFO_CODE_VEM_VP_DELETE_FAILED_OUTSTAND_IOS A virtual port delete request failed because the virtual port
to be deleted has outstanding I/Os.
0x00210008 PL_LOGINFO_CODE_VEM_VP_DELETE_FAILED_OUTSTAND_TMS A virtual port delete request failed because the virtual port
to be deleted has outstanding task managements.
0x00210009 PL_LOGINFO_CODE_VEM_VP_CREATE_INVALID_PPORT A virtual port create request failed because the physical
port specified in the request is invalid.
0x0021000A PL_LOGINFO_CODE_VEM_VP_CREATE_INVALID_VE A virtual port create request failed because the physical
port specified in the request does not have a virtual
expander associated.
0x00220000 PL_LOGINFO_CODE_IO_REDUCED_FUNCTIONALITY_RETRY I/O aborted for the device behind an expander in the
reduced functionality state.
0x00220001 PL_LOGINFO_CODE_IO_QUIESCED_BT1680_RETRY I/O aborted for the device in the BT1680 quiesce I/O state.
0x00220010 PL_LOGINFO_CODE_SATL_SPI_SSPL_READ_FAILED Memory buffer read failed.
0x00220011 PL_LOGINFO_CODE_SATL_SPI_SSPL_LISTLENGTH_TOO_BIG List length returned by the device exceeds the maximum
list length.
0x00220012 PL_LOGINFO_CODE_SATL_SPI_SSPL_WRITE_FAILED Memory buffer write failed.
0x00230000 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY Base host-based discovery error. See the following table for
specific failures.
0x00240000 PL_LOGINFO_FAST_PATH_ENGINE FPE - Generic FastPath Engine LogInfo.
0x00240001 PL_LOGINFO_FAST_PATH_ENGINE_IOEXCP_INVALID_DESCR_TYPE FPE - Received I/O Exception from SAS-3.0 for MID with
Invalid Descriptor Type.
0x00240002 PL_LOGINFO_FAST_PATH_ENGINE_IOEXCP_INVALID_DEVICE_HANDLE FPE - Received I/O Exception from SAS-3.0 for MID with
Invalid Device Handle.
0x00240003 PL_LOGINFO_FAST_PATH_ENGINE_IOEXCP_VF_MISMATCH FPE - Received I/O Exception from SAS-3.0 for MID with VF
Mismatch.
0x00240004 PL_LOGINFO_FAST_PATH_ENGINE_REQUESTOR_TIMER_OVERFLOW_ FPE - The FPE Requestor has specified an Add Timer
ERROR operation with an Add Time-out Value that corresponds to
a timer bucket that is equal to 0xFFFF.

Avago Technologies Confidential


- 41 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 7 MPI-2 IOCLogInfo Codes for PL Code Segment (Continued)

Bits[23:0] Name Description


0x00240005 PL_LOGINFO_FAST_PATH_ENGINE_COMPLETOR_TIMER_OVERFLOW_ FPE - The FPE Completor has specified a Remove Timer
ERROR operation with a Remove Timer that corresponds to a timer
bucket that is equal to 0x0000.
0x00240006 PL_LOGINFO_FAST_PATH_ENGINE_REQUESTOR_TIMER_ERROR_MST_ FPE - The FPE Requestor encountered a TimerError
STALE (Timeout) for an FP IO started from an FP Request FIFO and
was unable to update the MST.
0x00250000 PL_LOGINFO_IOPI_MEMORY_MOVE_FAILURE iopiMemoryMove() did not return successful status.
0x00340000 PL_LOGINFO_CODE_POWER_MANAGEMENT Indicates a power management error. See Table 10 for
PL_LOGINFO_SUB_CODE_PWRMGMT sub-codes.
0x00348000 PL_LOGINFO_CODE_POWER_MANAGEMENT_UNKNOWN_STATUS Indicates an unknown power management status code in
the lower 4 bits.
0x00400000 PL_LOGINFO_CODE_SMP_REQUEST_TOO_LONG_4_IMMEDIATE Immediate mode cannot be used on an SMP request
because its length is larger than a message frame.

Table 8 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY Specific Codes

Bits[23:0] Name Description


0x00230001 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_OPERATION_INVALID An MPI HBD action message failed because the
operation field contained an invalid value.
0x00230002 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_DEVH_OUT_OF_RANGE An MPI HBD action message failed because the device
handle specified was not within the allowable range and
is, therefore, invalid.
0x00230003 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_DEVH_IN_USE An MPI HBD action message failed because of an
attempt to allocate an already established device
handle.
0x00230004 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_DEVH_NOT_ALLOC An MPI HBD action message failed because of an
attempt to update or remove a non-existent device
handle.
0x00230005 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_PARENT_INVALID An MPI HBD action message failed because of an
attempt to add or update a device handle whose parent
does not exist.
0x00230006 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_DEV_INFO_INVALID An MPI HBD action message failed because of an
attempt to add a device with invalid HBDDeviceInfo
parameters.
0x00230007 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_PORT_INVALID An MPI HBD action message failed because of an
attempt to add a device to a non-existent port.
0x00230008 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_MAX_RATE_INVALID An MPI HBD action message failed because of an
attempt to add or update a device with a MaxRate value
not equal to 0x8, 0x9, or 0xA.
0x00230009 PL_LOGINFO_CODE_HOST_BASED_DISCOVERY_IO_TM_OUTSTANDING An MPI HBD action message failed because of an
attempt to remove a device with an outstanding IO or
Task Management.

Avago Technologies Confidential


- 42 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 9 PL_LOGINFO_SUB_CODE for PL_LOGINFO_CODE_RESET and ABORT

Bits[23:0] Name Description


0x00000100 PL_LOGINFO_SUB_CODE_OPEN_FAILURE Open failure. Lower two nibbles provide explanation.
For more information, see code 0x00000101 to code
0x0000011C that follow.
0x00000101 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_NO_DEST_TIMEOUT Open failure. OPEN_REJECT (no destination) received.
0x00000102 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_PATHWAY_BLOCKED Open failure. OPEN REJECT (pathway blocked)
received.
0x00000103 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_RSVD_CONT0 Open failure. OPEN REJECT (reserved continue 0)
received.
0x00000104 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_RSVD_CONT1 Open failure. OPEN REJECT (reserved continue 1)
received.
0x00000105 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_RSVD_INIT0 Open failure. OPEN REJECT (reserved initialize 0)
received.
0x00000106 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_RSVD_INIT1 Open failure. OPEN REJECT (reserved initialize 1)
received.
0x00000107 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_RSVD_STOP0 Open failure. OPEN REJECT (reserved stop 0) received.
0x00000108 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_RSVD_STOP1 Open failure. OPEN REJECT (reserved stop 1) received.
0x00000109 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ORR Open failure. OPEN REJECT (retry) received.
0x0000010A PL_LOGINFO_SUB_CODE_OPEN_FAILURE_BREAK Open failure. BREAK received.
0x0000010C PL_LOGINFO_SUB_CODE_OPEN_FAILURE_TIMEOUT Open failure. Open time-out.
0x0000010D PL_LOGINFO_SUB_CODE_OPEN_FAILURE_CANCELCON Open failure. PortCancelCon received.
0x0000010E PL_LOGINFO_SUB_CODE_OPEN_FAILURE_DEV_DOWN Open failure. Device table down.
0x00000111 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_BAD_DEST Open failure. OPEN REJECT (bad destination) received.
0x00000112 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_RATE_NOT_SUPPORTED Open failure. OPEN REJECT (connection rate not
supported) received.
0x00000113 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_PROTOCOL_NOT_SUPPORTED Open failure. OPEN REJECT (protocol not supported)
received.
0x00000114 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ZONE_VIOLATION Open failure. OPEN REJECT (zone violation) received.
0x00000115 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ABANDON1 Open failure. OPEN REJECT (reserved abandon 1)
received.
0x00000116 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ABANDON2 Open failure. OPEN REJECT (reserved abandon 2)
received.
0x00000117 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ABANDON3 Open failure. OPEN REJECT (reserved abandon 3)
received.
0x00000118 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_STP_RESOURCES_BSY Open failure. OPEN REJECT (STP resources busy)
received.
0x00000119 PL_LOGINFO_SUB_CODE_OPEN_FAILURE_WRONG_DEST Open failure. OPEN REJECT (wrong destination)
received.
0x0000011A PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ORR_TIMEOUT Open failure. OPEN REJECT (retry) time-out.
0x0000011C PL_LOGINFO_SUB_CODE_OPEN_FAILURE_AWT_MAXED Open failure. Arbitration wait timer expired.
0x00000120 PL_LOGINFO_SUB_CODE_TARGET_BUS_RESET Received HARD_RESET primitive in Target mode.
0x00000140 PL_LOGINFO_SUB_CODE_UART_TEST I/O aborted by a UART command.
0x000001FF PL_LOGINFO_SUB_CODE_OPEN_FAILURE_REQ_PORT_DOWN Open failure. Request sent to a port where all the phys
are down.
0x00000300 PL_LOGINFO_SUB_CODE_TX_TRANSPORT_LAYER The lower nibble (1-f ) is reserved for specific errors.
For more information, see code 0x00000301 to code
0x00000322 that follow.

Avago Technologies Confidential


- 43 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 9 PL_LOGINFO_SUB_CODE for PL_LOGINFO_CODE_RESET and ABORT (Continued)

Bits[23:0] Name Description


0x00000301 PL_LOGINFO_SUB_CODE_TX_CONNECTED Subcode for TxTransportLayer. TxCtx connected.
0x00000302 PL_LOGINFO_SUB_CODE_TX_CONNECTED_ACK Subcode for TxTransportLayer. TxCtx connected ACK.
0x00000303 PL_LOGINFO_SUB_CODE_TX_NAK Subcode for TxTransportLayer. TxCtx NAK.
0x00000304 PL_LOGINFO_SUB_CODE_TX_SMP_BACKOFF Subcode for TxTransportLayer. TxCtx SMP back off.
0x00000305 PL_LOGINFO_SUB_CODE_TX_WRG_REL_OFF Subcode for TxTransportLayer. TxCtx WrgRelOff.
0x00000306 PL_LOGINFO_SUB_CODE_TX_BACK_OFF Subcode for TxTransportLayer. TxCtx back off.
0x00000307 PL_LOGINFO_SUB_CODE_TX_ABORT_FM Subcode for TxTransportLayer. TxCtx abort FM.
0x00000308 PL_LOGINFO_SUB_CODE_TX_T_LEN_GT_DL Subcode for TxTransportLayer. TxCtx T LEN is greater
than the data length.
0x00000309 PL_LOGINFO_SUB_CODE_TX_WDL_GT_DL Subcode for TxTransportLayer. TxCtx WDL is greater
than the data length.
0x0000030A PL_LOGINFO_SUB_CODE_TX_EEDP Subcode for TxTransportLayer. TxCtx EEDP error, the
IOC status indicates which type.
0x00000310 PL_LOGINFO_SUB_CODE_TX_DISCONNECTION Subcode for TxTransportLayer. TxFM disconnected.
0x00000311 PL_LOGINFO_SUB_CODE_TX_NAK_RCVD Subcode for TxTransportLayer. TxFM NAK received.
0x00000312 PL_LOGINFO_SUB_CODE_TX_FM_ABORT_FM Subcode for TxTransportLayer. TxFM abort FM.
0x00000320 PL_LOGINFO_SUB_CODE_TX_BAD_SGE Subcode for TxTransportLayer. TxDMA bad SGE fetch.
0x00000321 PL_LOGINFO_SUB_CODE_TX_FETCH_ERROR Subcode for TxTransportLayer. TxDMA fetch error.
0x00000322 PL_LOGINFO_SUB_CODE_TX_SYS_DMA Subcode for TxTransportLayer. TxDMA SYS DMA error.
0x00000323 PL_LOGINFO_SUB_CODE_TX_SNC_COLLATERAL_IO Subcode for TxTransportLayer. SnC method collateral
failed I/O.
0x00000430 PL_LOGINFO_SUB_CODE_RX_TRANSPORT_LAYER The lower nibble (1-f ) is reserved for specific errors.
For more information, see code 0x00000431 to code
0x0000043F that follow.
0x00000431 PL_LOGINFO_SUB_CODE_RX_WRONG_REL_OFFSET Subcode for RxTransportLayer. Data offset error.
0x00000432 PL_LOGINFO_SUB_CODE_RX_FRAME_LENGTH Subcode for RxTransportLayer. Frame length
mismatch.
0x00000433 PL_LOGINFO_SUB_CODE_RX_ZERO_WDL Subcode for RxTransportLayer. Zero WDL in Xfer Rdy.
0x00000434 PL_LOGINFO_SUB_CODE_RX_OVERRUN Subcode for RxTransportLayer. Overrun.
0x00000435 PL_LOGINFO_SUB_CODE_RX_CDP_FRAME Subcode for RxTransportLayer. CDP frame received.
0x00000436 PL_LOGINFO_SUB_CODE_RX_FRAME_SCHED_ERR Subcode for RxTransportLayer. Frame schedule error.
0x00000437 PL_LOGINFO_SUB_CODE_RX_CUR_FRAME_DENY Subcode for RxTransportLayer. Current frame deny.
0x00000438 PL_LOGINFO_SUB_CODE_RX_CTX_WRONG_FRAME_TYPE Subcode for RxTransportLayer. Wrong frame type.
0x00000439 PL_LOGINFO_SUB_CODE_RETRANSMIT_XFER_RDY Subcode for RxTransportLayer. Retransmit bit set in
XFER_RDY.
0x0000043A PL_LOGINFO_SUB_CODE_RX_DATA_FRM_OVERRUN Subcode for RxTransportLayer. FPDMA overrun (also
occurs for SAS).
0x0000043B PL_LOGINFO_SUB_CODE_RX_EEDP Subcode for RxTransportLayer. EEDP error, the IOC
status indicates which type.
0x0000043C PL_LOGINFO_SUB_CODE_RX_EEDP_RESET Subcode for RxTransportLayer. EEDP error, the IOC
status indicates which type.
0x0000043D PL_LOGINFO_SUB_CODE_RX_BAD_SGE Subcode for RxTransportLayer. Bad SGE fetch.
0x0000043E PL_LOGINFO_SUB_CODE_RX_FETCH_ERROR Subcode for RxTransportLayer. Fetch error.
0x0000043F PL_LOGINFO_SUB_CODE_RX_SYS_DMA Subcode for RxTransportLayer. SYS DMA error.

Avago Technologies Confidential


- 44 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 9 PL_LOGINFO_SUB_CODE for PL_LOGINFO_CODE_RESET and ABORT (Continued)

Bits[23:0] Name Description


0x00000440 PL_LOGINFO_SUB_CODE_RX_WRONG_DATA_XFER Subcode for RxTransportLayer. Wrong data transfer.
0x00000441 PL_LOGINFO_SUB_CODE_RX_FINAL_EEDP_FRAME Subcode for RxTransportLayer. Final EEDP frame.
0x00000442 PL_LOGINFO_SUB_CODE_RX_DMA_OVERFLOW Subcode for RxTransportLayer. RxDMA Overflow.
0x00000443 PL_LOGINFO_SUB_CODE_RX_DMA_PARITY_ERROR Subcode for RxTransportLayer. RxDMA Parity Error
detected.
0x00000500 PL_LOGINFO_SUB_CODE_INTERNAL_IO_TIMED_OUT Internal SCSI I/O timed out.
0x00000610 PL_LOGINFO_SUB_CODE_SATA_READ_LOG_RECEIVE_DATA_ERR Error receiving data on the ReadLogExt SATA
command.
0x00000630 PL_LOGINFO_SUB_CODE_SATA_ERR_IN_RCV_SET_DEV_BIT_FIS Error in the Set Device Bits FIS for the ReadLogExt
SATA command.
0x00070000 PL_LOGINFO_CODE_SCSI_IO_NOT_REGISTERED Unregistered SCSI I/O.
0x00070001 PL_LOGINFO_CODE_SCSI_IO_DEVICE_BLOCKED Blocked SCSI I/O device.
0x00000800 PL_LOGINFO_SUB_CODE_NVME_ASYNC_PERSISTENT_ERROR NVMe device asynchronously indicated a persistent
device error.
0x00000801 PL_LOGINFO_SUB_CODE_NVME_INIT_TIMEOUT_OR_FAILURE NVMe Init failed or timed out.
0x00000802 PL_LOGINFO_SUB_CODE_NVME_FW_UPDATE_RESET NVMe device was reset during a firmware update
command.
0x00000803 PL_LOGINFO_SUB_CODE_NVME_IOERROR_BAD_SQID Bad submission queue ID on FxCore NVMe I/O
completion.
0x00000804 PL_LOGINFO_SUB_CODE_NVME_IOERROR_BAD_CID Bad command ID on FxCore NVMe I/O completion.
0x00000805 PL_LOGINFO_SUB_CODE_NVME_IOERROR_SUBQ_HEAD_TOO_LARGE The submission queue head pointer is larger than the
submission queue size.
0x00000806 PL_LOGINFO_SUB_CODE_NVME_IOERROR_SUBQ_HEAD_BAD_ADVANCE_ The submission queue head pointer jumped ahead of
1 the tail pointer.
0x00000807 PL_LOGINFO_SUB_CODE_NVME_IOERROR_SUBQ_HEAD_BAD_ADVANCE_ The submission queue head pointer jumped ahead of
2 the tail pointer.
0x00000808 PL_LOGINFO_SUB_CODE_NVME_ADMIN_COMPL_BAD_SQID An admin command completion contained a bad
submission queue ID.
0x00000809 PL_LOGINFO_SUB_CODE_NVME_ADMIN_COMPL_BAD_CID An admin command completion contained a bad
command ID.
0x0000080A PL_LOGINFO_SUB_CODE_NVME_ADMIN_COMPL_UNEXPECTED No callback registered for an admin command
completion.
0x0000080B PL_LOGINFO_SUB_CODE_NVME_IO_COMPL_UNEXPECTED No callback registered for break-up I/O.
0x0000080C PL_LOGINFO_SUB_CODE_NVME_ASYNC_EVENT_TIMEOUT A timeout occurred during NVMe Async event
handling.
0x00000B10 PL_LOGINFO_SUB_CODE_RX_FM_CURRENT_FRAME_ERROR Rx Frame Manager current frame error.
0x00000B41 PL_LOGINFO_SUB_CODE_RX_FM_INVALID_TAG_DMA_SETUP_FIS Rx Frame Manager invalid tag in the FPDMA FIS error.
0x00000B42 PL_LOGINFO_SUB_CODE_RX_FM_INVALID_TAG_SET_DEVICE_BITS Rx Frame Manager invalid tag in the SDB FIS error.
0x00000B50 PL_LOGINFO_SUB_CODE_RX_FM_NCQ_DISABLED Received FPDMA or Set Device Bits FIS, but NCQ is
disabled.
0x00000B60 PL_LOGINFO_SUB_CODE_RX_FM_WRONG_DATA_DIRECTION Rx Frame Manager wrong data direction.
0x00000D00 PL_LOGINFO_SUB_CODE_SATA_LINK_DOWN SATA direct-attached link went down.
0x00000D01 PL_LOGINFO_SUB_CODE_ABORT_SATA_RX_STAT SATA receive transfer aborted.
0x00000D02 PL_LOGINFO_SUB_CODE_SATA_UNEXPECTED_FRAME Received an unexpected SATA FIS.
0x00000E00 PL_LOGINFO_SUB_CODE_DISCOVERY_SATA_INIT_W_IOS SATA initialization started with outstanding I/Os.

Avago Technologies Confidential


- 45 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 9 PL_LOGINFO_SUB_CODE for PL_LOGINFO_CODE_RESET and ABORT (Continued)

Bits[23:0] Name Description


0x00000E01 PL_LOGINFO_SUB_CODE_DISCOVERY_REMOTE_SEP_RESET Remote SEP requires reset.
0x00000E02 PL_LOGINFO_SUB_CODE_RCVD_UNCONFIRMED_RESP_FRAME Received unconfirmed Response frame.
0x00000E03 PL_LOGINFO_SUB_CODE_DISCOVERY_SATA_INIT_NEEDED_W_IOS SATA initialization started with outstanding I/Os.
0x00000E80 PL_LOGINFO_SUB_CODE_INVALID_TM_NOT_END_DEVICE TM sent to a device handle that is not an end device.

Table 10 PL_LOGINFO_SUB_CODE_PWRMGMT for PL_LOGINFO_CODE_POWER_MANAGEMENT

Bits[23:0] Name Description


0x00000F00 PL_LOGINFO_SUB_CODE_LINK_HUNG TM sent to a device handle connected to a stuck
link.
0x00000F22 PL_LOGINFO_SUB_CODE_PWRMGMT_DEVICE_NOT_CONNECTED A current phy power condition change request
was denied because no device is attached to the
specified phy.
0x00000F24 PL_LOGINFO_SUB_CODE_PWRMGMT_IOC_PARTIAL_SLUMBER_DISABLED A current phy power condition change request
was denied because power management is
disabled for the specified phy. Check that the
appropriate bits are asserted in the SAS I/O Unit
Page 5 ControlFlags field that corresponds to the
specified phy.
0x00000F26 PL_LOGINFO_SUB_CODE_PWRMGMT_DRIVE_PARTIAL_SLUMBER_DISABLED A current phy power condition change request
was denied because the end device does not
support power management.
0x00000F2A PL_LOGINFO_SUB_CODE_PWRMGMT_STATE_PROHIBITS_PHY_POWER_MODE A current phy power condition change request
was denied because the request would transition
the phy directly from Partial mode to Slumber
mode, or conversely. To enter the desired state,
wake up the phy by changing to ACTIVE phy
power condition.
0x00000F2C PL_LOGINFO_SUB_CODE_PWRMGMT_HW_BUSY_RETRY_REQ_LATER A current phy power condition change request
failed because the IOC or the drive transmitted a
frame before the transition could complete. Retry
the request at a later time.
0x00000F2E PL_LOGINFO_SUB_CODE_PWRMGMT_QUEUE_FULL_RETRY_REQ_LATER A current phy power condition change request
failed because the firmware's policy change
request queue is full. Retry the request at a later
time.
0x00000F30 PL_LOGINFO_SUB_CODE_PWRMGMT_UNDEFINED_STATUS_CODE A power management policy change request
failed because of an unknown error for which no
suitable translation exists.
0x00000F40 PL_LOGINFO_SUB_CODE_PWRMGMT_SLUMBER_WAKEUP_FAILED A wake-up from Slumber mode failed due to a
hardware configuration issue with the IOC's
GigaBlaze® transceiver. An internal task
management task aborts any outstanding I/Os,
resets the phy and sets a flag to prevent future
transitions into Slumber mode.
0x00000F60 PL_LOGINFO_SUB_CODE_PWRMGMT_PORT_WIDTH_MOD_DISALLOWED A request to control the port width modulation of
a group failed because the group cannot be
controlled at this time.
0x00000F62 PL_LOGINFO_SUB_CODE_PWRMGMT_HOST_IS_NOT_CONTROLLING_GROUP A host request to relinquish control of a port width
modulation group failed because the host was not
previously in control.

Avago Technologies Confidential


- 46 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 10 PL_LOGINFO_SUB_CODE_PWRMGMT for PL_LOGINFO_CODE_POWER_MANAGEMENT (Continued)

Bits[23:0] Name Description


0x00000F63 PL_LOGINFO_SUB_CODE_PWRMGMT_NEW_AND_OLD_REGIONS_THE_SAME A host request to alter a port's modulation failed
because the requested modulation level is the
same as the current level (refer to SAS I/O Unit
Page 6).
0x00000F64 PL_LOGINFO_SUB_CODE_PWRMGMT_GROW_OPERATION_FAILED A host-initiated grow request failed because the
phys did not properly link up.
0x00001000 PL_LOGINFO_SUB_CODE_DSCVRY_SATA_INIT_TIMEOUT SATA initialization time-out.

3.3 Integrated RAID Message Codes

The following table lists IOCLogInfo codes for IOC_LOGINFO_ORIGINATOR = 2 (IR code segment).

Table 11 MPI-2 IOCLogInfo Codes for IR Code Segment

Bits[23:0] Name Description


0x00010000 IR_LOGINFO_RAID_ACTION_ERROR RAID action error.
0x00010001 IR_LOGINFO_VOLUME_CREATE_INVALID_LENGTH The amount of information passed down to create volume
is too large.
0x00010003 IR_LOGINFO_VOLUME_CREATE_NO_SLOTS Volume creation failed because the maximum number of
supported volumes was exceeded.
0x00010004 IR_LOGINFO_VOLUME_CREATE_DMA_ERROR Volume creation failed because of a DMA error when
trying to read from host.
0x00010006 IR_LOGINFO_VOLUME_MFG_PAGE4_ERROR Volume creation failed because of an error when reading
Manufacturing Page 4.
0x00010008 IR_LOGINFO_VOLUME_CREATE_NO_BGI Volume creation failed because the required Background
Init flag was not set.
0x00010009 IR_LOGINFO_VOLUME_CREATE_ODD_NUM_PHYS_DISKS Volume creation failed because an odd number of drives
in the volume is not permitted.
0x00010010 IR_LOGINFO_VOLUME_ACTIVATING_AN_ACTIVE_VOLUME Volume activation failed because the volume is already
active.
0x00010011 IR_LOGINFO_VOLUME_ACTIVATING_INVALID_VOLUME_TYPE Volume activation failed because the volume type is
unsupported.
0x00010012 IR_LOGINFO_VOLUME_ACTIVATING_TOO_MANY_VOLUMES Volume activation failed because of activating too many
volumes.
0x00010014 IR_LOGINFO_VOLUME_ACTIVATE_VOLUME_FAILED Volume activation failed. Call to the activateVolume
function returned a failure.
0x00010015 IR_LOGINFO_VOLUME_ACTIVATING_IMPORT_VOLUME_FAILED Volume activation failed when trying to import the
volume.
0x00010016 IR_LOGINFO_VOLUME_ACTIVATING_TOO_MANY_PHYS_DISKS Volume activation failed because of trying to activate too
many physical disks.
0x00010017 IR_LOGINFO_VOLUME_ACTIVATING_FAILED_STATE_VOLUME Volume activation failed. The volume is in Failed state.
0x00010018 IR_LOGINFO_VOLUME_ACTIVATING_INVALID_METADATA_SIZE Volume activation failed because activation of a volume
with 64 MB of metadata is not permitted.
0x00010019 IR_LOGINFO_VOLUME_ACTIVATING_INVALID_PHYS_DISK Volume activation failed because the physical disk pages
are not readable.
0x00010020 IR_LOGINFO_PHYSDISK_CREATE_TOO_MANY_DISKS Physical disk creation failed because of too many physical
disks.

Avago Technologies Confidential


- 47 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 11 MPI-2 IOCLogInfo Codes for IR Code Segment (Continued)

Bits[23:0] Name Description


0x00010024 IR_LOGINFO_PHYSDISK_CREATE_CONFIG_PAGE_ERROR Physical disk creation failed because of an error while
creating the RAID physical disk configuration page.
0x00010026 IR_LOGINFO_PHYSDISK_DUAL_PORT_FAILOVER Physical disk I/O returned. Need time to remove device
processing so that the I/O can fail over to the passive path
on this dual-ported device.
0x00010027 IR_LOGINFO_PHYSDISK_CREATE_DEV_HANDLE_INVALID Physical disk creation failed because of an invalid device
handle.
0x00010028 IR_LOGINFO_PHYSDISK_CREATE_DUPLICATE_DEV_HANDLE Physical disk creation failed because of an existing
physical disk with this device handle.
0x00010029 IR_LOGINFO_PHYSDISK_CREATE_PI_NOT_SUPPORTED Creation failed because the physical disk does not support
protection information.
0x00010030 IR_LOGINFO_COMPAT_ERROR_RAID_DISABLED Compatibility error. IR is disabled.
0x00010031 IR_LOGINFO_COMPAT_ERROR_INQUIRY_FAILED Compatibility error. Inquiry command failed.
0x00010032 IR_LOGINFO_COMPAT_ERROR_NOT_DIRECT_ACCESS Compatibility error. The device is not a direct-access
device.
0x00010033 IR_LOGINFO_COMPAT_ERROR_REMOVABLE_FOUND Compatibility error. A removable device was found.
0x00010034 IR_LOGINFO_COMPAT_ERROR_NEED_SCSI_2_OR_HIGHER Compatibility error. The device SCSI version is not version
2 or higher.
0x00010035 IR_LOGINFO_COMPAT_ERROR_SATA_48BIT_LBA_NOT_SUPPORTED Compatibility error. SATA device, 48-bit LBA is not
supported.
0x00010036 IR_LOGINFO_COMPAT_ERROR_DEVICE_NOT_512_BYTE_BLOCK Compatibility error. The device does not have 512-byte
block sizes.
0x00010037 IR_LOGINFO_COMPAT_ERROR_VOLUME_TYPE_CHECK_FAILED Compatibility error. The volume type check failed.
0x00010039 IR_LOGINFO_COMPAT_ERROR_DISK_TOO_SMALL Compatibility error. The disk drive capacity is too small to
be used in RAID volume.
0x0001003B IR_LOGINFO_COMPAT_ERROR_MEMBERSHIP_COUNT Compatibility error. Membership count error because of
too many or too few disks for the volume type.
0x0001003E IR_LOGINFO_COMPAT_ERROR_INCOMPATIBLE_STRIPE_SIZE Compatibility error. The disk stripe size must be 64 KB or
128 KB.
0x0001003F IR_LOGINFO_COMPAT_ERROR_UNSUPPORTED_PROTOCOL Compatibility error. The firmware does not support the
disk protocol type.
0x00010040 IR_LOGINFO_COMPAT_ERROR_MIXED_PROTOCOL Compatibility error. Mixed protocol volumes are not
supported.
0x00010041 IR_LOGINFO_COMPAT_ERROR_DISK_MAP Compatibility error. The physical disk map or RAID set
number is incorrect.
0x00010042 IR_LOGINFO_COMPAT_ERROR_DEVICE_NOT_PRESENT Compatibility error. The device is not present.
0x00010043 IR_LOGINFO_COMPAT_ERROR_NOT_END_DEVICE Compatibility error. The device is not an end device.
0x00010044 IR_LOGINFO_COMPAT_ERROR_MEDIA_TYPE Compatibility error. Incompatible media.
0x00010045 IR_LOGINFO_COMPAT_ERROR_ALTA_NOT_SUPPORTED Compatibility error. The LSISS2520 or
LSISS2530 SAS-to-SATA bridge is detected.
0x00010046 IR_LOGINFO_COMPAT_ERROR_DRIVE_BLOCKED Compatibility error. A drive larger than 2.1 TB is detected
and therefore blocked.
0x00010047 IR_LOGINFO_COMPAT_ERROR_DRIVE_SENSE_DATA_INCOMPATIBLE Compatibility error. Found an incompatible Drive Sense
Data format that the IR firmware could not change. The
drive did not let the IR firmware change the Sense Data
format.
0x00010048 IR_LOGINFO_COMPAT_ERROR_MIXED_PI Compatibility error. Mixed protection information types
are not supported.

Avago Technologies Confidential


- 48 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 11 MPI-2 IOCLogInfo Codes for IR Code Segment (Continued)

Bits[23:0] Name Description


0x00010049 IR_LOGINFO_COMPAT_ERROR_MIXED_BLOCKSIZE Compatibility error. Mixed block sizes are not supported.
0x0001004A IR_LOGINFO_COMPAT_ERROR_INVALID_BLOCKSIZE Compatibility error. Drive is not reporting a supported
block size.
0x0001004B IR_LOGINFO_COMPAT_ERROR_LOWEST_ALIGNED_NOT_ZERO Compatibility error. Lowest Aligned Logical Block Address
from ReadCap16 is not zero.
0x00010050 IR_LOGINFO_DEV_FW_UPDATE_ERR_DFU_IN_PROGRESS Device firmware update. The update can only be started
once.
0x00010051 IR_LOGINFO_DEV_FW_UPDATE_ERR_DEVICE_IN_INVALID_STATE Device firmware update. The volume must be in Optimal
state, Active state, or Nonquiesced state.
0x00010052 IR_LOGINFO_DEV_FW_UPDATE_ERR_INVALID_TIMEOUT Device firmware update. The time-out value cannot be
zero.
0x00010053 IR_LOGINFO_DEV_FW_UPDATE_ERR_NO_TIMERS Device firmware update. Failed to create timer.
0x00010054 IR_LOGINFO_DEV_FW_UPDATE_ERR_READING_CFG_PAGE Device firmware update. Failed to read SAS I/O Unit Page 1
values.
0x00010055 IR_LOGINFO_DEV_FW_UPDATE_ERR_PORT_IO_TIMEOUTS_REQUIRED Device firmware update. Invalid SAS I/O Unit Page 1
values.
0x00010056 IR_LOGINFO_DEV_FW_UPDATE_ERR_ALLOC_CFG_PAGE Device firmware update. Unable to allocate memory for a
page.
0x00010060 IR_LOGINFO_COMPAT_CHECK_INVALID_REQUEST Compatibility check error. Invalid input.
0x00010061 IR_LOGINFO_COMPAT_CHECK_INVALID_SOURCE_DEVH Compatibility check error. The input flags might be the
cause of an invalid source device handle.
0x00010062 IR_LOGINFO_COMPAT_CHECK_INVALID_CANDIDATE_DEVH Compatibility check error. The input flags might be the
cause of an invalid candidate device handle.
0x00010063 IR_LOGINFO_COMPAT_CHECK_VOLUME_NOT_ACTIVE Compatibility check error. The volume must be active to
analyze.
0x00010070 IR_LOGINFO_DELETE_PHYSDISK_INVALID Deletion failed because of an invalid physical disk.
0x00010071 IR_LOGINFO_DELETE_HOT_SPARE_INVALID Hot spare deletion failed because it belongs to a volume
member.
0x00010072 IR_LOGINFO_DELETE_VOLUME_INVALID_CCOH_ENABLED CCOH enabled on WD.
0x00010073 IR_LOGINFO_HOTSPARE_CREATE_TOO_MANY_HOTSPARES Hot spare creation failed because the maximum number
of hot spares was exceeded.
0x00010075 IR_LOGINFO_VOLUME_CREATE_FAILED_VOLUME_PRESENT Failed to create a volume because a failed volume was
present.
0x00010076 IR_LOGINFO_VOLUME_ACTIVATING_FAILED_VOLUME_PRESENT Failed to activate a volume because a failed volume was
present.
0x00010080 IR_LOGINFO_RAID_ACTION_IR_DISABLED RAID action failed because IR was disabled.
0x00010081 IR_LOGINFO_SCSI_IO_RETRY Virtual I/O failed and must retry.
0x00011000 IR_LOGINFO_RAID_ACTION_LICENSE_NOT_SET RAID action failed because the license was not set.
0x00011001 IR_LOGINFO_LICENSE_INVALID_LENGTH Invalid License length.
0x00011002 IR_LOGINFO_LICENSE_UNSUPPORTED_SUBACTION Unsupported RAID sub action.
0x00011003 IR_LOGINFO_LICENSE_ERROR_INVALID_KEY Licensing: Invalid License key.
0x00011004 IR_LOGINFO_LICENSE_ERROR_VENDORID_MISMATCH Licensing: Vendor ID mismatch.
0x00011005 IR_LOGINFO_LICENSE_ERROR_DEVICEID_MISMATCH Licensing: Device ID mismatch.
0x00011006 IR_LOGINFO_LICENSE_ERROR_SUBVENDORID_MISMATCH Licensing: SubVendor ID mismatch.
0x00011007 IR_LOGINFO_LICENSE_ERROR_SUBDEVICEID_MISMATCH Licensing: SubDevice ID mismatch.

Avago Technologies Confidential


- 49 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 11 MPI-2 IOCLogInfo Codes for IR Code Segment (Continued)

Bits[23:0] Name Description


0x00011010 IR_LOGINFO_DEV_REC_VOL_ERR_RV_IN_PROGRESS Recover Volume: Volume already started.
0x00011011 IR_LOGINFO_DEV_REC_VOL_ERR_DEVICE_IN_INVALID_STATE Recover Volume: Volume must be in an Optimal, Active,
and non-Quiesced state.
0x00011012 IR_LOGINFO_DEV_REC_VOL_ERR_NO_TIMERS Recover Volume: Create timer failed.
0x00011013 IR_LOGINFO_DEV_REC_VOL_ERR_INVALID_VOL_HANDLE Recover Volume: Invalid volume device handle.
0x00011014 IR_LOGINFO_DEV_REC_VOL_ERR_NOT_SUPPORTED Recover Volume: RVRA not supported in IT mode.

3.4 MPI-2 IOC Status Codes

The following table lists the MPI-2 IOC Status Codes.

Table 12 MPI-2 IOC Status Codes

Bits [27:0] Name


Common IOCStatus Values for All Replies
0x0000 MPI2_IOCSTATUS_SUCCESS
0x0001 MPI2_IOCSTATUS_INVALID_FUNCTION
0x0002 MPI2_IOCSTATUS_BUSY
0x0003 MPI2_IOCSTATUS_INVALID_SGL
0x0004 MPI2_IOCSTATUS_INTERNAL_ERROR
0x0005 MPI2_IOCSTATUS_INVALID_VPID
0x0006 MPI2_IOCSTATUS_INSUFFICIENT_RESOURCES
0x0007 MPI2_IOCSTATUS_INVALID_FIELD
0x0008 MPI2_IOCSTATUS_INVALID_STATE
0x0009 MPI2_IOCSTATUS_OP_STATE_NOT_SUPPORTED
Config IOCStatus Values
0x0020 MPI2_IOCSTATUS_CONFIG_INVALID_ACTION
0x0021 MPI2_IOCSTATUS_CONFIG_INVALID_TYPE
0x0022 MPI2_IOCSTATUS_CONFIG_INVALID_PAGE
0x0023 MPI2_IOCSTATUS_CONFIG_INVALID_DATA
0x0024 MPI2_IOCSTATUS_CONFIG_NO_DEFAULTS
0x0025 MPI2_IOCSTATUS_CONFIG_CANT_COMMIT
SCSI I/O Reply
0x0040 MPI2_IOCSTATUS_SCSI_RECOVERED_ERROR
0x0042 MPI2_IOCSTATUS_SCSI_INVALID_DEVHANDLE
0x0043 MPI2_IOCSTATUS_SCSI_DEVICE_NOT_THERE
0x0044 MPI2_IOCSTATUS_SCSI_DATA_OVERRUN
0x0045 MPI2_IOCSTATUS_SCSI_DATA_UNDERRUN
0x0046 MPI2_IOCSTATUS_SCSI_IO_DATA_ERROR
0x0047 MPI2_IOCSTATUS_SCSI_PROTOCOL_ERROR
0x0048 MPI2_IOCSTATUS_SCSI_TASK_TERMINATED
0x0049 MPI2_IOCSTATUS_SCSI_RESIDUAL_MISMATCH

Avago Technologies Confidential


- 50 -
SAS Generation 3 Error Codes Systems Engineering Note MPI-2 Reply Message Codes for SAS-3
February 2015

Table 12 MPI-2 IOC Status Codes (Continued)

Bits [27:0] Name


0x004A MPI2_IOCSTATUS_SCSI_TASK_MGMT_FAILED
0x004B MPI2_IOCSTATUS_SCSI_IOC_TERMINATED
0x004C MPI2_IOCSTATUS_SCSI_EXT_TERMINATED
For use by SCSI Initiator and SCSI Target End-to-End Data Protection
0x004D MPI2_IOCSTATUS_EEDP_GUARD_ERROR
0x004E MPI2_IOCSTATUS_EEDP_REF_TAG_ERROR
0x004F MPI2_IOCSTATUS_EEDP_APP_TAG_ERROR
SCSI Target Values
0x0062 MPI2_IOCSTATUS_TARGET_INVALID_IO_INDEX
0x0063 MPI2_IOCSTATUS_TARGET_ABORTED
0x0064 MPI2_IOCSTATUS_TARGET_NO_CONN_RETRYABLE
0x0065 MPI2_IOCSTATUS_TARGET_NO_CONNECTION
0x006A MPI2_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH
0x006D MPI2_IOCSTATUS_TARGET_DATA_OFFSET_ERROR
0x006E MPI2_IOCSTATUS_TARGET_TOO_MUCH_WRITE_DATA
0x006F MPI2_IOCSTATUS_TARGET_IU_TOO_SHORT
0x0070 MPI2_IOCSTATUS_TARGET_ACK_NAK_TIMEOUT
0x0071 MPI2_IOCSTATUS_TARGET_NAK_RECEIVED
Serial Attached SCSI Values
0x0090 MPI2_IOCSTATUS_SAS_SMP_REQUEST_FAILED
0x0091 MPI2_IOCSTATUS_SAS_SMP_DATA_OVERRUN
Diagnostic Buffer Post/Diagnostic Release Values
0x00A0 MPI2_IOCSTATUS_DIAGNOSTIC_RELEASED
RAID Accelerator Values
0x00B0 MPI2_IOCSTATUS_RAID_ACCEL_ERROR
IOCStatus Flag to Indicate that Log Information is Available
0x8000 MPI2_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE

3.5 MPI-2 IOCLogInfo Types

The following table lists the MPI-2 LogInfo Types.

Table 13 MPI-2 IOCLogInfo Types

Bits [31:28] IOCLogInfo Types


0x0000 MPI2_IOCLOGINFO_TYPE_NONE
0x0001 MPI2_IOCLOGINFO_TYPE_SCSI
0x0002 MPI2_IOCLOGINFO_TYPE_FC
0x0003 MPI2_IOCLOGINFO_TYPE_SAS
0x0004 MPI2_IOCLOGINFO_TYPE_ISCSI

Avago Technologies Confidential


- 51 -
SAS Generation 3 Error Codes Systems Engineering Note DDR Fault Code Information
February 2015

4 DDR Fault Code Information

The following table lists the DDR fault codes for the firmware GCA phases 1, 2, and 3.

Table 14 DDR Fault Codes

Code Name Description


0x9000 IFAULT_DDR_UNHANDLED_INTERRUPT Encountered an unhandled interrupt.
0x9001 DDRINIT_FAULT_UNKNOWN_MR2_SRT Unknown Self-Refresh-Temperature (SRT) type for Mode
Register 2 (MR2).
0x9002 DDRINIT_FAULT_UNKNOWN_DIMM_TYPE Unable to determine if DIMM is registered or not.
0x9003 DDRINIT_FAULT_PS_MEM_CLK_CYCLE_CONV_ERROR DDR DIMM Serial Presence Detect (SPD) math overflow when
converting to memory pico-second clock cycles.
0x9004 DDRINIT_FAULT_NS_MEM_CLK_CYCLE_CONV_ERROR DDR DIMM SPD math overflow when converting to memory
nano-second clock cycles.
0x9005 DDRINIT_FAULT_UNSUPPORTED_NUM_RANKS Only 1 or 2 ranks are supported at this time.
0x9006 DDRINIT_FAULT_MC_CONFIG_UNSUPPORTED_NUM_RANKS Unsupported number of ranks.
0x9007 DDRINIT_FAULT_UNSUPPORTED_MEM_SIZE Reserved: Unsupported memory size.
0x9008 DDRINIT_FAULT_UNSUPPORTED_ECC_MODE Unsupported ECC mode.
0x9009 DDRINIT_FAULT_UNSUPPORTED_TCL Unsupported TCL (CAS Latency). CL-desired is more than
max-CL supported by hardware.
0x900A DDRINIT_FAULT_TCL_ERROR Unsupported TCL. The value tCL is not 8 and not in Mode
Register 0 (MR0).
0x900B DDRINIT_FAULT_HIGHER_CL_NOT_FOUND Find CL: CL-desired not supported, no higher value found.
0x900C DDRINIT_FAULT_UNSUPPORTED_WRLAT Reserved. Hardware does not support write latency.
0x900D DDRINIT_FAULT_MC_INT_STATUS_NON_ZERO Memory Controller (MC) interrupt status is non-zero.
0x900E DDRINIT_FAULT_DFI_WR_LVL_FAIL Write leveling failed. Unexpected state. Equal number of 1'b0
and 1'b1 Sw-Lvl-Resp across all iterations.
0x900F DDRINIT_FAULT_DFI_WR_LVL_FAIL_NO_ONE Walked all write-leveling delays and never saw a one.
0x9010 DDRINIT_FAULT_DFI_WR_LVL_FAIL_NO_ZERO Walked all write-leveling delays and never saw a zero.
0x9011 DDRINIT_FAULT_DFI_WR_LVL_FAIL_UNKNOWN_STATE Reserved. Write leveling failed.
0x9012 DDRINIT_FAULT_DFI_WR_LVL_FAIL_UNEXPECTED_VALUE Unexpected write-leveling value while reading PHY
response.
0x9013 DDRINIT_FAULT_DFI_GATE_TRAIN_FAIL Reserved. Gate training failed.
0x9014 DDRINIT_FAULT_DFI_READ_LEVEL_FAIL Reserved. Read leveling failed.
0x9015 DDRINIT_FAULT_DFI_RD_LVL_FAIL_NO_DELAY_RESP_NOT_ONE Read leveling failed. Response with no delay must be one.
0x9016 DDRINIT_FAULT_DFI_RD_LVL_FAIL_POS_EDGE_NO_ZERO_RESP Read leveling failed. No 0 responses found on positive edge.
0x9017 DDRINIT_FAULT_DFI_RD_LVL_FAIL_POS_EDGE_NO_ONE_RESP Read leveling failed. No 1 responses found on positive edge.
0x9018 DDRINIT_FAULT_DFI_RD_LVL_FAIL_DP_MISMATCH Read leveling failed. One of the DP responses did not match.
0x9019 DDRINIT_FAULT_DFI_RD_LVL_FAIL_INCORRECT_DP_WIGGLE Read leveling failed. Either one or all DP responses must
wiggle.
0x901A DDRINIT_FAULT_DFI_RD_LVL_FAIL_NO_DELAY_RESP_NOT_ZERO Read leveling failed. Response at delay of zero must be zero.
0x901B DDRINIT_FAULT_DFI_RD_LVL_FAIL_DELAY_EXHAUSTED Read leveling failed. Cannot attempt further read leveling.
0x901C DDRINIT_FAULT_DFI_RD_LVL_FAIL_NEG_EDGE_NO_ONE_RESP Read leveling failed. No 1 responses found on negative edge.
0x901D DDRINIT_FAULT_DFI_RD_LVL_FAIL_NEG_EDGE_NO_ZERO_RESP Read leveling failed. No 0 response found on negative edge.
0x901E DDRINIT_FAULT_DFI_RD_LVL_FAIL_POS_EDGE_NIBBLE_MISMATCH Read leveling failed. Nibble mismatch on positive edge.

Avago Technologies Confidential


- 52 -
SAS Generation 3 Error Codes Systems Engineering Note DDR Fault Code Information
February 2015

Table 14 DDR Fault Codes (Continued)

Code Name Description


0x901F DDRINIT_FAULT_DFI_RD_LVL_FAIL_NEG_EDGE_NIBBLE_MISMATCH Read leveling failed. Nibble mismatch on negative edge.
0x9020 DDRINIT_FAULT_UNKNWON_RTT_NOM Unknown RTT (nominal) setting.
0x9021 DDRINIT_FAULT_UNKNWON_RTT_NOM_TO_SET_IN_MR1 DDRIF error. Unknown RTT (nominal) setting for Mode
Register 1 (MR1).
0x9022 DDRINIT_FAULT_UNKNOWN_RTT_RW Unknown RTT_WR (write) setting.
0x9023 DDRINIT_FAULT_UNKNOWN_RTT_RW_TO_SET_IN_MR2 DDRIF ERROR. Unknown RTT_WR (write) setting for Mode
Register 2 (MR2).
0x9024 DDRINIT_FAULT_UNSUPPORTED_CS_MAP Unsupported number of bits asserted in the chip-select map.
0x9025 DDRINIT_FAULT_UNSUPPORTED_WIDTH Unsupported DIMM module width.
0x9026 DDRINIT_FAULT_UNSUPPORTED_SDRAM_DEV_WIDTH Unsupported SPD module organization.
0x9027 DDRINIT_FAULT_UNSUPPORTED_BUS_WIDTH Unsupported SPD module memory bus width.
0x9028 DDRINIT_FAULT_UNSUPPORTED_MEM_FREQ Unsupported memory module frequency.
0x9029 DDRINIT_FAULT_GATE_TRAINING_STYLE Reserved. Gate training failed.
0x902A DDRINIT_FAULT_UNSUPPORTED_RANK Unsupported rank number.
0x902B DDRINIT_FAULT_READ_LEVELING_STYLE Reserved. Invalid read-latency style.
0x902C DDRINIT_FAULT_READ_LEVELING_STYLE_2 Reserved. Invalid read-latency style.
0x902D DDRINIT_FAULT_UNSUPPORTED_DFI_RL Reserved. Unsupported DFI read leveling.
0x902E DDRINIT_FAULT_WL_UNKNOWN_STATE Reserved. Unsupported write-leveling state.
0x902F DDRINIT_FAULT_WL_STYLE Reserved. Unsupported write-leveling style.
0x9030 DDRINIT_FAULT_UNSUPPORTED_DQ_DELAYS Reserved. Unsupported DQ delays.
0x9031 DDRINIT_FAULT_UNSUPPORTED_XFER_SIZE Unsupported transfer size. Size is too large.
0x9032 DDRINIT_FAULT_WLA_UNSUPPORTED_DELAY WLA ECC failed because the delay is beyond the range of the
delay line.
0x9033 DDRINIT_FAULT_WLA_DELAY_OUT_OF_RANGE WLA failed because the delay is beyond the range of the
delay line.
0x9034 DDRINIT_FAULT_UNKNOWN_SPD_VOLTAGE Unknown supplied SPD voltage.
0x9035 DDRINIT_FAULT_UNSUPPORTED_SPD_TABLE_NUM Unsupported SPD table number.
0x9036 DDRINIT_FAULT_X4_NOT_SUPPORTED x4 devices are not supported.
0x9037 DDRINIT_FAULT_WLA_DELAY_MISMATCH Write-leveling upper and lower nibbles are not equal.
0x9038 DDRINIT_FAULT_WLA_DATA_LANE_DELAY_MISMATCH DQ data nibble delays are different within section.
0x9039 DDRINIT_FAULT_WLA_ECC_LANE_DELAY_MISMATCH DQ ECC nibble delays are different within section.
0x903A DDRINIT_FAULT_INCORRECT_SPD_VERSION Unsupported JEDEC® SPD revision; only production values
are supported.
0x903B DDRINIT_FAULT_PREAMBLE_FAILURE Unable to find the DQS preamble on one or more lanes.
0x903C DDRINIT_FAULT_SING_CECC_FAIL_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller ECC single-bit,
correctable error detected.
0x903D DDRINIT_FAULT_SINGLE_CECC_SCRUB_FAILURE Unexpected bits are set. Memory controller ECC single-bit,
correctable error detected.
0x903E DDRINIT_FAULT_SING_UECC_FAIL_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller ECC single-bit,
uncorrectable error detected.
0x903F DDRINIT_FAULT_SING_UECC_FAILURE Unexpected bits are set. Data corruption has occurred and
unable to scrub the memory to fix this failure.
0x9040 DDRINIT_FAULT_MULTI_CECC_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller ECC many-bit,
correctable error detected.

Avago Technologies Confidential


- 53 -
SAS Generation 3 Error Codes Systems Engineering Note DDR Fault Code Information
February 2015

Table 14 DDR Fault Codes (Continued)

Code Name Description


0x9041 DDRINIT_FAULT_MULTI_CECC_FAILURE Unexpected bits are set. Data corruption has occurred and
unable to scrub the memory to fix this failure.
0x9042 DDRINIT_FAULT_MULTI_CECC_SCRUB_FAILURE Unexpected bits are set. Data corruption has occurred and
unable to scrub the memory to fix this failure.
0x9043 DDRINIT_FAULT_MULTI_UECC_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller ECC many-bit,
uncorrectable error detected.
0x9044 DDRINIT_FAULT_MULTI_UECC_FAILURE Unexpected bits are set. Data corruption has occurred and
unable to scrub the memory to fix this failure.
0x9045 DDRINIT_FAULT_CMD_CHANNEL_ECC_FAILURE Unexpected bits are set. Memory controller ECC command
channel error detected.
0x9046 DDRINIT_FAULT_CMD_CHANNEL_ECC_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller ECC command
channel error detected.
0x9047 DDRINIT_FAULT_DATA_CHANNEL_ECC_FAILURE Unexpected bits are set. Memory controller ECC command
channel error detected.
0x9048 DDRINIT_FAULT_DATA_CHANNEL_ECC_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller ECC data channel
error detected.
0x9049 DDRINIT_FAULT_ECC_SING_OOA_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller out-of-address
range single error detected.
0x904A DDRINIT_FAULT_SING_OOA_ECC_FAILURE Unexpected bits are set. Memory controller out-of-address
range single error detected.
0x904B DDRINIT_FAULT_ECC_MULTI_OOA_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller out-of-address
range many errors detected.
0x904C DDRINIT_FAULT_MULTI_OOA_ECC_FAILURE Unexpected bits are set. Memory controller out-of-address
range many errors detected.
0x904D DDRINIT_FAULT_ECC_FAILURE No interrupt status (int-stat) bits were set, bogus memory
controller interrupt detected.
0x904E DDRINIT_FAULT_UNKNOWN_ECC_MODE Unknown memory controller ECC mode.
0x904F DDRINIT_FAULT_UNKNOWN_ECC_MODE_TO_SET Unknown ECC mode.
0x9050 DDRINIT_FAULT_UNKNOWN_ECC_LANE Reserved. Unknown ECC lane.
0x9051 DDRINIT_FAULT_UNKNOWN_DP_NUM Unknown data path number specified.
0x9052 DDRINIT_FAULT_UNSUPPORTED_NUM_BANKS Only SDRAMs with 8 banks are supported for DDR3.
0x9053 DDRINIT_FAULT_SW_LVL_NOT_COMPLETE_DURING_START Software leveling action has not completed.
0x9054 DDRINIT_FAULT_SW_LVL_NOT_COMPLETE_DURING_LOAD Software leveling action has not completed.
0x9055 DDRINIT_FAULT_SW_LVL_NOT_COMPLETE_DURING_EXIT Software leveling action has not completed.
0x9056 DDRINIT_FAULT_UNKNOWN_SECTION_NUM Unknown section number.
0x9057 DDRINIT_FAULT_UNKNOWN_REVISION Reserved.
0x9058 DDRINIT_FAULT_UNKNOWN_ODS_FOR_MR1 Unknown output drive strength (ODS) type for Mode
Register 1 (MR1).
0x9059 DDRINIT_FAULT_UNKNOWN_QOFF_FOR_MR1 Unknown Qoff type for Mode Register 1 (MR1).
0x905A DDRINIT_FAULT_UNKNOWN_SYNDROME_STATE Unknown syndrome decode state.
0x905B DDRINIT_FAULT_MEMPORT_ERR Memory port error. Parity or DIMM temperature sensor event.
0x905C DDRINIT_FAULT_SPD_CRC_ERROR CRC check for SPD data failed.
0x905D DDRINIT_FAULT_SPD_UNDEFINED_VALUE Zero is unsupported in byte 0 of SPD data.
0x905E DDRINIT_FAULT_SPD_UNKNOWN_VALUE Undefined is unsupported in byte 0 of SPD data.

Avago Technologies Confidential


- 54 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

Table 14 DDR Fault Codes (Continued)

Code Name Description


0x905F DDRINIT_FAULT_SPD_UNKNOWN_ADDR_DECODE_FOR_ROW Unknown SPD byte 5. SDRAM addressing decode for row
bits.
0x9060 DDRINIT_FAULT_SPD_UNKNOWN_ADDR_DECODE_FOR_COL Unknown SPD byte 5. SDRAM addressing decode for column
bits.
0x9061 DDRINIT_FAULT_SPD_UNKNOWN_BANKS Unknown SPD byte 4. Unknown SDRAM banks.
0x9062 DDRINIT_FAULT_SPD_ADDRESS_MIRROR_REG_DIMM Unknown SPD byte 4. Unknown mirror register SDRAM
banks.
0x9063 DDRINIT_FAULT_WL_JITTER Reserved. Detected jitter for write leveling.
0x9064 DDRINIT_FAULT_ECC_LEVELING Reserved.
0x9065 DDRINIT_FAULT_MC_INIT Refresh cycles between zqcs commands larger than mask.
0x9066 DDRINIT_FAULT_EXT_TEMP_NOT_SUPPORTED High temperature refresh rate selected, but extended
Self-Refresh-Temperature (SRT) is not supported by DIMM.
0x9067 DDRINIT_FAULT_UNKNOWN_ODS Unknown DIMM Output-Drive-Strength (ODS) setting.
0x9068 DDRINIT_FAULT_READ_FIFO_TRAIN_DFI_RL_CALC_FAIL Cannot convert mc-dfi-rl value of zero to phy-dfi-rl.
0x9069 DDRINIT_FAULT_READ_FIFO_TRAIN_PHY_DFI_RL_OUT_OF_RANGE Start-of-day DFI-RL value does not fit into PHY/MC regs. CAS
value too large.
0x906A DDRINIT_FAULT_READ_FIFO_TRAIN_UNKNOWN_SWEEP_DIRECTION Unknown sweep direction.
0x906B DDRINIT_FAULT_READ_FIFO_TRAIN_SWEEP_START_OUT_OF_RANGE Starting value for sweep is too high. It is larger than
max-dfirl-delay.
0x906C DDRINIT_FAULT_READ_FIFO_TRAIN_TRANSFER_SIZE_ERROR DFI RL training size larger than ddrinit-calibration-mem-size
from iop.
0x906D DDRINIT_FAULT_READ_FIFO_TRAIN_PHY_RDLAT_ERROR An error occurred during read FIFO training.
0x906E DDRINIT_FAULT_READ_FIFO_TRAIN_ALG_ASSUMPTION_FAIL Algorithm assumption failure. Initial sweep value must be in
functional window to find edges.
0x906F DDRINIT_FAULT_READ_FIFO_TRAIN_RL_ZERO_ERROR Unable to decrement read leveling further.
0x9070 DDRINIT_FAULT_READ_FIFO_TRAIN_UNEXPECTED_SWEEP_DIRECTION Unexpected sweep direction.
0x9071 DDRINIT_FAULT_READ_FIFO_TRAIN_UNEXPECTED_MAX_PHY_DFI_RL Unexpected max phy-dfi-rl value. It is larger than maximum
defined value.
0x9072 DDRINIT_FAULT_READ_FIFO_TRAIN_MIN_WORK_VALUE_ERROR Unable to find minimum value where everything worked.
0x9073 DDRINIT_FAULT_READ_FIFO_TRAIN_DATA_FINAL_RESULT_ERROR Data lanes training error. Final result did not pass.
0x9074 DDRINIT_FAULT_READ_FIFO_TRAIN_ECC_FINAL_RESULT_ERROR ECC lane error. Final result did not pass.
0x9075 DDRINIT_FAULT_INVALID_PARAMETER_LP_MODE_ERROR The caller passed in an incorrect parameter to
ddriSetupEntryLpMode.
0x9076 DDRINIT_FAULT_WRITE_DATA_PARITY_FAILURE Memory controller write data parity error detected.
0x9077 DDRINIT_FAULT_WRITE_DATA_PARITY_UNEXPECTED_BIT_SET Unexpected bits are set. Memory controller write data parity
error detected.
0x9078 DDRINIT_FAULT_INVALID_PARAMETER_FORCE_ECC_ERROR An incorrect parameter was passed to an ECC/Syndrome
translation routine.

5 LSISAS3108 Controller Internal Errors

This section describes the LSISAS3108 controller internal errors.

Avago Technologies Confidential


- 55 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

5.1 Overview

The following figure depicts the top-level block diagram of the LSISAS3108 controller. It comprises the I/O blocks and
the processing engines and shows the bus connections between the different controller blocks. These buses are used
for communication within each block and also between different blocks. Error check is implemented in each I/O block
and memory block:
 Parity protects memory, buffer, and cache internal to the controller.
 CRC error protection is provided in the SAS and PCIe region.
 Error protection is provided in the flash region.
 DDR memory controller protects the DDR memory with ECC.
 Parity protects internal buses to ensure the internal transaction error is detected.

Figure 1 Overview

/HJHQG
1RWH ([WHUQDO0HPRU\3HULSKHUDOV 8$57
[ 3DULW\[[[[ ,GHQWLILHVORJLFZKHUHSDULW\LVJHQHUDWHGRUFKHFNHG $OO3/%&RQWUROSDWKVDUHFRYHUHGE\SDULW\
,&
$OO3DULW\LVE\WHSDULW\ 6LJQDWXUH&KHFNV
[ 3DULW\[[[[ ,GHQWLILHVORJLFRIZKHUHGDWDEORFNVDUHFRYHUHGE\D&5&
1965$0
[ [[[[[[ ,GHQWLILHVORJLFFRYHUHGE\PXOWLSOHLQWHJULW\VFKHPHV
QDPH! ,GHQWLILHVDSK\VLFDO5$0
3/%$WWDFK )ODVK
QDPH! )ODVK
)ODVK
,GHQWLILHVDEORFNZKRVHGDWDLVFRYHUHGE\DQ(&&
QDPH! ,GHQWLILHVORJLFLPSOHPHQWLQJGDWDLQWHJULW\GHILQHGE\/6,
)LUPZDUH
QDPH! ,GHQWLILHVORJLFLPSOHPHQWLQJ7(('3ORJLF *HQHUDWHG&5&

&38&RPSOH[ 5$,''0$;25 ,2$FFHOHUDWRU

7UDFH%XIIHU '0$ &KN*HQ '0$ &KN*HQ '0$


&KN*HQ
&KN*HQ &KN*HQ
&KN*HQ &XGD 2WKHU
&KN
&KN &KN
&KN
&KN &KN 7UDFH 2WKHU 2WKHU
'0$
'0$ '0$
'0$ 5$0 5$0 5$0
'0$
%XIIHU '0$
%XIIHU
/ / / / %XIIHU
%XIIHU %XIIHU
%XIIHU
33& 33&
,&DFKH '&DFKH ,&DFKH '&DFKH

&RQILJ &KN &RQILJ &KN


&KN &KN
/58$UUD\ /'DWD7DJ /58$UUD\ /'DWD7DJ 3/%6KHOO$WWDFK 3/%6KHOO$WWDFK
*HQ *HQ

,23 3/%%XV
6+(//'DWD3DWKV

3&,H&RUH
3/%6KHOO$WWDFK
&RQWH[W5$0 6$6&RUH 0HPRU\&RQWUROOHU
)UDPH'DWD
6KHOO%XIIHU

6KHOO%XIIHU

6KHOO%XIIHU

6KHOO%XIIHU
5HSO\),)2
32%%XIIHU

3/%'DWD
3/%$WWDFK 3/%6KHOO$WWDFK 3/%6KHOO$WWDFK

&RQILJ
&RQILJ &KN &RQILJ &KN

&RQWH[W0HPRU\7LOH &KN*HQ 7[ 5[
6KHOO3RUW & & &
'DWDSDWK 'DWDSDWK &KN $UELWHU
&RQWH[W0HPRU\7LOH &KN*HQ '0$ &KN
&KN &KN /&DFKH
'0$
'0$ &KN &KN
%XIIHU
%XIIHU '0$ 3DULW\*HQ 7UDQVSRUW/D\HU
&RQWH[W0HPRU\7LOH &KN*HQ %XIIHU '0$
'0$
'0$ %XIIHU
'0$ /58$UUD\ 43 3DULW\&KHFN
&KN
&KN '0$ '0$
%XIIHU
&KN %XIIHU
%XIIHU %XIIHU /'DWD &KN
&KN*HQ %XIIHU %XIIHU (&5&*HQ (&5&&KHFN
&KN*HQ
&KN*HQ &KN 7DJ *HQ
6KHOO3RUW
6KHOO3RUW
6KHOO3RUW 3DULW\&KHFN
3RUW/D\HU 5HSOD\%HT%XI 3&,H3+< 3DULW\&KHFN
&KN6WULS /&5&*HQ /&5&&KHFN
0HPRU\&RQWUROOHU 1$1')ODVK
(&&*HQ&KHFN &RQWUROOHU
3DULW\&KHFN &5&&KHFN
6$6/LQN3+< 3DULW\&KHFN 3,3( 3DULW\*HQ
&5&*HQ 3DULW\*HQ

6$6,QWHUIDFH &5&EE ''5 (&&5',00 21),7RJJOH (&& 3&,H /&5&(&5&EE


&RPPDQG3DULW\ &5&&KHFNVXP B

Avago Technologies Confidential


- 56 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

5.2 Internal Error: 0x265B

This section describes the L2 cache internal errors that correspond to the firmware fault code 0x265B.

Table 15 0x265B Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
Intervention data Intervention data parity error from WDF  
parity error  
 
Write data parity Write data parity error from WDF
 
error
 
Read data parity External PLB6 read data parity error The machine The machine check
error check is enabled is enabled and the
and the interrupt interrupt is disabled
RDF data parity RDF data parity error
is disabled
error
WDF data parity WDF data parity error
error
Tag array L2 cache tag array uncorrectable error way
uncorrectable error
Data array L2 cache data array uncorrectable error double word
uncorrectable error
LRU array parity L2 cache LRU array parity error  
error  
The machine The machine check
Tag array L2 cache tag array correctable error way
check is disabled is disabled and the
correctable error
and the interrupt interrupt is enabled
Data array L2 cache data array correctable error double word is enabled
correctable error
double word
IrReq parity error Parity error on C476_L2CIRDREQPARITY  
 
DrReq parity error Parity error on C476_L2CDRDREQPARITY
 
Reservation unit Reservation unit address parity error field  
address parity error  
The machine The machine check
Load address buffer Load address buffer parity error
check is enabled is enabled and the
parity error
and the interrupt interrupt is disabled
Store address buffer Store address buffer parity error is disabled
parity error
NC store address NC store address buffer parity error
buffer parity error
Castout address Castout address buffer parity error
buffer parity error

Avago Technologies Confidential


- 57 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

5.3 Internal Error: 0x0820

This section describes the OCM internal errors that correspond to the firmware fault code 0x820.

Table 16 0x0820 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
PLB slave 0 write A write parity error occurred  
parity error  
 
PLB slave 0 read A correctable ECC error occurred during a read operation
 
correctable ECC
 
error
 
PLB slave 0 read An uncorrectable ECC error occurred during a read operation  
uncorrectable ECC  
error  
 
PLB slave 0 A correctable ECC error occurred during the read portion of
 
correctable ECC read, modify, or write operations
 
error
 
PLB slave 0 An uncorrectable ECC error occurred during the read portion  
uncorrectable ECC of read, modify, or write operations Enabled Enabled
error
Write error on PLB A write error on the PLB bus is asserted
bus
PLB slave 1 write A write parity error occurred
parity error
PLB slave 1 read A correctable ECC error occurred during a read operation
correctable ECC
error
PLB slave 1 read An uncorrectable ECC error occurred during a read operation
uncorrectable ECC
error
PLB slave 1 A correctable ECC error occurred during the read portion of
correctable ECC read, modify, or write operations
error
PLB slave 1 An uncorrectable ECC error occurred during the read portion
uncorrectable ECC of read, modify, or write operations
error
Write error on PLB A write error on the PLB bus is asserted
bus

5.4 Internal Error: 0x2627

This section describes the PCIe internal errors that correspond to the firmware fault code 0x2627.

Table 17 0x2627 Error Description

Hardware IT/IR Firmware


Error Description
Default Setting Setting
RAM parity error Indicates the occurrence of a parity error, while the interrupt Disabled Disabled
processor reads from the MSIx vector table RAM

Avago Technologies Confidential


- 58 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

5.5 Internal Error: 0x2662 and 0x2664

This section describes the PCIe internal errors that correspond to the firmware fault codes 0x2662 and 0x2664.

Table 18 0x2662 and 0x2664 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
DMA parity error When this bit is set to 1, it indicates that a PCI parity error is Disabled Disabled
detected during a system DMA transfer
 Internal error 0x2662 indicates the occurrence of a parity
error on the host-to-IOC DMA
 Internal error 0x2664 indicates the occurrence of a parity
error on the IOC-to-host DMA

5.6 Internal Error: 0x1500

This section describes the PCIe internal errors that correspond to the firmware fault code 0x1500.

Table 19 0x1500 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
Parity error Indicates a parity error is detected on the read data  
 
NOTE Parity error occurs in the data descriptor error register.  
Parity error Indicates a parity error is detected on the read data  
Disabled Disabled
NOTE Parity error occurs in the generic HS FIFO 0 error register.
Parity error Indicates a parity error is detected on the read data
NOTE Parity error occurs in the generic HS FIFO 1 error register.

Avago Technologies Confidential


- 59 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

5.7 Internal Error: 0x2622

This section describes the PCIe internal errors that correspond to the firmware fault code 0x2622.

Table 20 0x2622 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
Parity error in PCI2Indicates that the PCI2 physical layer detected a parity error in  
physical layer a packet to be sent  
 
PEPP ingress parity The PEPP PCIe transaction layer detected a parity error in a
 
error PCIe packet which is received from the PCIe link layer
 
RXDDLP parity error This bit is set when the RX DDLP parity error occurs  
 
TX PHY parity error This bit is set when the TX PHY parity error occurs
 
Alignment FIFO This bit is set when the alignment FIFO underrun error occurs  
underrun error  
 
Alignment FIFO This bit is set when the alignment FIFO overrun error occurs
 
overrun error
 
RX parity error This bit is set when the RX parity error occurs  
 
Training error This bit is set when the training error occurs
 
Sequence buffer This bit is set when the sequence buffer underflow error Disabled Disabled
underflow error occurs
Sequence buffer This bit is set when the sequence buffer overflow error occurs
overflow error
Retry buffer This bit is set when the retry buffer underflow error occurs
underflow error
Retry buffer This bit is set when the retry buffer overflow error occurs
overflow error
Sequence buffer This bit is set when the sequence buffer parity error occurs
parity error
Retry buffer parity This bit is set when the retry buffer parity error occurs
error
ETP framing error Indicates the egress transaction packet framing error
Parity error Indicates the egress interface parity error

5.8 Miscellaneous PCIe Internal Errors

This section describes the miscellaneous PCIe internal errors

Table 21 Miscellaneous Error Descriptions

Hardware IT/IR Firmware Corresponding


Error Description
Default Setting Setting Firmware Fault Code
Detected parity This bit is set when a poisoned TLP is received   
error   
  
Signalled system This bit is set when an ERR_FATAL or
  
error ERR_NONFATAL is signalled by the controller
Disabled Disabled None
Master data parity  Requestor receives a condition marked
error poisoned
 Requestor poisons a write request

Avago Technologies Confidential


- 60 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

Table 21 Miscellaneous Error Descriptions (Continued)

Hardware IT/IR Firmware Corresponding


Error Description
Default Setting Setting Firmware Fault Code
Non accelerated Indicates an error occurred when accessing one   
FIFO error of the non-accelerated FIFOs   
  
Data descriptor FIFO Indicates an error occurred on the PLB access to
  
error the descriptor soft
  
Reply parity error FIFO   
  
Reply bus fault This error occurs when the messaging unit
  
encounters a PCI bus fault during a reply
Disabled Disabled Not valid when the
operation
MPT mode is used
Diag write error This bit asserts when a write error occurs during a
diagnostic access or when a parity error is
detected during a write access (only a physical
function)
Diag read error This bit asserts when a read error occurs during a
diagnostic access or when a parity error is
detected during a read access (only a physical
function)
AI write parity error AI bus parity error

Avago Technologies Confidential


- 61 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

5.9 Internal Error: 0x800

This section describes the PBAM internal errors that correspond to the firmware fault code 0x800.

Table 22 0x800 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
XMEM parity error Indicates that a parity error is found on the XMEM register  
 
GPIO write parity error Indicates if a write parity error is found in the GPIO functionality
 
AI to AP bridge write Indicates if a write parity error is found in AIA2PB bridge  
parity error  
 
USB0 AI write error Indicates if a AI write error is found
 
USB0 AI read error Indicates if a AI read error is found  
 
USB1 AI write error Indicates if a AI write error is found
 
USB1 AI read error Indicates if a AI read error is found  
 
Ethernet AI write error Indicates if a AI write error is found
 
Ethernet AI read error Indicates if a AI read error is found  
 
TRNG AI write error Indicates if a AI write error is found
 
TRNG AI read error Indicates if a AI read error is found  
 
NFC AI write error Indicates if a AI write error is found
Disabled Disabled
NFC AI read error Indicates if a AI read error is found
Register parity error Indicates the occurrence of a parity error during a PLB write to the
XMEM registers
BD parity error This bit is set when a parity error is detected on a bus device RAM
memory write
NOTE Parity error occurs in the Flash Config/Status register.
BD parity error This bit is set when a parity error is detected on a bus device RAM
memory write
NOTE Parity error occurs in the Chip Select 1 Control/Status register.
BD parity error This bit is set when a parity error is detected on a bus device RAM
memory write
NOTE Parity error occurs in the Chip Select 2 Control/Status register.
BD parity error This bit is set when a parity error is detected on a bus device RAM
memory write
NOTE Parity error occurs in the Chip Select 3 Control/Status register.
BD parity error This bit is set when a parity error is detected on a bus device RAM
memory write
NOTE Parity error occurs in the Chip Select 4 Control/Status register.

Avago Technologies Confidential


- 62 -
SAS Generation 3 Error Codes Systems Engineering Note LSISAS3108 Controller Internal Errors
February 2015

5.10 Miscellaneous PBAM Internal Errors

This section describes the miscellaneous PBAM internal errors.

Table 23 Miscellaneous Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
Error in receiver FIFO This bit is set to 1 when the UART is in FIFO mode, provided there is at  
least one parity error, framing error, or break indication in the FIFO  
Disabled Disabled
Parity error Indicates the received data character does not have a correct even
parity or a correct odd parity

5.11 Internal Error: 0xD033

This section describes the Detroit internal errors that correspond to the firmware fault code 0xD033.

Table 24 0xD033 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
Completor bus Indicates that the FPE completor engine has detected a PLB read parity  
parity error error  
 
Completor xfer When this bit is set to 1, it indicates that the FPE completor engine has
 
error detected a PLB read error or a PLB write error
 
Requestor bus Indicates that the FPE requestor engine has detected a PLB read parity  
parity error error  
 
Requestor xfer error When this bit is set to 1, it indicates that the FPE completor engine has
 
detected a PLB read error or a PLB write error
Disabled Disabled
IOP start parity When this bit is set to 1, it indicates that the FPE requestor engine has
error detected a parity error while reading from the IOP Start Queue
IOP start overflow This bit is set to 1 when a write to the IOP Start Queue occurs when the
error IOP Start Queue is full. The write operation is ignored and it does not
influence the I/Os already submitted, but the error condition is captured
FPE completor error Indicates that the FPE completor engine has entered an error state and
remains in its error state (and will not process completions for any device)
until reset or instructed to abandon the current I/O and continue the
processing of completions

5.12 Internal Error: 0xD064

This section describes the Detroit internal errors that correspond to the firmware fault code 0xD064.

Table 25 0xD064 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
FPE requestor Indicates that the FPE completor engine entered an error state and remains in its Disabled Disabled
error error state (no completions are processed for any device) until reset or instructed
to abandon the current I/O and continue the processing of completions.

Avago Technologies Confidential


- 63 -
SAS Generation 3 Error Codes Systems Engineering Note Acronyms
February 2015

5.13 Internal Error: 0xD040

This section describes the I/O accelerator internal errors that correspond to the firmware fault code 0xD040.

Table 26 0xD040 Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
Timer wheel RAM parity error Indicates that a timer wheel RAM parity error occurred  
Disabled Disabled
Timer timeout Indicates that a timeout occurred
Overflow Indicates that a timer overflow occurred

5.14 Internal Error: 0xD20B

This section describes the I/O accelerator internal errors that correspond to the firmware fault code 0xD20B.

Table 27 0xD20B Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
Trace parity error When this bit is set to 1, the trace buffer state machine detected a parity Disabled Disabled
error while reading the Trace Buffer RAM (Trace parity check is enabled)

5.15 Internal Error: 0xD20C

This section describes the I/O accelerator internal errors that correspond to the firmware fault code 0xD20C.

Table 28 0xD20C Error Descriptions

Hardware IT/IR Firmware


Error Description
Default Setting Setting
DMA parity error When this bit is set to 1, the Trace DMA state machine detected a parity Disabled Disabled
error while reading the Trace Buffer RAM (Trace parity check is enabled)

6 Acronyms

The following table lists the acronyms used in this document.

Table 29 List of Acronyms

Acronym Definition
AI Arbiter Interface, Address Increment
ATA Advanced Technology Attachment
CCOH CacheCade® on Host
CDB Command Descriptor Block
DCR Device Control Register
DDR Double Data Rate
DFI DDR Phy Interface

Avago Technologies Confidential


- 64 -
SAS Generation 3 Error Codes Systems Engineering Note Acronyms
February 2015

Table 29 List of Acronyms (Continued)

Acronym Definition
DIMM Dual Inline Memory Module
DMA Direct Memory Access
ECC Error Correction Code
EEDP End-to-End Data Protection
EPOW Early Power-Off Warning
FIFO First-In, First-Out
FIQ Fast interrupt
FM Frame, Frame Manager
FP Fast Path
FPDMA First Party DMA
FPE Fast Path Engine
GCA General Customer Availability
GPIO General-Purpose I/O
GSN Golden Sequence Number
HBD Host-Based Discovery
IIC Inter-Integrated Circuit
I/O Input/Output
IOC I/O Controller
IR Integrated RAID
ISTWI Industrial Standard Two-Wire Interface
IT Initiator Target
LBA Logical Block Address
LDF Logical Disk Format
LRU Least Recently Used
MC Memory Controller
MID Message ID
MIRQ Memory Interrupt Request
MP Memory Port
MPI Message Passing Interface
MPT Message Passing Technology
MRx Mode Register x
MST MID State Table
MSIx Message Signaled Interrupts x
MUR Message Unit Reset
NCQ Native Command Queuing
NVDATA Non-Volatile Data
NVSRAM Non-Volatile Random Access Memory
OCM On-Chip Memory
ODS Output Drive Strength
PBAM Peripheral Bus Access Module

Avago Technologies Confidential


- 65 -
SAS Generation 3 Error Codes Systems Engineering Note Acronyms
February 2015 Revision History

Table 29 List of Acronyms (Continued)

Acronym Definition
PCI Peripheral Component Interconnect
PI Protection Information
PL Protocol Layer
PLB Processor Local Bus
PSC PLB Slave Configuration
PSM PLB Slave Memory-controller
RAID Redundant Array of Independent Disks
RAM Random Access Memory
RDF Read Data Flow
ROM Read-Only Memory
RTT Trace Termination Resistor
RVRA RECOVER_VOLUME RAID Action
SAS Serial-Attached SCSI
SATA Serial ATA
SBR Serial Boot Read-Only Memory
SCSI Small Computer Systems Interface
SEP SCSI Enclosure Processor
SES SCSI Enclosure Services
SGE Scatter-Gather Element
SGL Scatter-Gather List
SGPIO Serial General-Purpose I/O
SMP Serial Management Protocol
SOD Start of Day
SPD Serial Presence Detect
SRT Self-Refresh Temperature
STP SATA Tunneling Protocol
TCL Time Column Address Strobe Latency
TLB Translation Look-aside Buffer
TLP Transaction Layer Packet
UIC Universal Interrupt Controller
UART Universal Asynchronous Receiver/Transmitter
WLA Write-Leveling Adjustment
WDF Write Data Flow
WWID World Wide ID

Revision History

The following changes were made to Version 1.3, February 2015, of this document:
 Updated references in Section 1, References.
 Added Section 3, MPI-2 Reply Message Codes for SAS-3

Avago Technologies Confidential


- 66 -
SAS Generation 3 Error Codes Systems Engineering Note Acronyms
February 2015 Revision History

 Updated Table 1:
— Added fault codes 0x2810, 1D02, 0x0709, 0x0708, 0x070A, 0x030A, 0x001A, 0x0019
— Updated fault code description for fault codes 0x1CA0 through 0x1CA4, 0x0306
 Updated Table 2:
— Added fault codes 0x6210, 0x6220, 0x6221, 0x6222, 0x6230, 0x682C, 0x7003, 0x7C21, 0x7C23, 0xD136,
0xD140, 0xE400 through 0xE40E, 0xE450 through 0xE454, 0xE460, 0xE5A0 through 0xE5A4, 0xEBFF, 0xEC00,
0xEC04, 0xEC06 through 0xEC0B, 0xEC0D, 0xEC0E, 0xEC10 through 0xEC13, 0xEC17, 0xEC18, 0xEC19, 0xEC1D
through 0xEC25, 0xECA1, 0xECA4, 0xED00, 0xED01, 0xED02, 0xEE01 through 0xEE04
 Updated code 0x8316 description in Table 3.
 Updated Table 5:
— Added fault codes 0x00010501, 0x00030800
— Updated fault code name and description for fault codes 0x00000001, 0x00000002, 0x00000004, 0x00000008
 Updated Table 9:
— Added fault codes 0x00000800 through 0x0000080C, 0x00070000, 0x00070001, 0x00220010, 0x00220012
— Updated fault code description for fault codes
 Updated Table 11:
— Added fault codes 0x00010081
— Updated fault code description for fault codes 0x0010071
 Template change
The following changes were made to Version 1.2, January 2014, of this document:
 Deleted Section 3, MPI-2 Reply Message Codes for SAS-2.
 Added Section 5, LSISAS3108 Controller Internal Errors.
The following changes were made to Version 1.1, October 2013, of this document:
 Updated references in Section 1, References.
 Updated Table 1:
— Added fault codes 0x0016 to 0x0018, 0x0820, 0x0A05, 0x1403, 0x1801, 0x1820, 0x1CA0 to 0x1CA4, 0x2626 to
0x2628, 0x26A0 to 0x26A2, 0x26B4, 0x26B5
— Changed fault code 0x0306 to IFAULT_IOP_MAXIMUM_MEM_REGIONS_EXCEEDED
— Removed fault codes 0x0612, 0x1906
— Updated fault code description for fault code 0x130F
 Updated Table 2:
— Added fault codes 0x4462 to 0x4465, 0x4A02, 0x5005, 0x5118, 0x5121, 0x584D, 0x58A1, 0x58B6 to 0x58BC,
0x601F, 0x610F, 0x6111, 0x6B07, 0x6B08, 0x6D00, 0x7000 to 0x7002, 0x7830 to 0x7832, 0x7C46, 0xD053,
0xD114 to 0xD116
— Updated fault code description for fault codes 0x58B4, 0x5863
 Updated Table 14:
— Revised introduction
— Unreserved code 0x903B
— Added codes 0x9075, 0x9076, 0x9077
 Updated Table 5:
— Added codes 0x00000010, 0x00000020, 0x00000040, 0x00000080, 0x00000100, 0x00000200, 0x00000400,
0x00010408 to 0x0001040F
 Updated Table 6:
— Added codes 0x00240006, 0x00250000
 Updated Table 7:
— Added code 0x00230009

Avago Technologies Confidential


- 67 -
SAS Generation 3 Error Codes Systems Engineering Note Acronyms
February 2015 Revision History

 Updated Table 8:
— Added code 0x00000443
 Updated Table 10:
— Added codes 0x00010046, 0x0001004B, 0x00010072, 0x00010073, 0x00011000 to 0x00011007, 0x00011010
to 0x00011014
The following changes were made to Version 1.0, July 2012, of this document:
 Initial release of the document.

Avago Technologies Confidential


- 68 -

You might also like