QLogic Firmware Release Notes QLogic Corporation. All rights reserved. Table of Contents 1. Change History 2. Known Issues 3. Additional Notes 4. Notices 5. Contacting Support 1. Change History These release notes document the changes and fixes present in ISP 24xx/25xx/81xx/83xx firmware versions 7.01.03 and earlier. NOTE: Some ER descriptions in this section contain the following acronyms: * AEN-Asynchronous Event Notification * BIDIR-Bidirectional Command Format * C2-Class 2 * CRC-Disk/Block Cyclic Redundancy Check * FS-Frame Shuttle * IP-Internet Protocol * MID-Multiple ID * MIDQ-Multiple ID, Multiple Queue * SB2-Single Byte Command Code Set Mapping Protocol * VI-Virtual Interface * VP - Virtual port * CVL - Clear Virtual Link From 7.01.02 to 7.01.03 Changes ------- None Bug Fixes --------- * MID: Fix unsuccessful fabric login with some switch models by replacing FDISC with FLOGI request whenever no VP is logged into switch. [ER114226] From 7.01.01 to 7.01.02 Changes ------- None Bug Fixes --------- * FCoE (MID): Fix FLOGI not sent after CVL received for multiple virtual ports. Introduced by [ER106159]. [ER131770] * Target mode: Fix duplicate FLOGI or FDISC transmitted for same VP if link flap occurs while firmware is waiting for Notify Acknowledge (type 0Eh) for Fabric Logout or CVL. [ER131883] From 7.01.00 to 7.01.01 Changes ------- * 25/81xx: Customer specific. [ER114711] Bug Fixes --------- None From 7.00.00 to 7.01.00 Changes ------- Bug Fixes --------- * 83xx FC-VI: Fix CDMA hang issue caused by ER84932. * FC Tape: Fixed SRR reject reason code and reason explanation fields of Notify Acknowledge IOCB sent incorrectly by firmware. [ER111152] * FCoE: Fix firmware not returning the local tlv data in mailbox command 51h (Get DCBx parameters) while link was down.[ ER104436] * FCoE: Fix host buffer corruption because firmware returns more data than requested for mailbox command 50h (Get FCF List). [ER109339] * MID: Fix an issue where VP-specific WWPN was not being used when comparing port names during login collision processing. [ER108400] * 81xx, 83xx: Fix an issue causing firmware fatal error when moving multiple host XCBs from/to system memory with exchange memory offload feature enabled. [ER108584] * Fix firmware fatal error or no R_RDY transmit (FC) or pause storm (FCoE) as a result of consecutive dropped data frames of two different IO contexts.[ER107870] * MID: Fix target-mode throughput performance when the number of virtual ports exceeds 64. [ER100813] * 81xx, 83xx: Fix potential firmware fatal error seen during cleanup of host XCBs with memory offload feature enabled. [ER108583] * FC: Fix IO underrun or timeout in N-port to N-port topology when Disable N2N Login after FLOGI option (bit 8) of Initialize Firmware Control Block (Firmware Options 3) is set. [ER108578] * 25xx, 81xx, and 83xx: Fix both Abort I/O (IOCB type 33h) and original command type 7 (IOCB type 18h) returned with good completion status. The expectation is that if Abort I/O IOCB is returned with completion status=0h then original command type 7 IOCB should have completion status=05h OR if Abort I/O completion status=31h and original command type 7 should have completion status=0.[ER108409]. * 81xx, 83xx: Fix an issue where ELS request received after ELS ACC can get delivered to the host driver out of order. This issue happens when ELS/BLS frames route to ATIOq option is enabled (Set Additional Firmware Options mbc (38h)- bit 11 of Additional FW options 2 (Enable Asynchronous IOCBs to ATIO queue) is set). [ER108359] * Fix residual transfer length field in all CTIO types when no data was transferred due to transfer error. [ER108196] * Fix an issue where ELS request received after ELS ACC can get delivered to the host driver out of order when PUREX is enabled by driver and driver originated ELS request using ELS Pass thru IOCB type 53h. Because of this issue firmware may post an ELS command enabled (in PUREX Iocb type 51h) before posting a completion for prior ELS command sent by driver using ELS Pass thru IOCB type 53h. [ER108616] * 83xx FC: Internal and External Loopback related fixes. [ER108121] * Mid: Fix firmware fatal error seen after virtual port disable and peer node sends ELS response after 2 times RA TOV. With this change firmware will send a LOGO during VP disable to avoid receiving any ELS responses. [ER99828] * Fix an issue where firmware dropped an ELS request (e.g., PLOGI) and sent no LS_RJT when all N-port handles were used and no internal buffer could be allocated. [ER109116] * Customer-specific [ER108144][ER109266] * 83xx FC: Fix no link up seen after link flap when using certain batch of Avago 16G SFP in N2N configuration. The problem is also seen as external loopback failure with loopback connector. [ER109404] * 83xx FCoE: Fix invalid entry parameter in Ethernet Header Send IOCB type 36h that occurred with Multi-q feature. [ER108805] * 25xx, 81xx Multi Queue Specific: Fix firmware error seen while deleting a response queue. Problem can be seen as mailbox command 1fh timeout. [ER110448] * Customer specific change. [ER109975][ ER109688][ ER110421][ ER107145][ ER108815][ER108943][ER102937][ER110648] [ER107946][ER108455] From 5.10.00 (24xx, 25xx, 81xx) and 6.08.00 (83xx) to 7.00.00 For history of changes/fixes in 83xx firmware v6.08.00 or earlier, please refer to Hilda FC/CNA release notes. Firmware version 05.xx.xx did not support 83xx products. Changes ------- * SB2: Add codes for Error Subcode 2 (IOCB byte offsets 28-2B) for ELS Pass-Through IOCB (type 53h) when Error Code field is 31h and Error Subcode 1 is 04h: Error Subcode 2 is 12h when unexpected P_RJT is received;Error Subcode 2 is 13h when unexpected F_RJT is received. [ER105197] * 83xx: OEM-specific [ER104781][ER107479] Bug Fixes --------- * 25xx, 83xx FC: Initialize credits before changing fill word from ARB to idle to avoid dropped frames during LR protocol with switch. [ER105953] * Fix firmware fails to detect port id change after Fabric login timeout.[ER105899][ER105524][ER107888] [ER107483] * Fix generation of FLOGI after CVL is received or link flap occurs. [ER106159] * FC-TAPE: Allow CTIO IOCB to be queued before N_PORT ID is acquired after link flap. [ER106161] * FC: Fix S_ID in PRLI when N_PORT is directly attached to N_PORT. [ER106563] * 83xx FC: Fix FC link glitch during Hot Firmware Load. [ER106088] * 24xx, 25xx: Fix fatal error during FC internal loopback. [ER107098] * 25xx, 83xx FC: OEM-specific [ER105908] * 81xx, 83xx: Fix fatal error when both Exchange Memory offload and Asynchronous Event to Immediate Notify IOCB are enabled. [ER107200] * 83xx FC: Fix fatal error during internal loopback by disabling transmit/receive hardware before changing loopback path. [ER106384] * Fix RISC pause during termination of CTIO exchange whose associated port was previously freed by driver. [ER103468] * Fix RISC pause during unplug/plug test when Receive Out-of-Order Data Frame is enabled. [ER104508] * Fix command parameter error (4006h) during Get Port Database mailbox command (64h) with Force Login option (mailbox register 10, bit 0) is set to 1 and no PCB can be allocated. [ER105370] * FC: Fix loopback command timeout issue during external loopback with plug. [ER107610] * 83xx FC: OEM-specific [ER107362] From 5.09.00 to 5.10.00 Changes ------- * 24xx, 25xx, 81xx MID: Fix firmware failing get link statistic and private data count mailbox command (6Dh) with command parameter error (4006h) status if VP was disabled. Firmware will not validate the vpindex (specified in incoming mailbox 9) for get link statistic and private data count mailbox command (6Dh). [ER104352] * 24xx, 25xx and 81xx: Fix firmware incorrectly reporting Link up notification (AEN8011) and Port database change notification (AEN8014 with outgoing MB1=ffffh, MB=06h, and MB3=00h) upon receiving Flogi timeout in point to point mode. Firmware will retry flogi (as specified by the Login Retry Count field in initialize firmware MBC 60h) and generate AEN8014 with outgoing MB1=0xffff, MB2=0x07, MB3=0x0E (Flogi Reject) after Flogi retries are exhausted. For FC adapters (24xx/25xx) in fabric loop, firmware will fall down to private loop upon receiving FLogi timeout and exhausting Flogi retires. If private loop logins are successful, Get ID mailbox command will return with 4000h status and outgoing MB6=0h (loop, no fabric). Drivers would need to issue Link Initialization MBC 72h to retry fabric login. [ER102941] Bug Fixes --------- * SB2 C2: Fix firmware fatal error seen on reception of ACK1 for a target ELS pass-thru exchange. [ER103676] * SB2: Fix firmware fatal error encountered during Terminate SB-2 operation. [ER103953] * 24xx, 25xx and 81xx: Fix firmware fatal error seen on failure to acquire ATIO Queue lock. [ER103244] * 81xx: Fix intermittent firmware fatal error seen when exchange memory offload is enabled and firmware is out of on chip exchange buffers. [ER103683] * 24xx, 25xx and 81xx: Fix intermittent firmware fatal error seen while processing CTIO with terminate exchange bit set for an initiator port that was explicitly logged out or for a target virtual port that was disabled.[ER103468] * 24xx, 25xx and 81xx: Firmware fix to generate the correct TPRLO ACC payload when additional firmware options 2, bit 0 is set.[ER104672] * 25xx: Fix BB-credit calculation to avoid a corner case resulting in buffer overflow.[ER103778] From 5.08.00 to 5.09.00 Changes ------- * 24xx, 25xx and 81xx: Fix firmware incorrectly reporting Link up notification (AEN8011) and Port database change notification (AEN8014 with outgoing MB1=ffffh, MB=06h, and MB3=00h) upon receiving Flogi Reject in point to point mode. Firmware will retry flogi (as specified by the Login Retry Count field in initialize firmware MBC 60h) and generate AEN8014 with outgoing MB1=0xffff, MB2=0x07, MB3=0x0E (Flogi Reject) after Flogi retries are exhausted. For FC adapters (24xx/25xx) in fabric loop, firmware will fall down to private loop upon receiving FLogi Reject and exhausting Flogi retires. If private loop logins are successful, Get ID mailbox command will return with 4000h status and outgoing MB6=0h (loop, no fabric). Drivers would need to issue Link Initialization MBC 72h to retry fabric login.[ER98361] Bug Fixes --------- * Target mode: Fix firmware fatal error (AEN8002) while processing REC for a target exchange (write operation) that has overrun error. [ER99450] * 25xx and 81xx: Fix firmware hang due to processing invalid register data.[ER91564] * 25xx and 81xx: Fix firmware fatal error while completing T10_CRC IOCB with bad entry status. [ER94657] * T10 only: Update CTIO completion status reported by firmware for an exchange with DIF error. Firmware will now return the active CTIO(the one that encountered the DIF_Error) with DIF_ERROR (0Ch) status. The other pending CTIOs for this exchange will be returned with completion status of 04h. [ER101109] * 25xx: Fix firmware reporting incorrect reason code in outgoing MB1 for Link down notification (AEN8012h). [ER93550] * 24xx, 25xx and 81xx: Fix command timeout due to context error when mix of originator and responder FCP_DATA frames are received (same oxid, same SID/DID, and same SeqID but bit23 of F_CTL is different). [ER97948] * OEM specific fixes.[ER98592][ER98526][ER98648][ER99782][ER98769][ER94699][ER99329] * 24xx, 25xx and 81xx: Fix Task Management IOCB type 14h completion with dma error status. [ER98619] * 24xx and 25xx: Fix firmware potentially losing AL_PA when driver issues mailbox command 0x72 to perform link initialization.[ER99327] * Target Mode: Fix CTIO's not being returned to host driver on bad completions if CTIO flags bit 8 is set (Do not return CTIO flag is set) [ER89496]. * FC-VI: Fix firmware hang seen due to race condition between transmit completion and response for connect/disconnect request. [ER97699] * 24xx, 25xx and 81xx: Fix firmware running out of exchange buffers if multiple Test ELS commands (enabled as pass-through ELS) exchanges are terminated (after received) by the driver. [ER97668] * T10 only: Fix firmware to report DMA_ERROR instead of DIF_ERROR if multiple errors are pending on T10 pcie transfer.[ER99229] * 81xx: Fix firmware not reporting Asynchoronous Event Notification for port database change (AEN8014) if SCR ELS command timesout while recovering from Clear Virtual Link. [ER90311] * 24xx and 25xx: Provide workaround for link not coming up in point to point mode with non-QLogic targets.[ER89054]. Workaround provided by QLogic firmware is to retry the timed-out FLOGI before reinitializing link with OLS or LIP. Driver can enable this workaround by setting bit 3 in "Additional Firmware Option 2". Mailbox command 0x38 can be used to set additional firmware options. From 5.07.00 to 5.08.00 Changes ------- * 24xx and 25xx: OEM specific change. [ER91736] * 24xx and 25xx: Add support to return node name/portname and topology info in Immediate Notify IOCB type 0x0D with status code 46 (ELS opcode = PRLI). [ER95221] Bit 3 of Immediate Notify IOCB FLAGS field(offset 0x0C) indicates topology. Bit 3 (N_Port to N_Port PRLI). This bit is valid when fw sends Immediate Notify IOCB for PRLI received. When this bit is set, the connection topology is N_Port to N_Port. Bit 4 of Immediate Notify IOCB FLAGS field(offset 0x0C) indicates valid port name/node name fields. Bit 4 (Port name/Node name valid). This bit is valid when fw sends Immediate Notify IOCB for PRLI received. When this bit is set, offsets 1Fh-18h of the IOCB contain the Node Name and offsets 2Fh-28h contain the Port name. * OEM specific change. [ER92124] Bug Fixes --------- * 24xx: Fix IO stalls under load seen on 24xx based adapters equipped with reduced memory. [ER91881] * 25xx and 81xx: Fix intermittent aborts for multi-sequence write IOs with T10 DIF Remove support enabled. [ER92575] * 81xx: Fix ISP fatal error seen during switchport enable/disable in VmWare running multiprotocol traffic. [ER92926] * 25xx: OEM specific fix. [ER92997][ER94477][ER94483][ER94873][ER94874][ER95164][ER95440] * 25xx: Prevent misinterpretation of LUN information in command IOCB. [ER94518] * Prevent potential firmware fatal error with Extended Logins feature enabled. [ER94949] * Target mode: Fix firmware fatal error seen with multiple concurrent LFS (last frame of sequence) completions.[ER95023] * Fix mailbox command timeout seen during link re-initialization by host driver. [ER93142] * Fix performance scaling issues seen with multiple 4G tape devices.[ER93245] * FC-VI only: Fix Last_Sequence (of exchange) in F_CTL (bit 20) is not set in the last frame of FCVI read response.[ER88486] * Target mode: Fix IO timeout seen if driver configures exchange count in initializae firmware mailbox command to maximum.[ER94492] * 24xx and 25xx: FIx potential firmware fatal error during link initialization process. [ER97741] * Fix firmware sending duplicate ELS Pass-Through IOCB Type 53 on response queue. [ER96220] From 5.06.05 to 5.07.00 Changes ------- * Customer-specific changes[ER91528][ER92481]. * New Feature: Firmware sends Report ID Acquired IOCB Type 32h upon Flogi failure.Setting bit 5 in Global VP Option of Initialize Firmware Mailbox command 48h enables this feature. [ER92460] * New Feature: Firmware reports NportHandle, WWPN and WWNN of remote port in Report ID Acquired IOCB Type 32h for N2N connection topology. Setting bit 6 in Global VP Option of Initialize Firmware Mailbox command 48h enables this feature. [ER91536] Bug Fixes --------- * 81xx Target Mode: Fix IO failures after hot firmware load.[ER89071] * 81xx: Fix RLS statistics reporting incorrect data after reseting the counter. [ER89631] * Fix firmware not logging out SNS port (PID=0xFFFFFc) while processing implicit Logout all request with control flag bit 10 set in login/logout port iocb type 52h.[ER89916] * EP Device Only: Fix advertised BB_Credits not increasing with additional receive credits option set. [ER91387] * Target Mode: Fix firmware fatal error seen while aborting an exchange. [ER92401] * Fix firmware failing request to disable multiple virtual ports using iocb type 30h. [ER92438] * Fix Loop port bypass (40h) and loop port enable (41h) mailbox commands not working correctly. [ER92125] * FC-VI only: Fix disconnect request iocb timeout. [ER89425] * T10 Only: Fix firmware reporting DIF errors while running multi sequence, T10-DIF enabled IO’s with protection mode set to DIF- Remove.[ER91931] * Fix firmware fatal error while running T10-DIF enabled IO’s with protection mode set to DIF-Remove. [ER90525] * Fix incorrect reporting of discarded and dropped frame count in mailbox command 6Dh. [ER92579] * Customer-specific fix. [ER92573] * Add support for programming page and payload length fields in TPRLO response frame. Setting bit 0 of additional firmware options causes ISP to send TPRLO page length = 0x10 and payload length = 0x14. [ER89265] * Fix fatal error seen when support for Additional Receive Credits and Exchange Memory offload is enabled concurrently. [ER93223] From 5.06.04 to 5.06.05 Changes ------- * Customer-specific change [ER88709]. Bug Fixes --------- * 81xx and T10 only. Corrected an issue where firmware would report invalid T10 DIF error for IO commands that used multiple scatter gather lists (DSD list) and multiple FCP_XFER_RDY. [ER86320] From 5.06.03 to 5.06.04 Changes ------- * FC-VI only. Add support to free up firmware allocated exchange for incoming connection request that driver decides to drop. Drivers can free up the firmware allocated exchange by sending FC_VI Connect/Disconnect Request or Response IUs IOCB (entry type 2Ah) with the following values, - control flag bit [11] set, - VI index = FFFFh - Received exchange address = copy of receive exchange address from IOCB 3Ah. If firmware is successful in freeing up the exchange it will return IOCB with completion status = VIP_SUCCESS (100h). If firmware detects an error and is unable to free up the exchange it will return IOCB with completion status = invalid receive exchange address (08h). [ER85878] * Customer-specific change [ER84932] Bug Fixes --------- * Customer-specific fix. [ER88032] * FC-VI only. Corrected following issues; - Firmware reports incorrect response when receiving write request with no data. - Firmware returns opcode data in the wrong field for Post Receive Descriptor IOCB (Entry Type=49h). [ER85292] From 5.06.02 to 5.06.03 Changes ------- * Customer-specific change. [ER87344] * Customer-specific change. [ER87452] Bug Fixes --------- * Target mode: Fixed a condition where a Notify Acknowledge IOCB was not returned to the host driver after an exchange was aborted in the transmit path. [ER87041] * Fixed a RISC pause due to an illegal address access, which was caused by updating a field from an incorrect location introduced by ER85125 when the host driver has enabled the memory offload feature. [ER87077] * EP25xx with external memory added in design: Added a firmware workaround to fix a situation where a 16-bit write access (while running with a mixture of internal and external memory accesses) could corrupt the other 16 bits of the 32-bit word (within the RISC variable space). [ER87227] From 5.06.01 to 5.06.02 Changes ------- * VI build only. Added new asynchronous event notification (AEN) 8053h, VI diagnostic information. To enable this AEN (8053h), the driver uses the Set Additional Firmware Options mailbox command (0038h) with the Enable AE8053h bit (Incoming Mailbox 1 register bit 2) set. The status information that is sent with this event is as follows: Outgoing Mailbox # Content --------------------------------------------------------------- 0 AEN 8053h 1 Associated VI index 2 Error code: 1h = The firmware sent a VI response (RSP) frame with error bits set. 2h = The transmit data (TD) timed out on the Fibre Channel-VI (FC-VI) frame. 3h = A frame error was received, causing the firmware to discard the frame. 4h = There was a PCI error when writing the received frame to host memory. 3 OX_ID 4 Relative offset (15-0) 5 Relative offset (31-16) [ER83953] * 24xx and 25xx MID only: Implemented code to use the fabric login (FLOGI) Indicator bit (bit 0) of the flag field (byte 11) of the Report ID Acquisition IOCB. When this bit is set, a FLOGI has been performed for the reported VP index. When this bit is reset, an FDISC has been performed for the reported VP index. [ER86499] * Implemented code to use the PLOGI Collision bit (bit 0) of the I/O Parameter 2 field of the Login/Logout IOCB for port login (PLOGI) status of 31h/04h/0703h. When this bit is set, a collision case has occurred. When this bit is reset, a PLOGI timeout case has occurred. [ER84774] Bug Fixes --------- * 24xx and 25xx only. Fixed the cause of a fatal firmware error (8002h) or RISC pause condition that occurred when the firmware mistakenly used an invalid index value after a loop initialization procedure (LIP). [ER85460] * VI build only: A received Fibre Channel frame (FCVI_SEND_RQST, FCVI_WRITE_RQST, or FCVI_READ_RQST) is discarded (if in error) to avoid returning a VI IOCB with a received data length of zero to the host. [ER77797] * VI build only: Fixed a fatal firmware error (8002h) caused by a timeout during the transmission of a write/send response frame. [ER83954] * Disk CRC build only. Fixed an incorrect residual transfer length reported in an underrun condition. [ER85671] * Customer-specific change. [ER86058] * Fixed the buffer-to-buffer (BB) credit value only from a FLOGI (or PLOGI) accept payload (not from a reject payload). [ER85613] * Class 2 only: Fixed a firmware problem where target mode class 2 SCSI commands returned class 3 frames during SCSI I/O operations. [ER85841] * 24xx only. Fixed the cause of a fatal firmware error (8002h) that occurred when an abort was received from the target for a command that the firmware was currently attempting to abort. [ER72727] * 24xx and 25xx only. Fixed the delay (up to 32 seconds) before a Link Reset is sent after a transmit data timeout. [ER86032] * 81xx only. Fixed the following problems related to Fibre Channel over Ethernet (FCoE) initialization protocol (FIP) keep alive (FKA) handling when logged into a Fibre Channel forwarder(FCF): - The firmware could loop forever when the FIP keep alive and discovery advertisement period (FKA_ADV_period) was administratively changed in the FCF from a nonzero to zero value. - The firmware did not transmit FKAs when the FKA_ADV_period was administratively changed (in the FCF) from a zero value to a non-zero value. [ER86286] * Customer-specific change. [ER86173] * Fixed a problem where I/Os issued following a completed Login/ Logout IOCB PLOGI (with implicit LOGO) failed with aborted status. [ER86305] * MIDQ builds. Fixed a possible pointer corruption problem during deletion of a queue introduced by ER85125. [ER86090] From 5.06.00 to 5.06.01 Changes ------- None Bug Fixes --------- * 2500 MIDQ BIDIR and disk CRC only. Fixed a Command Type CRC_2 IOCB timeout if data segment descriptor (DSD) chaining for DIF DSD (Control Flags field, bit 3) is enabled. [ER85043] * Fixed a possible invalid command parameter error (4006h) when a valid device address was passed in the Write SFP (0030h) or Read (0031h) SFP mailbox command. [ER85124] * Customer-specific change. [ER85126] From 5.05.00 to 5.06.00 Changes ------- * 2500 MIDQ only. Added high-throughput wrapback feature. For more information, contact QLogic. [ER77783] * Customer-specific change. [ER78265] * Customer-specific change. [ER80300] * 81xx only. Updated Hot Firmware Load (HFL) parameter and set the version number to 2. NOTE: Due to this change, version 1 is not compatible with version 2. [ER81358] * 81xx only. The firmware has been implemented to utilize host memory to support up to 32K exchanges and 16K port logins. For more information, contact QLogic. [ER85125] * Customer-specific change. [ER82351] * Customer-specific change. [ER82956] * Customer-specific change. [ER84238] * SB2 only. Increased support for up to 64 SB-2 open receive exchanges. [ER84625] Bug Fixes --------- * Fixed a RISC pause condition when aborting an exchange associated with a Command Type 6 IOCB or CRC Type 2 IOCB (due to a timeout condition) before transmitting the command. [ER78647] * Target mode only. Fixed the cause of a fatal firmware error (8002h) when a driver requested termination of a target exchange linked to a sequence retransmission request SRR. [ER78942] * MID. Fixed multiple problems when Enable simple name server (SNS) Login and state change registration (SCR) for Virtual Ports bit (Initialize Firmware-Multiple IDs command, Global VP Options field, bit 6) is set, including: - Error reporting associated with SNS and SCR exchanges originated when the connection mode is fabric-loop mode. - Incorrectly generating a Port Database Changed asynchronous event notification (AEN 8014h) with reason code 12h, when the VP0 Decoupling option (for more information contact QLogic) is enabled. [ER79446] * 81xx with DISK_CRC. Fixed the Block Size Selected field (CTIO Type CRC_4 IOCB, Protection Options field, bits 13-12) to accommodate block sizes larger than 512 bytes. [ER79766] * Customer-specific change. [ER79773] * SB2. Fixed a system error when the Terminate Exchange IOCB (type 4Fh) is lined up with one information unit (IU) completion and one or more IUs are queued up on the same exchange. [ER79775] * SB2. Fixed unrecognizable entries posted to the response queue after a cable pull. [ER79777] * 81xx MID. Fixed a system error condition after a cable pull when the firmware is in FIP Discovery as a result of FIP FLOGI failures (LS_RJT or Timeout) with the VP Decoupling option enabled (for more information, contact QLogic). Another symptom is that FIP VLAN and FIP Discovery requests are not transmitted after the FIP FLOGI retry count expires. [ER79791] * Corrected cleanup when initiator port cables were swapped to ensure processing and sending a LOGO ACC. [ER80318] * Corrected a fatal firmware error (8002h) in target mode when receiving RSCNs with large entry counts and the option to route AENs to Immediate Notify IOCBs is enabled. [ER80743] * 81xx only. Fixed possible loss of an ELS frame to be queued to ATIO when the Enable Asynchronous IOCBs to ATIO Queue bit (additional firmware options field, bit 11) and the Enable PUREX bit (additional firmware options 1 field, bit 10 are both set. [ER81078] * 25xx and DISK_CRC only: Fix I/O timeouts for Write commands with the DIF Remove option. This error was seen if the target sent multiple (three or more) XFER_RDYs for a Write command. [ER81127] * Corrected possible fatal firmware error (8002h) after disabling a VP. [ER81248] * 25xx/81xx DISK_CRC only. (Type 2 CRC IOCBs only). Fixed incorrect Continuation IOCB built with DSD data chaining during low resource conditions. This IOCB could cause error completions to be returned. [ER81368] * Customer-specific change. [ER81527] * MID only. Fixed an issue where the logged in status for the SNS port (in port database queries) was incorrect (stale). [ER81575] * 81xx only. Corrected additional information reported in the Outgoing Mailbox 4 register for asynchronous event 8012h. [ER82587] * MID only. Fixed an issue where Invalid Request status was sent back on a returned Notify Acknowledge IOCB when the option to route AENs to Immediate Notify IOCBs is enabled. [ER82798] * 25xx only. Corrected plug/unplug issue with loopback connector when using JDSU or Opnext(r) SFPs. [ER83002] * Corrected a problem resulting in either lost or duplicate PUREX ELS requests when the option to route asynchronous IOCBs to the ATIO queue is enabled. (Enable Asynchronous IOCBs to ATIO Queue bit (Set Additional Firmware Options mailbox command, Incoming Mailbox 2 register, bit 11)). [ER83146] * 24xx/25xx MID only. Corrected a possible CT Pass-Through command timeout when VP0 decoupling option is enabled (multi-ID initialize firmware control block, Global VP Options field, bit 2 is set). [ER83607, ER83817] * SB2 only. Aborted remaining Send IOCBs in a multi-sequence exchange when the current sequence was aborted by ABTS from the responder of the exchange. [ER83633] * Customer-specific change. [ER83882] * SB2 only. Extended the SB-2 IU timeout to match the default error detect timeout value (ED_TOV). [ER80423] From 5.04.00 to 5.05.00 Changes ------- * Customer-specific change. [ER70972] * 24xx and 25xx Frame Shuttle only. Send AE8008 (LR_RECEIVED) through Response queue. [ER71838] * MID only. Added support for VP0 DECOUPLING. NOTE: Change to Multiple-ID Initialize Firmware Control Block to allow VP0 Decoupling option to be enabled by setting Global Option bit_2 (Global Options 15:0 at byte offset 82h). CAUTION: In a fabric loop topology with no VPs enabled, a switch may continue to issue LIPs while no ALPA is participating in the LOOP, and the firmware does not transition to READY. To prevent this, ensure that a participating LOOP device is present. For more information, contact QLogic. [ER71936] * Enable ER71877 for all builds (previously 81xx only). (For details, see ER71877). [ER72766] * Disallow firmware to assign non-reserved N_Port handle to SRR/ELS originator when login-related ELS command (PLOGI, PRLI, PRLO, LOGO, TPRLO, ADISC, and PDSIC) requests are enabled to pass up via Purex IOCB. [ER72957] * 24xx and 25xx. Added option to disable ADISC/PDISC after LIP. NOTE: To disable the automatic ADISC/PDISC from firmware after LIP, the driver may set bit 14 of Additional FW Options 2 through the Set Additional Firmware Options Mailbox Command (0038h). [ER74370] * 81xx. Added support for CTIO Type 4 CRC IOCB (73h). For more information, contact QLogic. [ER74446] * Option to Disable Automatic FDISC ---------------------------------- Currently, the firmware automatically performs FDISC for enabled virtual ports (VPs) upon receiving an FLOGI_ACC. This procedure does not mesh well with driver architectures, which typically control the FDISCs. A new option bit allows you to suppress the automatic FDISCs. This option bit is available in both the ISP25xx and ISP81xx firmware. Older firmware ignores this option bit. Functional Description ----------------------- The Disable FDISC bit (multi-ID initialize firmware control block, Global VP Options field, bit 4) disables the automatic FDISCs. If this bit is set, any VPs enabled in the multi-ID initialize firmware control block remain enabled, but the ID is not in the acquired state. The driver must issue a Modify Virtual Port Configuration IOCB (with the Command field set to 3h) to instruct the firmware to transmit the FDISC after it receives the report ID acquisition (RIDA) for VP0. When Disable FDISC is set, no FDISC is transmitted for the enabled VPs on any event, which results in a FLOGI. The driver should issue a Modify Virtual Port Configuration IOCB (with the Command field set to 3h) to instruct the firmware to transmit the FDISC for a specific VP (after receiving the RIDA for VP0). The driver must instruct the firmware to transmit an FDISC for all enabled VPs. After all the FDISC is completed, the firmware state changes to ready. In addition, a Port Database Changed AEN (8014h), with the Outgoing Mailbox 1 register set to FFFFh and Outgoing Mailbox 2 register set to 6h, is generated and passed to the driver. If the driver does not transmit FDISC for a VP, the driver must disable that specific VP using Virtual Port Control IOCB (Entry Type field 30h). This step is needed because a VP is enabled, but the ID is not in the acquired state, which can prevent the firmware state from changing to ready, and prevent generation of the Port Database AEN as previously stated. The option applies only to fabric point-to-point topology and NPIV environments. [ER74448, ER76312] * Added option to disable PRLI REC_SUPPORT bit. To disable the PRLI REC_SUPPORT bit (PRLI REC_SUPPORT bit is set by default), set bit 6 of the additional firmware option 3 of the Set Additional Firmware Options (38h) Mailbox Commands). This option has to be set prior to Initialize Firmware mailbox command (60h or 48h). [ER74764] * Customer-specific change. [ER74966] * The Abort I/O IOCB (33h) may now be used to terminate a Task Management IOCB (14h). [ER76361] * Current ISP firmware supports maximum frame sizes of 512, 1024, and 2048 in the received PLOGI or PLOGI-ACC. This change provides an option to disable this restriction by setting bit 6 of Firmware Options 2 through Set Additional Firmware Options Mailbox Command (038h). Note that this option bypasses the Maximum Transmit Data Frame Size set by the Set Transmit Parameters Mailbox Command (019h). [ER76448] * Customer-specific change. [ER78047] * Expanded the Firmware Attributes information to 64 bits. Firmware Attributes are returned by the About FW Mailbox command (8h). Bit_15 of outgoing mailbox 6 indicates the validity of the contents of mailboxes 15, 16, and 17: - Firmware Attribute bits 31:16 will be returned in outgoing mailbox 15. - Firmware Attribute bits 47:32 will be returned in outgoing mailbox 16. - Firmware Attribute bits 63:48 will be returned in outgoing mailbox 17. - Added "VP0 Decouple" (bit_12) to the attribute field. [ER78190] Bug Fixes --------- * 25xx and 81xx. Corrected the firmware handling of the Internal Read Offset (IRO) field within the FCE Tracing Data Structure. [ER69650] * 81xx only. Corrected the handling of a FAN when received in FCoE. [ER73253] * 81xx only. Corrected problem that could cause a Per Priority Pause storm to be transmitted when a receive DMA is stalled. [ER73465] * 24xx/25xx only. Resolved a problem in target mode that prevented firmware reaching READY state after a topology change to N2N. [ER73583] * Corrected a Fatal Firmware Error (8002h) that occurred when an ELS Pass-Through IOCB was received from the driver that sent PRLI ACC and LOGO ACC consecutively for the same remote device. [ER73604] * Corrected DMA error that occurred when mixing T10 and non-T10 data transfers for the same exchange. [ER73647] * If the Out of Order option is not selected and a Relative Offset mismatch is detected, frames are not DMA'd to the host memory. [ER73805] * 81xx and T10 only. Corrected the handling of a partial transfer request in a Command CRC Type 3 IOCB that caused an "Aborted" status to be returned. [ER73821] * 24xx/25xx MID. Fixes potential drops of PRLI request or firmware incorrectly assigning multiple N_Port Handles for the same Port_id. [ER73958] * Corrected Execution Count handling that could result in an I/O stall when running in mixed Initiator/Target mode. [ER74184] * Corrected a condition where a CTIO with the Terminate option selected did not abort the specified CTIO. [ER74356] * Prevented consecutive sequences with same Sequence ID in an exchange. [ER74375] * 81xx only. Corrected a potential Receive Frame stall that occurred when using T10 IOCB Type 3 and a stop condition aligned with a segment boundary. [ER75194] * Corrected a potential Fatal Firmware Error (8002h) when an SRR is received from the initiator and another CTIO is received from the host driver. [ER75235] * Corrected a problem where an SRR was reported via Immediate Notify IOCB with an invalid N_Port Handle. [ER75667] * 81xx only. Detect if MPI RISC failed to auto-load on startup, and then issue an internal reset to recover. [ER75941] * 81xx only. Fixed potential Init Firmware Control Block corruption when Additional firmware options 1 bit 11 (Enable Asynchronous IOCBs to ATIO Queue) is set to 1. [ER76119] * MID only. Corrected a condition that allowed a malformed Task Management IOCB (14h) to complete with good status, while leaving the targeted exchange(s) unchanged. [ER76334] * Corrected failure to relogin to an FCF or switch after receipt of a Fabric LOGO when initiator mode is disabled. [ER76541] * 81xx only. Corrected failure to reject FCoE Fabric LOGO from FCF (FIP Fabric LOGO is required). [ER76643] * Prevents ATIO Queue Update notifications from overwriting RISC-to-Host status for a pre-existing RISC interrupt. Problem only occurred in target mode operation with both ZIO and multiple queues enabled. The condition was apparent if delays were experienced in the target driver's interrupt processing. [ER76955] * 24xx and 25xx only. Prevent firmware attempts to send SCR or SNS login in N2N topology. Such attempts formerly resulted in timeouts or 8002AEN Fatal System Error. [ER76991] * 81xx only. Prevent FIP Clear Virtual Link from FCF due to FIP Keep Alive timeout when Transmit DMA hung and PCIE Completion Timeout was disabled. [ER77592] * 24xx and 25xx MID. Fixed a failure to generate Report ID Acquisition IOCB (0x32) for VPs in FL topology. [ER77795] * 81xx only. Customer-specific changes. [ER77846] From 5.03.00 to 5.04.00 Changes ------- * Customer-specific changes. [ER69516, ER69589, ER69620, ER70279, ER70666, ER71031, ER71711, ER71936, ER72037, ER73006] * 81xx only. Added Additional Firmware Options 2, bit 9 to improve NIC bandwidth when NIC and FCoE receive traffic are running concurrently. [ER69565] * 81xx/25xx MIDQ only. Provide capability in Queue Management (1Fh) mailbox command to move a queue base address. For details, refer to the Multiple Queue Support for 2500 Series Fibre Channel and 8100 Series Converged Network Adapter Controllers Applications Note. [ER69606] * 81xx only. Added support for LR Optics. Requires MPI FW 1.39.00 or later with proper configuration files. [ER69613] * Added an Additional Firmware Options 3 bit to discard any frames received out of order unless the Initialize Firmware Options 3 bit 6 (Enable Receive Out-of-Order Data Frame Handling) is set to 1. Changes to Set Additional Firmware Options (38h) Mailbox Command interface ---------------------------------------------------------------- - Add to Additional Firmware Option 3 Bits (Incoming mailbox 3 register) Table: Bit 15 Do not transfer received out of order data for an exchange to host memory (except during SRR recovery). - Replace bit_15 description with: Bit 15 (Do not transfer received out of order data for an exchange to host memory). When this bit is set to 1, the ISP firmware does not transfer received out-of-order data for an exchange to host memory, except during SRR recovery. A frame is considered "out-of-order" after a previously-received frame is dropped due to an error, as well as a true out-of-order frame receipt condition. NOTE: Bit 15 is ignored when Initialize Firmware Options 3 bit 6 (Enable Receive Out-of-Order Data Frame Handling) is set to 1. [ER70311] * 24xx/25xx only. Bit 8 of State Flags field in Status IOCB Type has been changed from Reserved to "Unable to send OPN to Destination." This bit is set when the destination device sends an immediate CLS in response to an OPN from ISP. [ER71132] * Add option to disable the firmware automatic port login (PLOGI) to the simple name server (SNS). To enable this feature, set Bit 15 of Additional Firmware Options 2 when issuing Set Additional Firmware Options Mailbox Command 0038h. [ER71742] * 24xx SB2 only. Return the lower 16-bit of current RBC count in Receive IU and Add Buffer IOCBs. This extends the scope of ER68875 to include 24xx. - For IOCB type 0x4D, the lower 16-bit of the counter is stored at offset 0x3E to 0x3F. - For IOCB type 0x4C, the lower 16-bit is stored at offset 0x1C to 0x1D. [ER71764] * 81xx only. Added an Additional Firmware Options 2 bit to post all Asynchronous IOCBs to the ATIO queue when target mode is enabled. Changes to Set Additional Firmware Options (38h) mailbox command interface ---------------------------------------------------------------- - Add to Additional Firmware Option 2 Bits (Incoming mailbox 2 register) Table: Bit 11 Enable Asynchronous IOCBs to ATIO queue. - Replace bit 11 description with: Bit 11 (Enable Asynchronous IOCBs to ATIO queue). When this bit is set to 1, the firmware posts all asynchronous IOCBs (Purex, ABTS Received, and Report ID Acquisition) to the ATIO queue when target operation is enabled. Additionally, if a login- affecting ELS command (PLOGI, PRLI, PRLO, LOGO, ADISC, PDISC, or TPRLO) is passed up to the target driver, an Immediate Notify IOCB with Status Code 46h, Login affecting ELS command received, shall not be sent. Initialize Firmware Options 3 bit 26 (Enable Ethernet Header Receive IOCB for ATIO Queue) is used to request the firmware place an Ethernet Header Receive IOCB on the ATIO queue before each Purex and ABTS Received IOCB. Initialize Firmware Options 3 bit 27 (Enable Ethernet Header Receive IOCB for Response Queue) shall be ignored. When bit 11 is set to 0, the firmware posts asynchronous IOCBs to queues specified in the ISP81xx firmware specification. Changes to Initialize Firmware, Firmware Options 3: --------------------------------------------------- - Bit 27 (Enable Ethernet Header Receive IOCB for Response Queue). When Additional Firmware Option 2 bit 11 (Enable Asynchronous IOCBs to ATIO queue) is set, this bit is ignored. - Bit 26 (Enable Ethernet Header Receive IOCB for ATIO Queue). When Additional Firmware Option 2 bit 11 (Enable Asynchronous IOCBs to ATIO queue) is set, and this bit is set, the firmware places an Ethernet Header Receive IOCB on the ATIO queue before each Purex and ABTS Received IOCB. [ER71877] * MID only. Send LOGO if an FDISC is rejected with error/explanation code 03/0D. After LOGO ACC is received, the firmware retries the FDISC. [ER72460] Bug Fixes --------- * 81xx only. Corrected FCP-2 processing during a link disruption until re-discovery is complete. [ER66337] * MIDQ builds. Corrected N_Port-N_Port FLOGI Dest ID of 0. [ER67952] * 2532-based adapter only. Corrected an issue that could prevent the link from being established when connected to specific targets operating at 8Gb link speed in a loop topology. [ER68658] * Correct abort handling of a Command Type 6 IO that could result in fatal firmware error or I/O timeout. [ER68965] * 81xx only. Set a Buffer Credit value of 16 in FLOGI/FDISC for interoperability with FCFs that incorrectly use the field. [ER69182] * 81xx only. Correct handling of received stale frames forwarded by an FCF after the link is re-established. [ER69245] * 81xx only. Corrected an issue that would prevent the link from being re-established after a cable pull. [ER69291] * Correctly set the "sequence initiative transferred bit" (F_CTL) for transmission of status mode 2 FCP_RSP with confirmation request. [ER69336] * 81xx only. Added support to detect MPI pause during heartbeat processing. [ER69457] * Disk CRC only. Correct firmware reported residual Byte Count for CRC (T10) Read commands. [ER69564] * 81xx only. Corrected CTIO handling when the link was down. [ER69683] * 81xx only. Corrected an issue with Internal Loopback failure reported when link is up to an FCF. [ER69685] * 24xx CRC only. Resolve 8002 system error during DIF error processing. [ER69922] * 25xx and 81xx only. Corrected possible memory leak during clean-up of T10 CRC IOs with DIF Bundling enabled. [ER70018] * 25xx and 81xx only. Corrected false DIF error reported during T10 CRC transmit IO with DIF Bundling. [ER70038] * Corrected Target XCB count returned by Get Resource Counts Mailbox Command (0042h). [ER70149] * Corrected a RISC pause condition after the Diagnostic Echo Test (44h) mailbox command completed with an error status. [ER70166] * 25xx and 81xx only. Corrected a potential I/O timeout of T10 CRC IO when using DIF bundling. [ER70319] * 25xx and 81xx only. Corrected potential invalid PCIe access when aborting a T10 CRC IO when using DIF bundling. [ER70558] * Corrected N_Port Handle assignment by firmware when Purex is enabled. [ER70575] * 81xx only. The firmware could incorrectly set bit 15 of N_Port Handle returned by the Get Port/Node Name List (75h) mailbox command. [ER70664] * 81xx only. Corrected a problem where the values supplied in the Set Timeout Parameters (32h) mailbox command were not honored. [ER70708] * Prevent 8002 system error when processing a severely malformed IOCB. [ER70910] * Corrected a RISC pause condition during SRR received notify ACK processing. [ER70921] * Customer-specific issues. [ER70970, ER71426, ER72657, ER71475] * 24xx only: Improved link init time when using Inline Credit Extender in an N_Port-N_Port configuration. [ER71034] * Fixed Loopback mailbox command timeout when Fibre Channel event (FCE) extended tracing is enabled. [ER71269] * Corrected a problem that could result in a Task Management command timeout. [ER72100] * Corrected handling of frames received with DID = 000000h. [ER72270] * 81xx only. Fix CTIO with terminate exchange bit returned good completion status (01h) after the CTIO is already completed. The CTIO with a terminate exchange bit should instead return an invalid receive exchange address (08h) completion status. [ER72491] * MID builds only. Fix CTIO with terminate exchange bit failed with completion status=29h. [ER72571] * 81xx only. Corrected a problem that caused FDISC not generated by the firmware when Virtual Port Control IOCB (type=30h) is used to enable VP. [ER72921] * MID only. Correct the cleanup of outstanding ELS requests during VP disable. [ER73048] * MID only. Resolve RISC pause after cable pull or link event. [ER73090] From 5.02.00 to 5.03.00 Changes ------- * Added feature to return LOGIN info via Mailbox Command 5Ah - Get Params, using type 7. Entry Parameters (Incoming): ---------------------------- Mailbox0 - opcode (005ah) Mailbox1 - Type<15:8>, reserved<7:0> Mailbox2 - buffer addr<31:16> Mailbox3 - buffer addr<15:0> Mailbox6 - buffer addr<63:48> Mailbox7 - buffer addr<47:32> Mailbox8 - DW Xfr Length (only valid for Type 7) Exit Parameters (Outgoing): --------------------------- Mailbox0 - (4000h) normal completion - (4002h) DMA error - (4005h) error during command execution - (4006h) if unsupported type or DW Xfr requested is too small ( 28DW <.. ) data got truncated Mailbox1 - If Outgoing Mailbox 0 is 4005h, then Outgoing Mailbox 1 will have the following sub-code: 0002h - No IOCB Mailbox8 - DW Xfr Data (should be 28 for typical PLOGI, only valid for Type 7) The format returned is according to FC-LS-2 (Fibre Channel - Link Services - 2), rev.2.00 - FLOGI/PLOGI payload minus ELS command code. [ER66811] * 8100 only. Added support for MPI heartbeat feature. Contact QLogic for details. [ER67656] * 8100 only. Changes to support additional MPI mailbox commands in the range 136h to 150h. [ER67716] * 2532/8100 CRC. Implemented CTIO Type CRC_2 and support DIF bundling on CTIO CRC IOCBs. [ER67727] * 2532 SB2 only. Return the lower 16-bit of current RBC count in Receive IU and Add Buffer IOCBs. - For IOCB type 0x4D, the lower 16-bit of the counter is stored at offset 0x3E to 0x3F. - For IOCB type 0x4C, the lower 16-bit is stored at offset 0x1C to 0x1D. NOTE: This feature will be documented in the upcoming SB-4 spec. [ER68875] Bug Fixes --------- * MID only. Do not report RSCN for VPs that have been disabled. Previously, the firmware generated 8015 AEN with an invalid vpindex. [ER62856] * 2532/8100 CRC T10. Resolved bad FCP_DATA sequence due to incorrect re-initialization of the CRC context for Header mode. This affected T10 write commands with multiple FCP_XFER_RDYs. [ER67220] * Removed zeroed optional association headers from RRQ payload. [ER67210] * 24xx/2532 only. Corrected a problem in PLOGI ACC processing that could result in failure to respond to a subsequent PRLI. [ER67333] * 8100 only. Changed login/logout IOCB processing to correctly format a LOGO sent to the fabric controller. [ER69214] * Resolved a Fatal Firmware Error (8002h) due to a race condition when the exchange timer expires at the same time FCP_XFER_RDY is received. [ER69068] * 8100 only. Changed link down handling to prevent a stall in received FCoE frame processing. [ER68914] * Prevented Fatal Firmware Error (8002h) when processing an invalid ELS response type. This problem could occur if a switch sent an erroneous ELS response to a CT pass-thru request. [ER68488] * 8100 only. Fixed a hang that could occur when processing a new request for an FCP2 capable device after a link status change. [ER68339] * 2532/8100 only. Resolved intermittent Fatal Firmware Error (8002h) and FKA failures during Flash access. [ER68257] * Modified RNID processing to correctly handle a response with a "Specific Identification Data Length" field of zero. [ER67623] * 2532/8100 CRC T10. Changed buffer pointer validation to prevent erroneous 8002 system errors. [ER67568] * 24xx/2532 only. Fixed a Fatal Firmware Error (8002h) caused by a problem cleaning up after a port discovery timeout. [ER67345] * 8100 only. Prevented accidental overwrite of the PortName within a port descriptor data structure. Problem could occur during the execution of mailbox commands 30h, 31h, 51h, or 60h. [ER67181] * Fixed 200ms delay for Command Type 6 IOCBs when residual under run occurs, and FCP_RSP DMA is enabled. [ER67159] * 8100 only. Resolved intermittent resource allocation failures in Read SFP mailbox command (31h). Improved failure sub code reporting in mailbox 1 for both Read (31h) and Write (30h) mailbox commands. [ER69146] * Corrected ADISC ELS check for ELS passup and fixed potential bad pointer when building ELS frame. [ER67799] * 8100 only. Fixed mailbox command Diagnostic Loop Back failures with Status 4005 and Subcode 0x17. [ER67690] * 8100 only: Fix erroneous discard of a valid FIP VLAN Notification frame when the frame does not have an IEEE 801.2 Q Tag and the FIP descriptor list length is greater than 8 (words). [ER67062] * 24xx/2532 only. Improved firmware handling of I2C SFP interface to better support some SFPs. [ER67479] From 5.01.00 to 5.02.00 Changes ------- * Customer-specific changes. [ER55377, ER65196, ER66011, ER65528] * 8100 only. Report NIC driver attached status in Get firmware State Mailbox Command (069h). For details, see the 8100 Series Fibre Channel Firmware Interface Specification, rev C. [ER65051] * 8100 only. Firmware will return parameter error (4006h) if the Initialize Firmware Mailbox Command (060h) or Initialize Firmware Multiple IDs Mailbox Command (048h) specifies use of the optional Extended Initialization Control Block and provide a length of zero bytes. [ER65184] * 8100 only. Changed the Perform Implicit LOGO Mailbox Command (072h) to allow the Perform Logout for All Ports across All FCFs option (bit 1 of incoming Mailbox Register 1) in single FCF configurations. [ER65220] * 8100 only. Added FIP Version 1 support. [ER65589, ER65593, ER65595, ER65605, ER65805] * Added a feature to reject PRLI from Fabric Control (FFFCxx) when target mode is disabled. To enable this option, set bit 7 of Mailbox 2 in the Set Additional Firmware Options Mailbox Command (0038h). [ER66061] * 8100 only. Changed Get Link Status/Read Port Status Mailbox Command (06Bh) and Get Link Statistics and Private Data Mailbox Command (06Dh) to return counters consistent with the FCoE Link Error Status Block (LESB). Figure 3-4 of the 8100 Series Fibre Channel Firmware Interface Specification now contains the following counters: Link Failure Count, Virtual Link Failure Count, Missing FIP Keep Alive or Discovery Advertisement Count, Symbol Error During Carrier Count, Error'd Block Count, and Frame Check Sequence Error Count. [ER66125] Bug Fixes --------- * MID only. Fixed an issue to prevent invalid VP misconfigurations that can result in a Fatal Firmware Error 8002h. [ER63706] * Corrected DMA Error checking logic during Loopback Mailbox Command (0045h). [ER64335] * 8100 MID only. Prevent transmission of ELS requests before receipt of FLOGI accept. [ER64498] * Fixed potential hang due to mishandling of completer aborts during transmit DMA. [ER64513] * 8100 only. Enhanced FIP, CVL, FLOGI/FDISC, SCR, SNS PLOGI retry error handling. [ER65077, ER65585, ER65759, ER65780, ER65962, ER66186] * 8100 only. Corrected ELS and BLS timeout units conversion when processing Mailbox Commands Get Timeout Parameters (0022h) and Set Timeout Parameters (0032h). [ER65155] * 8100 only. Corrected an issue after External Loopback was performed that prevented FIP from completing. [ER65165] * SB2 only. Corrected a condition in RRQ processing that could result in a Fatal Firmware Error (8002h) after receipt of an ABTS. [ER65232] * 8100 only. Fixed an issue that caused a rediscovery of FCF's if FIP FLOGI timed out. [ER65415] * Corrected a problem in target mode operation during confirmation processing that could result in a Fatal Firmware Error 8002h. [ER65757] * 24xx and 2532 only. Corrected auto-negotiation algorithm that would restore the link at the previous speed instead of the maximum speed. [ER65802] * 8100 non MID only. Corrected a condition where the firmware state would not become Ready after switch port was shutdown and restored. [ER65980] * 8100 only. Retry FIP VLAN Discovery after FIP Discovery Solicitation fails to find a primary FCF. [ER66043] * Return LoginState in IO Parameter 1 when Login/Logout IOCB PRLI IO Parameter 0 = 4 (Command Failed). [ER66045] * 2532 and 8100 MID only. Corrected VP Index range checking during processing of VP Control IOCB. [ER66068] * Corrected Firmware Error reported during Purex IOCB processing if the Port Database for the target device had been initialized. [ER66082] * 8100 only. Fixed detection of EP device. [ER66204] * MID only. Corrected a problem which could result in LOGO sent with SID=000000 or incorrect reporting of VP status after a VP is disabled. [ER66553] * 2532/8100 MIDQ only. Resolved a long delay in processing Command Type 6 IOCBs after link level fault injection. [ER66755] * Fixed RISC pause condition when using T10 CRC with DIF_bundling. [ER66803] From 5.00.00 to 5.01.00 Changes ------- * Customer-specific changes. [ER61070, ER62265, ER62894, ER63194, ER63873] * 2532 and 8100 only. Add DSD chaining support to command CRC type IOCBs. [ER62531] * 8100 only. Updated Immediate Notify to reflect format described in the firmware spec. For details, see the 8100 Series Fibre Channel Firmware Interface Specification Rev C. [ER63872, ER64455] * 8100 only. Implement FIP VLAN Discovery. [ER64026] * 8100 only. When detected, report MPI configuration error and reason code in Get Firmware State Mailbox Command (069h). For details, see the 8100 Series Fibre Channel Firmware Interface Specification Rev C. [ER64342] * 8100 only. Added new error completion codes to Restart MPI Mailbox Command (03Dh). For details, see the 8100 Series Fibre Channel Firmware Interface Specification Rev C. [ER64391] * 8100 only. Implement SFP Read/Write Mailbox Commands (031h and 030h). For details, see the 8100 Series Fibre Channel Firmware Interface Specification Rev C. [ER64406] * 8100 only. Modify Report ID Acquisition IOCB to return subcode for status 0x01, Unable to acquire ID, for FDISC. The subcode is returned at offset 10h. [ER64497] * 8100 only. Update Get DCBX Parameters Mailbox Command (051h) to match latest spec. For details, see the 8100 Series Fibre Channel Firmware Interface Specification Rev C. [ER64672] * 8100 only. Implement Get XGMAC Statistics Mailbox Command (07Ah). For details, see the 8100 Series Fibre Channel Firmware Interface Specification Rev C. [ER64673] * 8100 only. Return SFP status information. See Asynchronous Event 8012h and Mailbox Commands 05Dh, 048h, 060h, and 069h. For details, see the 8100 Series Fibre Channel Firmware Interface Specification Rev C. [ER64732] Bug Fixes --------- * 8100 only. Corrected handling of FLOGI Timeout and Reject processing by using Retry Count and Timeout as specified in Initialize Firmware Control Block. [ER63856] * Corrected a condition where an Immediate Notify could be sent to the system driver when a VP is not configured for Target Mode operation. [ER64176] * Corrected cleanup of pending Transmit Data requests across fault injection. [ER64251] * 8100 only. Corrected a potential firmware hang condition after processing an ELS timeout or recovering from an internal error. [ER64265] * SB2 only. Corrected a condition where the System Defined 1 field of an IOCB being returned to the system driver may be over written. [ER64315] * 8100 only. Correct an issue with Flash Access Mailbox Command (003Eh). [ER64377] * 8100 only. Corrected potential FCoE traffic stall after Port Reset completes. [ER64435] * 8100 only. Fix FIP Failure to find FCF after a number of cable pulls/insertions into different FCF ports. [ER64454] * 8100 only. Get FCF List Mailbox Command (050h) may fail to find valid FCF Index. [ER64507] * 8100 only. Corrected false Loopback errors reported during internal and external tests. [ER64520] * Corrected potential RISC pause when Purex is enabled. [ER64567] * 8100 only. Fixed incorrect Destination MAC address in FIP FLOGI request after an FCF Fabric name change. [ER64585] * 8100 only. Allow primary port to be discovered via FDISC after it received a Clear Virtual Link or Fabric LOGO and another Virtual Port becomes the master. [ER64590] * 2400/2532 only. Corrected a condition where a FCP RSP could be transmitted across a LIP and before the discovery timer expires in private loop topology. [ER64705] * 8100 only. Corrected Firmware hang condition after receiving an ABTS. [ER64902] From 4.06.00 to 5.00.00 Changes ------- * MID only. The firmware now returns a Port Unavailable (28h) Completion Status if the VP Index fails validation during a SCSI Task Management request. [ER62857] * MID only. The firmware now allows Get VP Database Mailbox Command (49h) regardless of VP Status. [ER62858] * SB2 only. The firmware now allows Get Link Status Mailbox Command (06bh) to complete even though Process Login has not completed. [ER63650] Bug Fixes --------- * Fixed an issue to prevent initiating an LR upon a Transmit timeout while the firmware services other requests. [ER61666] * Fixed an issue that delayed starting new Transmit requests if a Transmit error is pending. [ER61682] * Corrected the auto-negotiation algorithm that could prevent the link from establishing when connected to a switch. [ER62000, ER62172] * Corrected CTIO handling when link is down and CTIO received with an Exchange Address of FFFFFFFFh. [ER62715] * MID only. Corrected various issues relating to VF support. [ER62798] * Corrected issues found with VF and Fabric LOGO processing. Also corrected the valid VP Count range to 1-254. [ER62826] * MID only. Corrected Source and Destination Address on an SCR retry. [ER62886] * Completed various FCE tracing fixes. [ER62952, ER63400] * Customer-specific fix. [ER63104] * Corrected IDLE character to ArbFF when connected at 8Gb rate. [ER63488] * Corrected an issue where a Mailbox or Mailbox IOCB request would not complete if a Fabric LOGO occurred. [ER63563] * DISK CRC only. Corrected a RISC Pause condition reported during cable pull testing. [ER63564] * Fixed an incorrect Response In Pointer reported in the RISC to Host Status Register when running in ZIO mode. [ER63790] * 2532 MID multiple queue only. Corrected a link credit issue that resulted in decreased performance. [ER63913] From 4.05.00 to 4.06.00 Changes ------- * 2532 only. Added support for Virtual Fabrics. Contact QLogic for API changes to support VFs. [ER60036, ER60250] * Customer-specific change. [ER61654, ER61694, ER61837, ER62184] * MID only. Added feature to allow the firmware to perform SNS Login and SCR registration for virtual ports. This feature is enabled by setting bit 6 of the Options field during Initialize Firmware - Multiple IDs Mailbox Command (048h). Added the following status/substatus values to Report ID Acquired IOCB: VP Status Description --------- ----------- 3 SNS Timeout. See byte offsets 23:20 for Sub-status. 4 SNS LS_RJT (Reason/Explanation/Vendor Unique in IOCB byte offsets 23:20). 5 SCR Timeout. See byte offset 23:20 for Sub-status. 6 SCR LS_RJT (Reason/Explanation/Vendor Unique in IOCB byte offsets 23:20). [ER61930] Bug Fixes --------- * MID only. Process received LOGO from F_Port. The associated Port Database Changed (8014h) asynchronous event will differ from a LOGO received from an N_Port as follows: Outgoing Mailbox N_Port F_Port ---------------- ------ ------ 0 0 8014h 8014h 1 N_Port Handle 7FEh 2 0007 0007 3 0Bh/VPIndex 1Ah/VPIndex [ER60623] * MID only. Corrected validation of VP Index received in a CT Pass-Through request. [ER61522] * Corrected verification of RX_ID in received ABTS frame. [ER61591] * Disk CRC only. Corrected inadvertent drop of received XFER_RDY. This problem was introduced as a result of ER60318. [ER61659] * Corrected Fatal Firmware Error 8002h when firmware received back-to-back SRRs for the same exchange. [ER61757] * Corrected Fatal Firmware Error 8002h when an invalid FAN is received and Disable Automatic PLOGI option is selected. [ER61763] * Populate hard address field in ADISC when previous address bit is set when the ISP is operating in a loop topology. [ER61765] * 24xx only. Improved link recovery after LR/LRR when using Inline Credit Extender. [ER61775] * Mercury Converged Network Adapter only. De-Register MAC address associated with a logged out Virtual Port. [ER61890] * Corrected upper 16 bits of receive exchange address when CTIO Error completion status is returned. [ER62084] * Corrected Fatal Firmware Error 8002h during target mode operation when attempting to transmit a FCP RSP after fault injection. [ER62118] * A Command Parameter Error will be returned for a Login/Logout IOCB received with a non reserved N_Port Handle with a reserved Port ID. [ER62321] * MID only. Corrected potential issue with sending a frame with incorrect Port/Node Name. [ER62348] From 4.04.00 to 4.05.00 Changes ------- * Customer-specific change. [ER60313, ER60909, ER61325, ER61654] * 2532 only. Added the ability to specify a maximum Fibre Channel Link speed to be negotiated. This feature is enabled by bit 12 of the Initialize Firmware Control Block's Firmware Option 3. When this bit is set to 1, firmware will negotiate the FC data rate from the given max speed specified by driver in bits 15-13 of the Initialize Firmware Control Block's Firmware Options 3 field to two speeds down to what the SFP allowed. This option can also be set in the Data Rate Mailbox Command (05dh). When incoming mailbox 1 is set to 03h, firmware forces a loss of sync, restarts link initialization, and negotiates the FC data rate from the given max speed specified by driver in incoming mailbox 2 to two speeds down to what the SFP allowed. [ER60321] * Allow system driver to send LOGO ELS via ELS Pass-Through IOCB using a N-Port Handle of FFFFh. [ER60400] * MID only. Return Command Parameter Error (4006h) if the number of requested VP's exceeds the limit when issuing Initialize Firmware - Multiple-IDs Mailbox Command (048h). [ER61208] * 2432 only. Disable PCIe Completion Timeout. PCIe Completion Timeout has been disabled to address issues seen on certain systems where PCIe completion could take over 50ms. [ER61461] Bug Fixes --------- * MID only. Corrected problems related to fault injection. [ER59740, ER60612] * MID only. Various fixes to improve detection and processing of topology changes. [ER60127, ER60326, ER60610, ER60633] * Corrected timing of when RRQ is issued after ABTS ACC is received. [ER60248] * Corrected Out-of-Order handling of overlapped or repeating received XFR_RDY frames. [ER60318] * 2532 Disk CRC only. Various Disk CRC changes to remove Fatal Firmware errors (8002h) being reported. [ER60336, ER61222, ER61223] * MID only. Corrected a problem where a LOGO ELS could be sent to a port that was not logged in. [ER60565] * MID only. Corrected a problem where a FLOGI/FDISC would not be sent to the switch after a previous FLOGI/FDISC completed with an ELS RJT. [ER60566] * MID only. A PLOGI could be rejected for a Virtual Port even though the Primary Port parameters have not changed. [ER60568] * MID only. Corrected a problem where an incorrect number of acquired AL_PAs could be reported during the LIRP and LILP phases of loop initialization. [ER60569] * MID only. Login/Logout IOCB completion status was incorrect when no FLOGI ACC ELS had been received. [ER60571] * Corrected a Fatal Firmware Error (8002h) when a CTIO IOCB with Confirmation Satisfied is received when the FCP_RSP has not been sent yet. The CTIO will be returned with a completion status of Invalid Request (06h). [ER60572] * MID only. Corrected handling of incoming frames while waiting for LOGI ACC ELS for the primary port. [ER60576] * Corrected a problem when attempting to abort an ELS Pass-Through operation when a PLOGI is received that changes the ports D_ID. [ER60637] * Class 2 only. Corrected Fatal Firmware Error (8002h) reported when attempting to abort transmit operations. [ER60698] * Corrected timer values used with link recovery. [ER60877] * Improved handling of receiving an ABTS for a CT Pass-Through exchange. [ER61007] * Corrected a problem with aborting IOs for the incorrect LUN when a LUN Level Task Management Function is active. [ER61155] * MID only. Ensure that Buffer-Buffer Credits are not modified when processing FDISC or FDISC-ACC. [ER61187, ER61216] * MID only. Correctly track changing of local 24-bit ID during cleanup. [ER61200] * Handle race condition of completing transmit of PLOGI-ACC and receiving PRLI. [ER61465] From 4.03.02 to 4.04.00 Changes ------- * Customer-specific change. [ER56370, ER58608, ER59978] * Corrected failures reported by Loopback Mailbox Command (45h) and Echo Mailbox Command (44h). Added sub-error codes to Outgoing Mailbox 3 of the Echo Command to match the Loopback Command. [ER59630, ER59631] Bug Fixes --------- * Disk CRC only. Corrected handling of frames received out of order in target mode. [ER58251, ER58760, ER58761] * 2532 Disk CRC only. Corrected condition where the firmware would overwrite the IOCB Entry Status field when the device receives invalid IOCBs. [ER58532] * 2532 Disk CRC only. Fixed a condition that could result in false DIF Errors when receiving runt block data. [ER58533] * Disk CRC and 2532 only. Corrected an issue with multi-sequence DIF Remove functionality. [ER58752] * 2532 only. Corrected a RISC pause that occurred when optional external memory is present. [ER58783] * Corrected endianess of RNID user defined data field. [ER58802] * Set correct Immediate Notify IOCB sub-code during fault injection. [ER58897] * Improved handling of switches that transition link from F-FL-F when the device is directly connected to a switch port. [ER59100] * Corrected issues relating to the EHAFT feature. [ER59279, ER59431] * Corrected a target mode issue where an ATIO Queue update interrupt would not be posted when using a small ATIO queue. [ER59385] * Corrected a Fatal Firmware Error (8002h) reported when ISP receives FCP_RSP with a payload length greater than 240 bytes. This problem would occur when Command Type 6 IOCB is used with the option to DMA the FCP_RSP payload to the host is enabled. [ER59503] * 2532 only. Corrected the ending memory address reported by About Firmware Mailbox Command (08h) when external memory is present. [ER59793] * 2532 only. Corrected the Report Link Statistics information for Loop topology. [ER59989] * SB2 only. Corrected a problem where the firmware was clearing the N_Port Handle field of a SB2 Send IU IOCB. [ER60017] * Disk CRC and 2532 only. Corrected false DMA error reported when using CTIO Type 7 IOCB (Target Mode) with Status Mode 2 selected. [ER60067] * Fixed a problem that may cause a target level Task Management Function to fail while a LUN Level Task Management Function is outstanding. [ER60126] * MID and 2532 only. Corrected a Fatal Firmware Error (8002h) reported after adapter side fault injection. [ER60256] * Corrected a condition where the local loop would not recover after a transmit error was encountered. [ER60301] From 4.03.01 to 4.03.02 Changes ------- * 2532 only. Enabled additional FC SerDes parameters to be set via Flash for mezzanine cards. [ER59755] Bug Fixes --------- None From 4.03.00 to 4.03.01 Changes ------- * 2532 only. Added support for mezzanine adapters Added a new bit, Embedded HBA, in Flash to indicate an adapter that does not use SFP+, and transmits the Fibre Channel signal over a copper backplane or mid-plane. [ER58635] Bug Fixes --------- * 2432 only. Corrected a condition where Mailbox Commands issued to Function 1 would not complete after issuing Stop Firmware Mailbox Command (14h) to Function 0. [ER58617] From 4.02.02 to 4.03.00 Changes ------- * Added option to post Notify Acknowledge (NACK) IOCB after associated ELS has completed. This option can be enabled by setting (to 1) bit 14 of Incoming Mailbox Register 1 of the Set Additional Firmware Options (38h) Mailbox Command. When this bit is reset (default state), the NACK IOCB is returned when the firmware processes the IOCB. The following new status codes may be returned in the NACK IOCB: - 04h - Completed with Error. An error occurred during the ELS transmission. - 0bh - Command Timeout. A timeout occurred during the ELS process. [ER54823] * Added feature to allow the firmware to post a completed Notify Acknowledge (NACK) IOCB (received from the driver) on the ATIO queue instead of the Response Queue. This option can be enabled by setting (to 1) bit 13 of Incoming Mailbox Register 1 of the Set Additional Firmware Options (38h) Mailbox Command. [ER54834] * Removed the requirement to set Option bit 15 for aborting a CT Pass-Thru IOCB. See ER56025. [ER57003] Bug Fixes --------- * CRC build only. Corrected an issue with runt block support that could overwrite the guard value. [ER51011] * Modified settings of Buffer-to-Buffer credit and Buffer-to-Buffer Credit Management fields for PLOGI, PDISC, PLOGI ACC, and PDISC ACC Extended Link Service commands. [ER54982] * Corrected a condition that could result in dropped frames during Abort IO fault injection. [ER56843] * Customer-specific build. Corrected possible misreporting Underrun VS Overrun completion status. [ER57000] * Corrected issues related to Fibre Channel Extended Firmware Tracing feature. [ER57227, ER58323] * 2532 only. Improved access time when reading Digital Diagnostic data from SFP. [ER57281] * Corrected a condition where the firmware would respond incorrectly to a PDISC or ADISC received before a FLOGI ACC is received when connected in Point-Point. [ER57415] * Corrected a Fatal Firmware Error (8002h) reported after exiting an internal Loopback test when configured for P-P operation only. [ER57507] * Corrected a Fatal Firmware Error (8002h) reported in Target Mode when aborting pending CTIOs. [ER57574] * Corrected returned RNID information. [ER57642] * Corrected a condition where FCP2 related Command IOCB's, CTIO's or Port Control Blocks would be incorrectly terminated during fault injection. [ER57825] * Stopped the system from returning a Good completion in Status IOCB if a misbehaving target sends inconsistent information in FCP_RSP frame. [ER57845] * Corrected a Fatal Firmware Error (8002h) reported when an SRR is received for an exchange that has a pending control frame to be transmitted. [ER57899] * MID only. Corrected a condition where a FLOGI would not be transmitted when a Virtual Port was enabled. The condition would only occur when configured for Target Mode only and Loop only topology. [ER57905] * MID only. Corrected a condition where an IOCB would be incorrectly returned with a Port Logged Out (29h) status after a Logout performed for a different VP. [ER57910] * Corrected Firmware handling of unexpected receipt of FCP-RSP, FCP-XFR-RD, and FCP-CONF frames. [ER57927] * CRC build only. 2432 only. Corrected an unexpected DIF Error reported during DIF Remove operations. [ER58167] * 2532 only. Corrected an issue that could prevent the link from coming up when connected to McDATA 2Gb switches. [ER58260] From 4.02.01 to 4.02.02 Changes ------- No changes. Bug Fixes --------- * Corrected an issue where pending IOs would not be terminated when the link topology changes from F<->FL without a Loss of Sync. [ER57512] * Corrected a firmware error (8002h) reported if a REC is scheduled to be transmitted when an FCP_RSP or FCP_XFER_RDY is received for the same exchange. [ER57530] * Correctly set exchange re-use time after REC RJT ELS received. [ER57597] * Corrected a condition that prevented the SCR ELS from being sent when no resources are available. [ER57638] * Corrected a condition where the Get IO Status Mailbox Command (12h) would not complete when a REC was requested for an exchange that was concurrently completing. [ER57727] From 4.02.00 to 4.02.01 Changes ------- * 2532 only. Updated Fibre Channel SerDes parameters. [ER57670] Bug Fixes --------- * 2532 only. Corrected SFP+ detection to match 2532 Firmware Interface Specification Rev C. [ER56341] * Corrected a Task Management Function IOCB request to a FCP-2 device not being returned to the system driver upon timeout. This occurred if the FCP-CMD was dropped repeatedly by the target device or as a result of a bad link. [ER57255] * Corrected a condition that caused the firmware state to not become ready if the current topology is Fabric Point-Point. This occurred when the previous topology was FL and the firmware is waiting for a FAN ELS. [ER57316] * Corrected unused memory initialization to prevent reporting a RISC pause condition on one function when performing a firmware debug dump on the other function. [ER57469] * The firmware will now return Underrun status (15h) when it detects a misbehaving device that sends a good FCP_RSP for a write command without requesting any data. This detection was missing for FCP-2 devices. [ER57493] From 4.01.00 to 4.02.00 Changes ------- * Added support to trace selected Fibre Channel traffic to a host supplied buffer. Contact QLogic for additional information. [ER52809] * Added an option in target mode to route some Asynchronous Events to the ATIO queue as Immediate Notify IOCBs. Contact QLogic for additional information. [ER54835] * 2532 only. MSI-X Vector 1 now requires the host driver to clear the RISC to Host Interrupt Request after processing. [ER56700] Bug Fixes --------- * Corrected a Firmware Error or RISC Pause condition that occurred while doing fault injections when IP is enabled. [ER56527] * Corrected a condition that could result in a Firmware Error being reported during an aborted transmit cleanup operation. [ER56528] * 2532 only. Corrected Flash Memory programming when writing more than FFFFh bytes via Load RAM Mailbox Command (0Bh). [ER56716] * 2532 only. Corrected the Digital Diagnostic interface to the SFPs. [ER56790] From 4.00.32 to 4.01.00 Changes ------- * Initial release supporting ISP/EP 25xx 8Gb products. * Firmware will now retry a PLOGI/FLOGI when it receives a LS_RJT with retryable reason code. [ER54351] * Customer-specific build. Performance improvements under certain IO loads. [ER54777] * SB2 only. Various performance improvements. [ER54934] * MID only. Firmware will now discard frames received with an invalid Destination ID instead of treating as a fatal error. [ER55113] * Removed command timeout restriction of 1999h on all IOCB types. Maximum timeout value is now FFFFh. [ER55441] * The firmware now sets to 1 the PRLI REC_SUPPORT bit (PRLI and PRLI ACC Word 3 Bit 10) as defined in the FCP-4 specification. The firmware will reply to a received REC request. The driver can initiate a REC ELS request for a SCSI IO via the Get IO Status Mailbox Command (12h). See the ISP Firmware Specification for interface. - Incoming Mailbox 9 - VpIndex (Multi-ID builds only) - Incoming Mailbox 10 - Options Bit 0 - When set to 1, the firmware will locate the IO with the handle specified. If the IO is located and has been started, the firmware will send a REC ELS to the remote device. - Upon completion of the Mailbox Command: * Outgoing Mailbox 0 - Command Complete (4000h). See Outgoing Mailbox 4 for IO status. - Command Error (4005h). Mailbox 1 will contain subcode. See the ISP Firmware Specification for Sub-Error Codes for Mailbox Command Completion Status Code 4005h. In addition the following completion codes have been added. - Command parameter error (4006h). The specified N_Port Handle or VP Index is invalid. * Outgoing Mailbox 1 - 0000h - The firmware was unable to locate the specified IO. - 0020h - Attempt to send REC ELS to remote port that has the PRLI Retry bit set. * Outgoing Mailbox 4 - 3h Reserved. - 4h - IO started, REC sent and REC ACC received (outgoing 1 to 3 contain exchange information of when REC ELS is sent and outgoing mailbox 5 to 8 contain REC ACC information). See Outgoing Mailbox 5 - 8 for REC ACC information. - 5h - IO started, REC sent and LS_RJT received (outgoing 1 to 3 contain exchange information of when REC ELS is sent and outgoing mailbox 5 and 6 contain REC reject reason code and reason explanation). * Outgoing Mailbox 5-6 contain reject reason code and reason explanation. * Outgoing Mailbox 5 - FC4Value bits 15-0 (if IO Status = 4) or Reason Explanation bits 15-8 and Vendor Unique bits 7-0 (if IO Status = 5). * Outgoing Mailbox 6 - FC4Value bits 31-16 (if IO Status = 4) or Reserved bits 31-24 and Reason code bits 23-16 (if IO Status = 5). * Outgoing Mailbox 7 - E_STAT bits 15-0 (if IO Status = 4). * Outgoing Mailbox 8 - E_STAT bits 31-16 (if IO status = 4). [ER55643] * Return additional firmware maintained statistics counters. Contact QLogic for additional information. [ER55731] * Added support to abort a CT Pass Through IOCB via the Abort IO IOCB (type 33h). Bit 15 of the Abort Options must be set. [ER56025] * MID only. Firmware will now return the number of VP's supported in outgoing mailbox 11 of Get Resource Counts Mailbox Command (42h). [ER56387] * MID only. Firmware will now return the VP Index in the Pure (offset 6h) and ABTS Received (offset Eh) IOCBs. [ER56425] Bug Fixes --------- * Correct possible false parity errors reported when receiving an incorrectly built non-data frame. [ER54833] * Corrected a condition in target mode where a LS_RJT could be sent in response to a REC request during FCP-2 error recovery. The correct response should have been LS_ACC. [ER54857] * SB2 only. Firmware was incorrectly dropping a SB2 IU of type 1ch. [ER54906] * MID only. Corrected a condition where the firmware would return the wrong VP Index when the switch assigned the same D_ID to a new VP. [ER54986] * MID only. Fix potential RISC pause when issuing Get VP Database Mailbox Command (49h). [ER54988] * SB2 only. Fix Fatal Firmware Error (8002h) reported when a SB2 exchange is aborted by an incoming ABTS. [ER55155] * CRC build only. Fix an IO timeout incorrectly reported during a DIF remove operation. [ER55209] * Corrected memory leak that resulted from CTIO resources being lost when the CTIO Flags bit 8 option (Don't return CTIO on completion) was used in conjunction with continuation IOCBs. [ER55569] * Corrected a RISC pause reported when processing an incorrectly built SCSI command. [ER55587, ER55616] * Corrected an issue when using MSI that could cause vector address or direction to be incorrect. [ER55838] * SB2 only. Fixed a condition where a Port Database Asynchronous Event (8014h) would not be generated after a PLOGI ACC was sent. [ER55910] * Corrected D_ID field in the FLOGI ACC transmitted when connected in an N-N topology. [ER56177] 2. Known Issues None. 3. Additional Notes ISP 24xx/25xx/81xx/83xx Firmware Version: 7.01.03 Adapter Support: * 4Gb Fibre Channel Adapters (QLE2xxx, QLx24xx) * 8Gb Fibre Channel Adapters (QLE25xx) versions 4.01.00 and later * Converged Network Adapters (QLE81xx) versions 5.00.00 and later * Converged Network Adapters (QLE83xx, ASIC rev B0 only) versions 6.00.12 and later. 4. Notices Information furnished in this document is believed to be accurate and reliable. However, QLogic Corporation assumes no responsibility for its use, nor for any infringements of patents or other rights of third parties which may result from its use. QLogic Corporation reserves the right to change product specifications at any time without notice. Applications described in this document for any of these products are only for illustrative purposes. QLogic Corporation makes no representation nor warranty that such applications are suitable for the specified use without further testing or modification. QLogic Corporation assumes no responsibility for any errors that may appear in this document. 5. Contacting Support For further assisance, contact QLogic Technical Support at: http://support.qlogic.com Trademarks Accelera, Accelerating Cluster Performance, InfiniCon Systems, InfiniNIC, InfiniPath, InfiniView, QLA, QLogic, the QLogic logo, ReadyPath, SANdoctor, SANsurfer, and SilverStorm are registered trademarks of QLogic Corporation. All other brand and product names are trademarks or registered trademarks of their respective owners. (c) Copyright 2014. All rights reserved worldwide. QLogic and the QLogic logo are registered trademarks of QLogic Corporation. All other brand and product names are trademarks or registered trademarks of their respective owners.