ISP Firmware Release Notes Cavium, Inc. 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/26xx/81xx/83xx/27xx firmware versions 8.08.206 and earlier. References below to 83xx include both 83FC and 83FCOE. 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 plus Multiple Queue * SB2-Single Byte Command Code Set Mapping Protocol * VI-Virtual Interface * VP - Virtual port * CVL - Clear Virtual Link * SRIOV - Single-root I/O Virtualization * NN (No-NIC) - Special build for FCoE that doesn't rely on NIC firmware * MPI - Management Processor Interface From 8.08.205 to 8.08.206 This release includes 2500midq only. Changes ------- Bug Fixes --------- * 25XX: The firmware failed to bring up the FC link on the first port of an 8G mezz card. This was caused by a counter not being initialized during ASIC initialization. [ER146046] From 8.08.204 to 8.08.205 Changes ------- * Fix an initiator performance issue seen when certain targets return otherwise good FCP_RSP IUs, but containing a non-zero parameter field. This was caused by configuring the ASIC to treat this condition as a non-performance case. [ER145535] Bug Fixes --------- None From 8.08.203 to 8.08.204 Changes ------- * 27XX: Move the firmware attribute bit indicating NVMe support from bit 26 to bit 30. [ER144999] Bug Fixes --------- None From 8.08.202 to 8.08.203 Changes ------- None Bug Fixes --------- * 27XX: Customer-specific. [ER144790] * 83XX, 27XX: Customer-specific. [ER144744] * 83FC, 27XX: Customer-specific. [ER143769] From 8.08.201 to 8.08.202 Changes ------- * 27XX: Customer-specific. [ER143549] [ER143889] [ER143847] [ER143852] [ER143898] Bug Fixes --------- * 27XX: Customer-specific. [ER143668] [ER143703] * 83XX, 27XX: Utilize a default I2C address for the temperature sensor whenever it is not specified in flash. [ER143851] * 83XX, 27XX: Fix potential issues in Loopback, Echo and Hot reset, introduced in v8.06.00 by ER139635. [ER143598] * 83FC, 27XX: Customer-specific. [ER144525] * Fix a firmware system error that occurred in target mode during an FCP exchange for a write IO. [ER143450] [ER144101] * 24XX, 25XX: Avoid changing the port state to 07/07 after receiving an abnormal PRLI response. [ER143571] From 8.08.200 to 8.08.201 Changes ------- None Bug Fixes --------- * 27FC: Discard incoming NVMe FC-4 Link Service frames while the FC-NVMe feature is not enabled. [ER144143] * 27FC: Fix incorrect value returned in the Receive Exchange Address Specified By ABTS to Abort field (bytes 3Ch to 3Fh) of the ABTS Received IOCB (54h) when an ABTS is received to abort the exchange associated with an NVMe Link Service command or a pass-through ELS request command. [ER144312] From 8.08.122 to 8.08.200 Changes ------- * 27XX: Customer-specific. [ER144092] [ER142743] * 83XX, 27XX: Customer-specific. [ER143953] * 27XX: Support LCB as defined in FC-LS-3 specification version 3.53. [ER144122] Bug Fixes --------- * Target Mode: Honor the Terminate Immediate Notify Exchange Flag (bit 3) of the Notify Acknowledge (0Eh) request IOCB. [ER143711] * 83FC, 27XX: Customer-specific. [ER143301] [ER143522] [ER144181] * Fix firmware system errors (AEN 8002h) or non-fatal errors resulting from the aborted DMA of an FCP_RSP IU payload to the host. [ER143637] * 81XX, 83XX: 27XX: Fix a firmware system error that occurred when the target driver aborted an FCP exchange while Memory Offload was enabled. [ER143993] * 27XX: Customer-specific. [ER144066] [ER144071] * 27XX: Discard NVMe FC-4 Link Service frames while the FC-NVMe support is not enabled. [ER144143] * 83FC, 27XX: Fix a bug introduced by ER142743 that resulted in Initialize MID Firmware (0048h) MBC completing with Command Parameter Error (4006h) from 83FC firmware. [ER143354] From 8.08.121 to 8.08.122 Changes ------- * 27XX (T10_DIF): Add Large CDB support (Options bit 1) of Command Type CRC_3 (38h) IOCB. [ER143794] * Customer-specific. [ER143926] Bug Fixes --------- * 27XX: Customer-specific. [ER143927] * 27XX: Fix ATIO queue corruption caused by target firmware. [ER143965] From 8.08.120 to 8.08.121 Changes ------- * 27XX: Customer-specific. [ER143475] Bug Fixes --------- * 83XX, 27XX: Fix spurious Temperature Alert (8070h) AEN reported on certain adapters. [ER143524] * 27XX (T10 DIF): Fix a bug introduced by ER141382 that affected CRC_2 Command Type (6Ah) IOCB and Command Type FC-NVMe CRC IOCB (8Ah). [ER143770] * 27XX: Customer-specific.[ER143872] From 8.08.02 to 8.08.120 Changes ------- * 27XX: Customer-specific. [ER143469] [ER143496] [ER143549] [ER143547] [ER142135] Bug Fixes --------- * 83FC, 27XX: Fix issues related to Diagnostic Port and Link Diagnostics operations. [ER143517] [ER142897] From 8.08.01 to 8.08.02 Changes ------- Bug Fixes --------- * Extend ER77592 to all builds to eliminate stalls when transmitting response frame after data frames in certain cases. [ER143325] * 27XX: Avoid potentially transmitting a good status when errors occur during an FC-NVMe IO exchange. This change adds Flags bit 3 (Exchange Error Acknowledge) to CTIO Type FC-NVMe (82h) IOCB. When the driver is aware of errors associated with the exchange, the driver can either specify NVMe Status Mode 2 and the Exchange Error Acknowledge bit set to 1 or else terminate the exchange. Contact Cavium, Inc. for API documentation. [ER143417] From 8.08.00 to 8.08.01 Changes ------- * 27XX: Increment HFL version from 38 to 39. [ER143220] * 27FCIOV: Remove support for HFL. [ER143303] * 27XX: Customer-specific. [ER142640] [ER143115] [ER143116] * 83FC, 27XX: Customer-specific. [ER142901] [ER143133] * 83XX, 27XX: Customer-specific. [ER143083] * Customer-specific. [ER143119] Bug Fixes --------- * During clean-up operations, return outstanding ELS Pass-Through (53h) IOCBs with Completion Status equals 31h (Error), Subcode1 equals 04h (Command Failed), and Subcode2 equals FFh (No Additional Explanation). [ER142876] * 25XX, 81XX: Fix a regression where the firmware did not transmit FCP_CMND IUs and returned Time Out error code in Status Type 0 IOCB under heavy load. [ER143117] * 83FC, 27XX: Upon execution of Get Firmware State (0069h) MBC, set the Wrap Capability field (bits 11-8) of MB3 to 0 (SFP does not support wrap capability) when an Active Optical Cable is used. [ER142977] * 81XX, 83XX, 27XX: Fix IO errors that occurred while executing an HFL operation. [ER142921] * FC: Fix Perform Link Initialization (0072h) MBC that included unnecessary delay in completing. [ER143072] * 27XX: Customer-specific. [ER143048] [ER142393] [ER143216] * 25MIDQ, 83FC, 27XX: Improve T10 target mode write performance. [ER143188] * 83FC, 27XX: Avoid causing unnecessary I2C write accesses to the SFP that resulted in I2C bus stalling. [ER142830] * 83FC, 27XX: Fix issues occurring in the static D_port test with a Brocade switch. Addresses an intermittent timeout during O_WRAP and an NMI generated in adapter ASIC. [ER143357] From 8.07.00 to 8.08.00 NOTE: This version includes two HFL version changes. Their effect is cumulative; i.e., the net increment is 2. Changes ------- * 27XX: Add support for FC-NVMe. [ER140483] [ER140972] [ER141022] [ER141382] [ER141616] [ER142777] [ER142812] [ER142813] [ER142828] * 27XX: Customer-specific. [ER141267] [ER141225] [ER140568] [ER141960] * FC: Post a Report Identifier Acquired (32h) IOCB Format 2 (instead of Format 1) in N2N topology while Initialize Firmware Option 3 bit 0 is set to 1. [ER141969] * 83FC: Customer-specific. [ER142385] * 83XX, 27XX: Customer-specific. [ER142061] [ER141435] * 27XX: Indicate an MPI Heartbeat Timeout via AEN 8200h with Mailbox 2 Bit 8 set to 1. [ER141233] * 27XX: On completion of Execute Firmware (0002h) MBC, echo incoming MB4 (Options) to outgoing MB4. [ER138991] Bug Fixes --------- * 83XX, 27XX: Fix a firmware system error following detection of an ATIO Queue Full condition when multiple ATIO queues are present. [ER141537] * 27XX: Add support for passing the BB_SC_N parameter of the Common Service Parameter via the ELS Pass-Through (53h) IOCB. [ER139463] * 27XX: Customer-specific. [ER141519] [ER141491] [ER141723] [ER141980] [ER142564] * 83XX, 27XX: Customer-specific. [ER140628] [ER141512] [ER141534] [ER141328] [ER141651] [ER141834] [ER141343] [ER141793] [ER142179] [ER142305] * FC: Fix a bug affecting the use of bits 0, 1, 2 and 11 of the Firmware Options 1 parameter of Initialize Firmware (0060h) and Initialize Multi-Id Firmware (0048h) MBC. [ER141526] * 27XX: Fix a firmware system error observed during the abort of a received T10 Block CRC exchange with DIF bundling enabled. [ER141439] * 25XX, 81XX, 83XX, 27XX: Customer-specific. [ER141016] * Fix a bug resulting in the firmware returning CTIO Type 7 IOCBs with Status code equal to 0Bh (Command Timeout). [ER141563] * Prevent a firmware system error (8002h) that occurred when performing HFL while running FCP IO. [ER141066] * 27XX: Fix detection of Loss Of Sync when the cable is unplugged after the link is up at 16G. [ER141892] * Address a firmware system error that occurred during receive path processing in target mode. [ER141830] * 83XX, 27XX: Fix a bug in enabling the Fabric Priority feature while processing the Initialize Firmware (0060h) MBC. [ER141649] * Fix a possible firmware hang or firmware system error occurring during exchange clean up in target mode. [ER141678] * 27XX: Support maximum training timeout for 32Gbps data rate per FC-FS-4 specification. [ER141991] * Avoid changing the login state while processing Login Logout (52h) IOCB with Command equals 4 (PRLO) and Control Flags bit 4 (Implicit PRLO) equals 1. [ER142030] * FC: Improve speed negotiation timing when the data rate is set to auto-negotiate. [ER138834] * Fix firmware system error (8002h) occurring during CTIO termination. [ER137096] * 83XX, 27XX: Customer-specific. [ER142056] * 27XX: Fix a command error (4005h/4020h) completion for Execute Firmware (0002h) MBC falsely reported for an EP adapter. [ER142230] * Discard any incoming ELS frame that exceeds the transmitted buffer-to-buffer receive data field size. As responder, limit the payload size in the RDP LS_ACC reply according to the remote port's buffer-to-buffer receive data field size. [ER142199] * 83FCIOV: Fix a possible firmware system error (AEN 8002h) generated while processing Execute Firmware (02h) MBC after both FC functions are restarted concurrently. [ER142449] * 83FC, 27XX: Fix a bug in v8.07.11 that caused the D_Port optical test to be skipped. [ER142626] * Customer-specific. [ER142097] * 27XX: Fix a firmware system error that occurred when multiple ports of the HBA processed Execute Firmware (0002h) MBC simultaneously. [ER141732] * 83XX, 27XX: Fix processing of a Block CRC write IO consisting of multiple FCP_XFER_RDY IUs. [ER141828] * Validate the source ID of an ELS LS_ACC reply to a PLOGI request and avoid returning error code/subcode of 31h/1Ah in ELS Pass-through IOCB. [ER142100] * MID: Avoid generating a Receive Error (8048h) AEN when executing VP Control (30h) IOCB with Command Bh (Disable VPs and logout all ports) followed by VP Control (30h) IOCB with Command 0 (Enable VP). [ER142440] * 83FCIOV: Remove HFL support. [ER142434] [ER142877] * 83XX, 27XX: Complete the ER139428 fix included in v8.06.00. [ER142474] * 81XX, 83XX, 27XX: Fix processing of HFL to preserve pending requests that involve DMA transfers. This fix includes changes to the HFL version: HFL_VER equals 19 (for 81XX); HFL_VER equals 37 (for 83XX, 27FC non-SRIOV); HFL_VER equals 67 (for 83FCIOV, 27FCIOV). [ER141769] * 81XX, 83XX, 27XX: Fix processing of HFL to handle pending Block CRC transfers. This fix includes changes to the HFL version number: HFL_VER equals 20 (81XX); HFL_VER equals 38 (for 83XX, 27XX non-SRIOV); HFL_VER equals 68 (83FCIOV, 27FCIOV). [ER142583] * Fix processing of Login Logout (52h) IOCB to prevent response status 31h (Error) and subcode 0Ah (No PCB Allocated). [ER142315] From 8.06.00 to 8.07.00 Changes ------- * 27XX: Provide support for shadowing the ATIO queue in-pointer to system memory. This is an extension of the existing capability of shadowing the request queue out-pointer and response-queue in-pointer. See section 2.4.6 of the 2600 and 2700 Series Fibre Channel Firmware Interface Specification. Contact QLogic for details of the API changes. [ER137063] [ER141089] * 83XX, 27XX: Add support for IOCB-based mode under the Fabric Priority mapping feature. [ER138809] * MID: Add command code Ch to Virtual Port Control (30h) IOCB for performing Implicit Logout to the specified VPs and also Explicit Fabric Logout. [ER141088] * 83XX: Customer-specific. [ER141214] * 83XX, 27XX: Add support for advertising the Fabric Priority capability (class-specific service parameters word 0, bit 23) via the PLOGI request to the remote port and support to indicate the remote port’s Fabric Priority capability via its LS_ACC ELS reply. Contact QLogic Corporation for application note updates. [ER141038] * 27XX: Customer-specific. [ER140625] [ER141062] * 83XX, 27XX: Customer-specific. [ER140038] [ER140301] [ER140448] * Customer-specific. [ER140759] [ER141336] * 83XX: Customer-specific. [ER141065] Bug Fixes --------- * FCOE: Fix a failure to login to the FCF after detecting a discover timeout and while Additional Firmware Options 3, bit9 (Suspend FIP Discovery on No Response) is set to 1. [ER140412] * 27XX: Fix a firmware System Error that occurred while issuing Execute Firmware (0002h) MBC simultaneously on multiple adaptor ports. [ER140284] * 83FC, 83FCOE-NN, 27XX: Fix the I2C bus error handling code to prevent a firmware hang. [ER140585] * 27XX: Improve the reliability of I2C write operations to the SFP. [ER140825] * 83FC-VI: Fix compilation error. [ER140626] * 27XX: Fix an issue that occurred on the quad-core 27XX ASIC only, resulting in an IO exchange timeout while the Memory Offload feature was enabled. [ER140540] * 81XX, 83XX, 27XX: Miscellaneous correction related to the Memory Offload feature. [ER140608] * 83XX, 27XX: Fix an issue that occurred on 27XX only, while handling a DMA operation, that caused timeouts of many IO exchanges while the Memory Offload feature was enabled. [ER138966] * Fix an issue in efficiently transmitting FCP_CMND frames while the firmware is configured for both initiator and target operation, and there is heavy target mode traffic. [ER140822] * SB2: Avoid dropping multiple frames when a sequence contains multiple frames and the sequence contains an invalid frame. [ER140762] * 24XX, 25XX: Fix a firmware system error that occurred while receiving data in target mode when the CTIO specified multiple data segments. [ER140980] * 27XX: Fix a failure during Diagnostic Loopback (0045h) MBC that may occur at 4G/8G speeds, resulting in ‘Command Error’ (4005h) completion code and ‘The Host Must Reset the QLogic ASIC due to a Loopback Failure’ (17h). [ER140631] * 27XX: Fix potential errors during DMA transfers performed while the Memory Offload or ATIO Queue Pointer Shadowing features are enabled. [ER141061] * FC: Fix a failure to bring or keep the link down with a Brocade switch upon execution of Request Offline Mode (0043h) MBC. [ER141086] * 27XX: Fix slow FC link up on QLogic 32G capable adapter when both the FEC and TTS options are disabled in N2N topology with non-QLogic adapters. [ER139072] * 27XX: Fix a firmware system error that occurred in target mode during the abort of IO exchanges. [ER141183] * 83XX, 27XX: Prevent potential issues while the Multiple ATIO Queue feature is enabled. [ER141210] * 27XX: Fix the BB_SC_N value contained in the FLOGI request (N2F) or PLOGI request (N2N) transmitted after execution of the Initialize Firmware (0060h) MBC while the Buffer to Buffer Credit Recovery (BB_CR) feature is enabled. [ER141002] * 83FC: Fix slow link up in loop topology. [ER141115] * Fix a firmware system error notification posted after receiving a link control frame with no payload as a response to an ELS request issued via ELS Pass-through (53h) IOCB or a CT Command issued via CT Pass-through (29h) IOCB. [ER141078] * 83FC, 27FC: Add missing Rx_Power in result data reported via D_Port Diagnostics (0047h) MBC with Options parameter equal to 0h. [ER141204] * 83FC, 27XX: Fix port identifier change indications via Port Database Changed (8014h) AEN with 0Dh reason or Immediate Notify (0Dh) IOCB with 2Ah status and 05h substatus while the Fabric-assigned Worldwide Port Name (FA_WWPN) feature is enabled. [ER141294] * 83XX, 27XX: Ignore offsets 7Ch to 7Fh of the Initialize Firmware Control Block for general usage. [ER141329] * 27XX: Customer-specific. [ER139632] [ER140268] [ER140699] [ER140718] [ER141007] * 83FCIOV, 27FCIOV: Customer-specific. [ER140773] * Customer-specific. [ER141048] From 8.05.00 to 8.06.00 Changes ------- * All builds except VI: Remove support for the following features in Initialize Firmware (0060h) and Initialize Firmware (0048h) MBC via Firmware Options 3 of Initialize Firmware Control Block: bit 6 (Enable Receive Out-of-Order Data Frame Handling) and bit 9 (Enable Out-of-Order FCP_XFER_RDY Relative Offset Handling). The firmware will ignore these bits and treat received out-of-order FCP_DATA and FCP_XFER_RDY frames as if these bits were set to 0. [ER140082] * Add SyStatROMismatch (Relative Offset Mismatch) counter at byte offset 0F8h of the Private Data Counters data structure accessible via the Get Link Statistics and Private Data Counts (006Dh) MBC. [ER140083] * 83XX, 27XX: Customer-specific. [ER136872] * 83FCIOV, 27FCIOV: Restrict Load/Dump MPI RAM (0005h) MBC and Get FC-AL Position Map (0063h) MBC to the Physical Function (PF) only. [ER139810] * 83FCIOV, 27FCIOV: Customer-specific. [ER139832] * 25XX, 81XX, 83XX, 27XX: Prevent a CTIO completion with timeout status when Additional Firmware Option 2 bit 8 (Configure Emergency Exchange Pool Exclusively for ELS Request from the Wire) is not set to 1. [ER139949] * 81XX, 83XX, 27XX: Increment the HFL version numbers as shown below. [ER139862]. Note that ER139862 depends on ER138418 and takes precedence with regard to HFL version. Increment HFL version from 26 to 36. (83FC, 83FCOE, 83FCOE-NN, 27FC), Increment HFL version from 56 to 66. (83FCIOV, 27FCIOV), and Increment HFL version from 8 to 18. (81XX) * Expand the Registration Format type field (contained in MB1) of Send Change Request (0070h) MBC to four bits to support Peer Zone Change Registration (08h) type. [ER140114] * 83FC, 27XX: Add support for Power Loss calculation in D_port operation. [ER139685] * 24XX,81XX,83XX,27XX: Customer-specific. [ER139522] * Customer-specific. [ER139233] * 25XX, 81XX, 83XX, 27XX: Customer-specific. [ER139426] * 25XX, 83XX, 27XX: Customer-specific. [ER139994] [ER139218] * 27XX: Customer-specific. [ER139225] [ER139741] [ER139657] [ER139417] [ER139478] [ER139753] [ER140056] [ER139635] * 27XX: Customer-specific. [ER138788] [ER139839] [ER139913] [ER139958] [ER139986] [ER139953] [ER140048] * 83XX, 27XX: Customer-specific. [ER139746] [ER138552] [ER138736] [ER139334] Bug Fixes --------- * MID: Fix firmware fatal error (8002h) that occurred when enabling a virtual port via Modify Virtual Port Configuration IOCB (0031h) with Options bit 6 ‘Enable SNS Login and SCR for Virtual Ports’ is set to 1 but buffer resources were not available. [ER137269] * Transmit an LS_RJT in response and post an LS_RJT Response Sent (8049h) AEN with reason code (MB3) set to 0003h when a PLOGI request is received while firmware resources are constrained. [ER139151] * 83XX, 27XX: Fix the sequence timeout value to prevent false sequence timeout errors during multi-sequence data transfers. [ER139071] * FCOE: Fix a bug where received FLOGI reply payload was stored to the PCB structure of the wrong N_Port handle, resulting in firmware sending LS_RJT replies for subsequently received PLOGI requests or returning a Login/Logout Port IOCB with status equals 31h (Error Occurred) and Subcode equals 1Bh (N_Port handle is used). [ER139305] * 27XX: Improve FC link up reliability when both the FEC and TTS options are enabled. [ER139186] * 24XX: Fix a failure to disable the FC laser (by default) when a driver heartbeat timeout occurs. See Driver Heartbeat (005Bh) MBC. [ER139329] * 83XX, 27XX: Prevent a Temperature Alert (8070h) AEN with subcode Shutdown Initiated (MB1 set to 12h) during HFL if the flash contents become invalid. [ER139432] * 27XX: Fix a firmware system error that occurred in loop topology during link re-initialization. [ER139516] * 27XX: Fix a firmware system error that occurred in target mode when an LR primitive was received, followed by FCP_CMD IU. [ER139296] * 83XX, 27XX: Fix a firmware system error that occurred during transmit clean-up operations while the Multi-channel XDMA feature was enabled. [ER139428] * 83XX, 27XX: Customer-specific. [ER139470] * 27XX: Fix the Port Speed Capabilities field of RPSC (7Dh) and RDP (18h) ELS reply sequences to comply with the latest Fibre Channel specifications. [ER139274] * 83XX, 27XX: Fix a firmware system error (8002h) notification occurring in target mode when the driver issues multiple CTIO requests with both Terminate Exchange and Send ABTS Exchange flags set to 1 for a single IO exchange. Also fix a RISC pause condition that may occur when the driver issues a CTIO with both Terminate Exchange and Send ABTS Exchange flags set to 1 and the Receive Exchange Address is set to FFFF_FFFFh. Note that the Send ABTS Exchange flag (bit 4) of the CTIO Additional Flags field (offset Fh) allows the target port to send ABTS during termination and is documented in the application note for the Receive Sequence Error Notification feature. [ER139148] * 83FC: Customer-specific. [ER139281] * 27XX: Fix handling of hardware errors to maintain correct diagnostic dumping capability. [ER139536] * MID: Fix potential issues in firmware statistics logging. [ER139152] * 83XX, 27XX: Customer-specific.[ER138409] * 83XX, 27XX: Fix I2C communication issues with ADT temperature sensor. [ER139291] * 81XX, 83XX, 27XX: Fix issue where Stop Firmware (0014h) MBC was not serviced. [ER139321] * 83FCIOV, 27FCIOV: Load VF outgoing mailbox 0 registers with “Idle” status during firmware startup to indicate that the firmware is ready to accept commands. [ER139310] * 24CRC, 25MIDQ, 25CRC, 81MIDQ, 81CRC, 83XX, 27XX: Avoid possible memory leaks after either a Bidirectional Command (75h) request IOCB or a Data Protection (various Command and CTIO CRC types) request IOCB using DIF Bundling fails with Entry Status bit 3 (Invalid Entry Parameter) set to 1. [ER138978] * 83FCIOV, 27FCIOV: Prevent potential firmware fatal error when reissuing a lost command for a given VP during FCP-2 recovery. [ER139512] * 83XX, 27XX: Fix cleanup of IOCB chain containing an invalid sequence to prevent potential memory leak. [ER139526] * 83XX, 27XX: Fix incorrect data returned via Get Parameters (005Ah) MBC with Format (MB1 bits 15-8) set to 0Ch (read temperature) to access the ADT temperature sensor. [ER139541] * 27XX: Retry the FLOGI request in N2F topology when both Diagnostic Port (D_Port) and Buffer-to-Buffer Credit Recovery (BB_CR) features are enabled in flash but the original FLOGI reply has no BB_SC_N value assigned. [ER138600] [ER139811] * 83XX, 27XX: Customer-specific. [ER139745] [ER139708] [ER138724] * All builds excluding SB2: Fix a firmware system error occurring on an HBA port initialized in dual mode (i.e., both initiator and target enabled) while running FCP traffic. [ER139699] * 25XX, 81XX, 83XX, 27XX: Add improvements to initiator mode performance when the I/O workload exceeds the initiator exchange buffer count. Increment HFL version from 25 to 26. (83FC, 83FCOE, 83FCOE-NN, 27FC). Increment HFL version from 55 to 56. (83FCIOV, 27FCIOV). Increment HFL version from 7 to 8. (81XX) [ER138418] * 81XX, 83XX, 27XX: Add improvements to target mode performance while the exchange offload feature is enabled. [ER137645] [ER139563] * 81XX, 83XX, 27XX: Fix an issue preventing a pageable XCB from being offloaded and freed while the exchange offload feature is enabled. [ER137107] * 83XX, 27XX: Fix a false Sequence Timeout Error (035h) reported in a CTIO completion after an ABTS request was received while the Receive Sequence Error Notification feature was enabled. [ER139430] * FC: Fix a dropped FLOGI request in N2N topology while waiting for the IDLE primitive during P2P link initialization. [ER139520] * 81XX, 83XX, 27XX: Fix a firmware system error that occurred during link re-initialization following an HFL operation. [ER139687] * 83XX, 27XX: Customer-specific. [ER139877] * 25XX, 81XX (non-MID and non-CRC): Fix an error in handling a REC ELS request in an FCP exchange. Instead of LS_ACC, an LS_RJT with reason code Invalid OX_ID-RX_ID combination (17h) was transmitted. [ER140145] * 83XX: Fix dropped FCP_CMD frame by a virtual port (VP index greater than 0) logged into the fabric via FLOGI while the primary adapter port (VP0) was disabled via Global VP Options bit 2 of Initialize Multi-ID Firmware MBC (0048h). [ER135364] * 83XX, 27XX: Fix a firmware system error that could occur when utilizing CTIO requests that include multiple continuation IOCBs. [ER139731] * 24MID: Fix a failure to return a response for a Virtual Port Control IOCB (30h) issued to disable a VP. [ER139351] * 83XX, 27XX: Fix interrupt handling when multiple ATIO Queues are configured and multiple queues share the same interrupt vector. [ER139861] * 27XX: Fix incorrectly returning a CTIO IOCB with Command Timeout (0Bh) status code after receiving data containing a DIF error. [ER139382] * 27XX: Improve throughput performance during read I/O when the link speed is 32G. [ER139755] * 27XX Customer-specific. [ER139794] [ER140192] * 83XX, 27XX: Customer-specific. [ER139900] [ER139886] * 83XX, 27XX: Fix issues resulting from executing HFL while Multiple Queues were configured. [ER139408] * 25XX, 81XX, 83XX, 27XX: Fix exchange identifier validation for Memory Offload operation. [ER139984] * 81XX, 83XX, 27XX: Fix issues with the exchange clean-up operation of the Memory Offload feature running on the target. [ER139920] * 83FCIOV, 27FCIOV: Return Command Parameter Error (4006h) status for Initialize Firmware (0060h) MBC when Operating Mode (Firmware Option 2) specifies Mirroring Only and any queues have been pre-allocated for any VFs. [ER140016] * 83XX, 27XX: Prevent potential transfer errors during certain memory transfer operations. [ER140193] * 27XX: Fix a potential firmware system error (8002h) while receiving storm of frame errors. [ER140195] * 83FCIOV, 27FCIOV: Fix a hang observed when invoking the option ROM utility. [ER140142] * 27FCIOV: Fix interrupt handling in response queue processing when ZIO interrupt mode is enabled and VFs are configured. [ER140209] * 25MID/CRC/MIDQ, 81MID/CRC/MIDQ, 83XX, 27XX: Fix an IOCB leak that occurred when DIF bundling was used with CTIO_TYPE_CRC_2 IOCB. [ER139968] * 83XX, 27XX: Fix LED control where they did not blink in certain link down conditions. [ER140303] * 81XX, 83XX, 27XX: Customer-specific. [ER139583] * 83FCIOV, 27FCIOV: Assert the following asynchronous event notifications to all VFs (i.e., globally) as documented in the SRIOV firmware interface specification: LIP/NOS/OLS Received (8016h), P2P Initialization Error (8037h) and Receive Error (8048h). Route the P2P Initialization Error (8037h) AEN to all ATIO Queues when Enable Asynchronous Event Notification to Immediate Notify IOCB (Additional Firmware Options 1, bit 11) is set to 1 via Set Additional Firmware (0038h) MBC. [ER139761] From 8.04.00 to 8.05.00 Changes ------- * 27XX: Extend support for ELS RDP request per standard requirements. [ER138925] * 27XX: Customer-specific. [ER139073] [ER138970] * Add coding improvements related to ER138598 and ER135262. [ER139102] * 83FC, 27XX: Clear FEC error statistics counters (offsets E8h and ECh) while executing Get Port Statistics and Private Data Counts (006Dh) MBC, when bit 2 of incoming MB10 register is set to 1. [ER138574] * 83FC, 83FCIOV, 27FC, 27FCIOV: SRIOV-related updates (see the following list). [ER137500] Add target mode support for Virtual Functions (VFs) (27FCIOV only). Add Perform Soft Reset(0036h) MBC for trusted VFs (27FCIOV only). Allow Diagnostics Port (0047h) MBC and Driver Heartbeat (005Bh) MBC for Physical Function (PF) only. (83FCIOV, 27FCIOV). Allow Verify Checksum (0007h) MBC for PF and trusted VFs only. (83FCIOV,27FCIOV). * 83XX, 27XX: Customer-specific. [ER138995] * 27XX: Add support for feature key validation of device ID 2B61h. [ER139127] * 83XX, 27XX: Customer-specific. [ER138786] [ER139053] * 27XX: Customer-specific. [ER138879] * 27XX: Improve speed negotiation for faster link up with 4G devices. [ER138753] Bug Fixes --------- * Customer-specific. [ER138680] * 83FCIOV: Fix intermittent failure to complete FLR. [ER138635] * 83XX, 27XX: Prevent erroneous event reporting and activation of a shutdown operation by checking for anomolous readings from internal temperature sensor. [ER138865] * 27XX: While BB_SC_N capability is enabled via flash, allow feature support only when negotiated link speed is 16G or higher. [ER138904] [ER139045] * 27XX: Fix incorrect laser control while SFP Transmit Laser Control feature is enabled. [ER139060] * Add detection of an FLR or Hot Reset (83XX or 27XX) while waiting for a firmware restart or reset. [ER139076] * Fix an issue where firmware continues to pass up ELS requests to the driver after the driver had previously issued a ELS reply for the login session via Pass-Through IOCB with control fields Clear Pending Pass-through and Terminate Exchange control flags both set to 1. [ER138708] * 25XX, 81XX, 83XX, 27XX (Multi-Queue): Prevent incorrect accesses to host memory after deleting and creating ATIO queues via Initialize Multiple Queue (001Fh) MBC. [ER138578] * 25XX, 81XX, 83XX, 27XX: (Multi-Queue): Prevent generation of invalid interrupts after creating ATIO queues via Initialize Multiple Queue (001Fh) MBC with Queue number (MB4) greater than 31. [ER138720] * Fix firmware system error or timeouts that resulted from the use of a stale IOCB pointer while receiving data. [ER138777] * 83XX, 27XX (non-SRIOV): Fix issues related to FLR handling. [ER138763] * 81XX, 83XX, 27XX: Provide the correct status in the CTIO IOCB returned for an aborted IO while the Exchange Offload feature was enabled. [ER138811] * 27XX: Customer-specific. [ER138825] * 27XX: Prevent generation of a firmware system error after frame error detection with Receive Out-of-Order Data Frame Handling enabled. [ER138597] * 27XX: Fix a firmware system error that occurred while running traffic via Bidirectional Command (75h) IOCB. [ER138633] * 83FC, 27XX: Fix a Read Diagnostic Parameters (RDP) ELS reply built by the driver via ELS Pass-Through (53h) that was erroneously transmitted with OX_ID equal to FFFFh. [ER138790] * 27XX: Fixed issue where transmit DMA channels were not being fully utilized while the MCXDMA feature was enabled. [ER138744] * 27XX: Avoid false reporting of Temperature Alert (8070h) AEN with error subcode Shutdown Initiated (12h). [ER138589] * 83XX, 27XX: Customer-specific. [ER138655][ER138853] * 83XX, 27XX: Customer-specific. [ER138643] [ER138666] [ER138644] * 27XX: Customer-specific. [ER138717] [ER138598] * 25XX, 81XX, 83XX, 27XX: Fix firmware system error (8002h) that occurred during transmission failure of FCP_XFER_RDY. [ER138171] * Fix firmware system error reported when the target received an unexpected ELS reply frame. [ER135262] * 83XX, 27XX: Customer-specific. [ER138947] * 27XX: Upon reset, retrieve the version information from the MPI firmware (if running). [ER138603] * 27XX: Prevent potential errors when multiple ATIO queues are created with different queue lengths. [ER139103] * 27XX: Fix firmware system error (8002h) that occurred during communication with MPI firmware while target mode was enabled. [ER139125] * 83XX, 27XX: Fix data written to statistics counter SyStatFpmXmitWordCountLo (offset E0h) returned to the host buffer via Get Link Statistics and Private Data Counts (006Dh) MBC. [ER138889] * 25MID: Fix RISC pause condition due to an invalid memory access when retrieving a port control block (PCB). [ER138921] * 27XX: Fix firmware system errors (8002h) generated in target mode under heavy I/O load. [ER138822] * 24XX, 25MID: Fix RISC pause condition that followed completion of a Virtual Port Control (30h) IOCB to disable a VP. [ER138983] * 27XX: Fix data written to statistics counter Invalid Transmit Word Count (offset 10h) returned to the host buffer via Get Link Statistics and Private Data Counts (006Dh) MBC. [ER138915] * Fix a fatal firmware error 8002h that occurred while trying to report a Receive Error (8048h) via Immediate Notify IOCB. [ER135446] * FC: Fix incorrect speed negotiation after executing Data Rate (005Dh) MBC with Option (MB1) set to Set Data Rate and Force Link Re-initialization (02h) and Data Rate (MB2) set to 8G (04h) while firmware state equaled Loss of sync (0004h). [ER138221] * MID: Fix processing of Login/Logout Port IOCB (52h) to free an Nport handle with a specified VP index. [ER138980] From 8.03.00 to 8.04.00 Changes ------- * FC: Add bit 1 ‘Support Loop Topology’ in incoming MB2 of Driver Heartbeat (005Bh) mailbox command. [ER137909] Contact QLogic Corporation for feature application note. * HFL-related changes. [ER138089] See parts a through d: a) 83XX: Increment HFL Version to 25 b) 27XX (non-SRIOV): Increment HFL Version to 25. Add HFL support when DDR3 memory is enabled. c) 81XX: Increment HFL Version to 7 d) 83FCIOV, 27FCIOV: Increment HFL Version to 55 * 27XX: Honor the flash feature mask for 32G optics brand checking. [ER137954] * 83FC, 27XX: Inhibit FEC error counting while link is down. [ER138220] * 83FCIOV, 27FCIOV: Customer-specific. [ER138181] * 83XX, 27XX: Improve target performance when firmware Operation Mode equals ZIO mode 5 or ZIO mode 6 by eliminating interrupts when ATIO queue pointers transition to empty condition. [ER137586] * 83FC, 27XX: Add support for Electrical loop back test (EWRAP) in D_Port feature. [ER138166] * 83XX, 27XX: Customer-specific. [ER138125] [ER138361] * Customer-specific. [ER135915] [ER138474] * 83XX, 27XX (non-FCIOV): Customer-specific. [ER138462] * 25XX, 81XX, 83XX, 27XX (excludes SB2, FS builds) : Balance FC bandwidth performance for non-T10 target reads. [ER135343] [ER138262] Bug Fixes --------- * Fix a firmware system error that occurred during initiator write. [ER137176] * 83XX, 27XX: Fix false Sequence Timeout Error (035h) reported in CTIO completion while Receive Sequence Error Notification feature is enabled. [ER137919] * 27XX: Fix firmware system error (8002h) occurring with DDR3 x16 configuration mode. [ER137935] * 83XX, 27XX: Prevent erroneous reporting of bad IOCB entry status following use of the Initialize Multiple Queue (001Fh) Mailbox command to delete a Request Queue. [ER137938] * 27XX: Fix firmware statistics associated with FC Link Error Status Block. [ER137945] * 83FC, 27XX: Fix false Loop Initialization Error (8017h) reported with Loop-Preferred connection mode and negotiated FC link speed of 16G or 32G. [ER137964] * 83FC, 27XX: Fix completion of Initialize Firmware mailbox commands (0048h/0060h) when Data Rate value exceeds SFP speed capability and Connection Option equals Point-to-point-only or Loop-preferred-else-Point-to-Point: - Data Rate equals 32G (value equals 6) and 16G SFP is used on adapter supporting 32G (27XX only), or - Data Rate equals 16G (value equals 5) and 8G SFP is used on adapter supporting 16G. [ER136516] * 24XX: Fix issue causing incomplete I/O in FC-TAPE target mode. [ER138126] * 83FC, 27XX: Fix intermittent issue with re-negotiation after Data Rate MBC (005Dh) is executed with incoming MB1 set to 2 (Set Data Rate and Re-initialize Link) and incoming MB2 set to 2 (Auto Negotiate) in N2N topology. [ER138073] * 83XX, 27XX: Fix firmware system error (8002h) generated when firmware tries to bring up link while wrong or invalid SFP is present. [ER138162] * 83XX, 27XX: Add firmware fix and API changes to prevent stalled request queue processing when using QoS by bandwidth feature. Related documentation is available by contacting QLogic Corporation. [ER135419] * 27XX:Add fix for QoS by bandwidth feature (related to ER135419). This portion of the fix is specific to 27XX ASIC. [ER135669] * 27XX: Fix outgoing MB1 in Read SFP (0030h) and Write SFP (0031h) while SFP is not present (22h). [ER138011] * 83FC, 27XX: Fix firmware system error (8002h) that occurred when FLOGI reply was received with D_ID equal to zero in response to FLOGI request containing D_Port Vendor Version Level and Phase D0. [ER137968] * 81XX, 83XX, 27XX: Fix host buffer size validation in Stop Firmware (0014h) MBC. [ER137803] * 81XX, 83XX, 27XX: Fix firmware system error (8002h) caused when a single page-able XCB was allocated for two different host indexes while Exchange Buffer Offload was enabled. [ER138333] * 25XX, 81XX, 83XX, 27XX: Fix incomplete clean-up of exchange from initiator pool, which could lead to firmware system error (8002) generated when N_Port handle is freed via Login Logout (52h) IOCB. This is a regression caused by ER136440. [ER138363] * Fix a firmware system error AEN that occurred when an exchange control block contained the wrong N_port handle. Return CTIO Type 7 IOCB with Status set to Invalid Request (06) instead. [ER137404] * 83XX, 27XX: Fix a firmware system error AEN that could occur in target mode if FCP_DATA frames were received while processing a CTIO request to send FCP_RESP and while the Receive Sequence Notification feature was enabled. [ER138357] * 25XX, 83FC, 27XX: Fix outgoing MB1 (Initialization Status Code) for Loop Initialization Errors (8017h) Asynchronous Event Notification generated when CLS primitive was not received. [ER138183] * 25XX, 83FC, 27XX: Fix missing transmission of ABTS request after Abort I/O (33h) IOCB was posted for SCSI exchange initiated via Command Type 6 (48h) IOCB. [ER138224] * 25XX, 83FC, 27XX: Fix Command Error (4005h) with outgoing MB1 set to 0017h after execution of Diagnostic Loopback (0045h) MBC with Internal Loopback Point option while ‘Enable Additional Receive Credits’ in Execute Firmware (0002h) MBC was enabled. [ER138184] * 83FC, 27XX: Fix link not coming up after issuing Data Rate (005Dh) MBC with Operation Code (incoming MB1) set to 02h and Data Rate (incoming MB2) set to 2h, following execution of Data Rate MBC with Operation Code set to 2h and Data Rate set to 04h while Forward Error Correction (FEC) capability was enabled via flash. [ER137537] [ER138504] * 27XX: Fix Command Error (4005h) with outgoing MB1 set to 0017h after execution of Diagnostic Loopback (0045h) MBC with Internal Loopback Point option following change of FC link speed from 32G to 16G via Data Rate (005Dh) MBC with Operation Code (incoming MB1) set to 2h (Set Data Rate and Re-initialize Link) and Data Rate (incoming MB2) equal to 05h (16G) while FEC capability was not enabled via flash on 32G capable adapter. [ER137216] [ER138505] * 83FC, 27XX: Fix a firmware system error AEN that occurred during D_port testing while FW option 1 bit 13 (Full Login After LIP) was set. [ER138044] * 27XX: Fix Maximum Supported Speed field (bits 3-0) of outgoing register MB2 of Execute Firmware (0002) MBC for EP devices. [ER138463] [ER138057] * 27XX: Avoid unpredictable behavior by setting the correct Virtual Function number during initialization. [ER137952] * SB2, VI: Fix performance drop. [ER138271] * CRC: Fix validation of a residual from FCP_RSP IU in cases using separate [dedicated] IOSB(s). [ER138346] * 25XX, 81XX, 83XX, 27XX: Fix a potential memory leak when deleting a request queue with IOs outstanding. [ER138000] * FC: Fix issue of not sending an R_RDY when receiving an ELS FLOGI in an N2N connection. [ER135319] * 81XX, 83XX, 27XX: Fix an issue that resulted in firmware returning a CTIO with error status (08) while Memory Offload feature was enabled. [ER138419] * Fix firmware system error that occurred when FCP_CONF was received after REC request had already been received for the same I/O. [ER137487] * 27XX: Fix incorrect Subsystem ID and Subsystem Vendor ID values read from flash. [ER138482] * 83XX, 27XX: Fix issue receiving Command Transport IU in target mode. [ER135479] * FC: Fix error receiving FLOGI in NPort-to-NPort topology. [ER135378] * 83FC, 27XX: Fix firmware system error that occurred when changing FC data rate during diagnostic internal loopback operation. [ER138516] * MID: Fix firmware system error that was generated when no exchange control block was available to send a LOGO ELS request. [ER138530] * 83XX, 27XX: Customer-specific. [ER133013] [ER133489] [ER116380] * 83XX, 27XX: Customer-specific. [ER138455] [ER137320] [ER134332] [ER134333] [ER133984] [ER134334] [ER134335] [ER134337] [ER134338] [ER134339] [ER133871] [ER134614] [ER134504] [ER134639] [ER134714] [ER134674] [ER134000] [ER134001] [ER134505] [ER134543] [ER134872] [ER135100] [ER138167] * 27XX: Customer-specific. [ER136015] [ER137396] [ER138394] [ER137958] [ER138213] [ER138149] [ER137941] [ER138308] [ER138428] [ER138147] [ER138180] * 27XX (MPI): Customer-specific. [ER138257] [ER138258] [ER138277] [ER138329] [ER138330] [ER138309] [ER138259] [ER138347] [ER138349] [ER138348] [ER138130] [ER137957] [ER137958] [ER137956] [ER138318] From 8.02.00 to 8.03.00 Changes ------- * 27XX: Make each function responsible for enabling its own ECC operation. [ER137614] * 81XX, 83XX, 27FC: Increment HFL version to 24; 83FCIOV, 27FCIOV: Increment HFL version to 54. [ER137733] * Customer-specific. [ER137755][ER136821] * 83XX: Customer-specific. [ER137544] * 83FC, 27XX: Customer-specific. [ER137560] * 25XX, 81XX, 83XX, 27XX: Customer-specific. [ER136440] * 27XX: Customer-specific. [ER137498][ER137657][ER137763][ER137693] * 81XX (MID, MIDQ), 83XX, 27XX: Customer-specific. [ER136319] Bug Fixes --------- * 27XX: Fix link-up delays when the ISP is configured with 16G/32G fixed speed with FEC capability enabled and connected to a port which has auto speed negotiation enabled. [ER137457] * 27XX (MID): Fix dropped I/O frames on virtual ports created with indexes 65 to 254. [ER137567] * 27XX (16G capable adapters only): Fix intermittent Link Up AEN (8011h) at lower speed (4G) that may occur when both the adapter port and peer port speed are auto-negotiate and either the adapter port has a 16G SFP and is attached to an 8G peer, or the adapter port has an 8G SFP and is attached to an 8G or 16G peer. [ER137550] * 83XX, 27XX: Fix spurious interrupts generated during multiple ATIO Queue operation. [ER137035] * Fix Execute IOCB mailbox command (0054h) not completed due to lack of buffer resources. [ER137291] * 27XX: Fix issue where memory read request length was set to 2K for Transmit DMA operation while MRRS was set to 4K. [ER137683] * 83XX, 27XX: Fix incorrect Additional CDB Length field of FCP_CMND IU transmitted when Command Type 7 IOCB (18h), Command Type CRC_1 IOCB (68h), or Command Type CRC_3 IOCB (38h) is processed and Fabric Priority feature is enabled and IOCB-based Fabric Priority is utilized. [ER137282] * 27XX (32G capable adapters only): Fix erroneous generation of Loop Initialization Error (8017h) when speed configuration is Auto-negotiate and a loopback connector is plugged into a 32 Gbps SFP. [ER135913] * 27FC-IOV: Fix problems with Configure VF BAR Stride Mailbox Command (004Ch) operating correctly with PEP firmware. [ER135678] * 83FC, 27XX: Fixed Firmware System Error (8002h) due to NMI that occurred while running D_Port diagnostics when target mode is enabled. [ER137380] * 83FC: Remove support for processing received ELS requests Link Controlled Beacon (LCB) and Read Diagnostic Parameters (RDP). Also, remove support for customer-specific features related to ER136735. [ER137714] * 83XX, 27XX: Upon detection of receive sequence error condition, return all CTIO requests for data transfer with status 'Request Completed with Error' (04h). [ER137684] * 81XX (MID, MIDQ), 83XX, 27XX: Fix firmware system error (8002h) and other issues experienced while using Exchange Buffer Offload feature. [ER136945] * VI: Fix stalling of Execute IOCB MBC (0054h) due to low IOCB/XCB resources. [ER137407] * 24xx: Fix RISC pause condition occurring during PUREX exchange cleanup. [ER137352] * Fix firmware system error (8002h) generated upon receiving ABTS request to abort a pending LOGO request for the same exchange. [ER137623] * 27XX: Fix SFP access by correcting I2C timing parameters. [ER137213] * 83FC, 27XX (16G capable adapters only): Upon processing Get Firmware State MBC (0069h), set SFP Maximum Speed (bits 3:0) of Outgoing Mailbox Register 3 to 3h, when an 8 Gbps SFP is present. [ER137217] * 83FC: Fix PCI-e speed drop to Gen1 in Gen3 slot that occurred when writing to the Serdes HIGHLB settings with GPTEST14 tied low. [ER137556] * 27XX: Fix AE Link Down (8012h) incorrectly reporting Invalid SFP in mailbox register 2. [ER137640] * FC: Fix incorrect increment of Discarded Frame private data count (offset 8Ch) while in Loop mode. [ER137327] * 83FC, 27XX: Add retry capability to handle Diagnostic Command Reject received from switch while running D_Port diagnostics. [ER137747] * MID: Omit Immediate Notify IOCB with status Port Configuration Changed (02Ah) posted when a virtual port has been disabled or enabled. [ER137360] * 27XX (16G capable adapters only): Fix link up at 4 Gbps after executing internal loopback when speed configuration is auto-negotiate, either an 8 Gbps or 16 Gbps SFP is present, and the port is attached to a passive target device (loop and auto-negotiate). [ER137647] * 83FC: Fix link up at wrong speed caused by ER137550. [ER137749] * 83FC, 27XX (16G capable adapters only): Fix link not coming up after peer port in private loop topology performs internal loopback test and peer port is configured at 4G speed and Loop connection mode. [ER137812] * 83FC, 27XX: Fix link-related issue introduced by ER137647. [ER137840] * 27XX (16G capable adapters only): Prevent link up whenever 32G SFP is present in adapter port. [ER137724] * 27XX (32G capable adapters only): Fix failure to bring up link after issuing Data Rate mailbox command (005Dh) with option equal to 2 and data rate equal to 4 (8G). This occurred in N2N topology with Finisar 32G revision 'A' transceivers, Loop-Preferred connection mode, and auto-negotiate speed setting. [ER137871] * 83XX, 27XX: Fix slow link up observed on adapter port with auto-negotiate setting while attached to Brocade 32G switch. [ER137770] * 83FC, 27XX: After D_Port failure, cause a link flap before transmitting DIAG_CMD (XCHANGE_TEST_RESULTS) ELS request. [ER137790] * 81XX (MID, MIDQ), 83XX, 27XX: Prevent offload of an XCB during sequencer or DMA processing of the exchange. [ER137393] * 83FC, 27XX: Customer-specific. [ER136701] * 27XX: Customer-specific. [ER137847] [ER137780] [ER137347][ER137424][ER137731] * 83XX: Customer-specific. [ER137692] * 25XX, 81XX, 83XX, 27XX: Customer-specific. [ER137859] From 8.01.00 to 8.02.00 Changes ------- * MID: Indicate VP index in I/O Parameter 3 (byte offsets 1Ch to 1Dh) of Login/Logout Port IOCB (52h) and byte offsets 2Ch to 2Fh of ELS Pass-through IOCB (53h) or ABTS Response IOCB (55h) when firmware returns these IOCBs with completion status Valid Subcode Error (31h) and error subcodes “Port ID Used For Another N_Port Handle” (1Ah) or “N_Port Handle Used For Another Port ID” (1Bh). [ER135981] * 83XX, 27XX: Customer-specific. [ER136630] Bug Fixes --------- * Fixed ELS Pass-Through IOCB not setting the Error Subcode 1 field to the number of discarded bytes when a completion status of (0007h) Data overrun is returned. [ER136258] * 83FC, 27XX: Avoid link down following execution of Diagnostic Loopback MBC (0045h) with Internal Loopback Point (0001h) in Loopback Options (incoming MB1 register) when connection mode is loop-only and either there is an active connection or a loopback connector is attached. [ER136419] * 24XX: Fix performance issue caused by excessive buffer credit depletion. [ER136006] * 25XX, 81XX: Fix incorrect response queue pointer in multi-queue environment with heavy traffic. [ER135680] * 83FC, 27XX: Cancel beacon activity in progress initiated by LCB (81h) ELS request whenever link goes down. [ER136081] * SRIOV: Fix reporting asynchronous events related to link transitions via the ATIO queue when the “Enable Asynchronous Event to Immediate Notify IOCB” option (Set Additional Firmware Options Mailbox Command, incoming mailbox 1, bit 11) is enabled. [ER136658] * 27xx: Fix I/O failures caused by stalled memory read requests during intensive fault injection testing. [ER136491] * 27XX: Fix firmware system error (8002h) that occurred during link up with non-QLogic branded SFP transceiver. [ER136560] * 83FC, 27XX: Fix firmware system errors (8002h) occurring during execution of Diagnostic Loopback MBC (0045h) with “Internal Loopback Point” (0001h) in Loopback Options (incoming MB1 register). [ER136642] * 27XX: Enforce feature key validation. An invalid or missing feature key will be reported by Execute Firmware MBC (0002h) with error status 4020h. [ER136752] * 268X, 269X: Fix transceiver validation of 8G SFP. [ER135690] * 268X, 269X: Fix failures to link up at 4G. [ER136715] * Fix firmware system error (8002h) that occurred during target mode cleanup. [ER136748] * Fix firmware system error (8002h) that occurred in target mode after events such as frame error or Link Reset (LR). [ER136581] * 83FC, 268X, 269X: Avoid scrambled FLOGI transmitted at 4G. [ER136827] * 27XX: Fix TC and TF bit setting in TSS frame for 32G over optical cable. [ER136829] * 27XX MPI: Fix discrepancies between NC-SI/PLDM responses and their specifications[ER136545] * 268X MPI: Fix PCIe training error that intermittently occurred after consecutive PCI-e resets. [ER135924] * 81XX, 83XX, 27XX: Prevent a potential firmware fatal error (8002h) related to ECC errors while processing link events. [ER135386] * 83FC, 27XX: Fix Get Firmware State MBC (0069h) completion with outgoing MB register 6 containing non-zero value. This occurred with 8G SFP transceiver while D_Port feature was enabled. [ER136617] * 83XX, 27XX: Customer-specific [ER135838][ER136677] [ER136381] [ER136785] [ER136735] * T10-CRC: Fix FCP2 recovery failures after an FCP_RSP IU for an I/O read with residual underrun was dropped. [ER135751] * Fix firmware system error (8002h) that occurred during ATIO queue full condition. [ER135894] * 27XX: Customer-specific. [ER136986] * MID: Fix incorrect VP Status “Port ID changed” via Report ID Acquired IOCB after logout and re-login of virtual port. [ER135738] * FC-TAPE: Fix firmware system error that occurred during target mode cleanup with the presence of outstanding REC exchanges associated with SCSI exchanges. [ER136693] * Fix login collision that occurred in private loop topology. [ER136561] * MID: Fix firmware system error that occurred when disabling virtual port while target exchange resources were exhausted. [ER136489] * Fix issue where CTIO request with Terminate Exchange (bit 14) of Flags field set to 1 affected the wrong exchange. [ER136422] * Fix issue that prevented firmware to send FCP_RSP via CTIO request with “Receive Exchange Address” equal to FFFFFFFFh when target exchange resources were low. [ER136924] * 81XX (MID, MIDQ), 83XX, 27XX: Fix firmware system error (8002h) and other issues experienced while using Exchange Buffer Offload feature. [ER136925] From 8.00.00 to 8.01.00 Changes ------- * 83XX (non-SRIOV), 27XX (non-SRIOV): Bump HFL revision to 23. 81XX: Bump HFL revision to 5. 83FCIOV, 27FCIOV: Bump HFL revision to 53. [ER135425] * FCOE: Add feature (enabled via Set Additional Firmware Options MBC, Additional FW Options 3, bit 9) to suspend FIP discovery process. [ER135423] * 83FC, 27xx: Add support for receiving and processing ELS request Link Controlled Beacon (LCB). [ER135481] * 83FCOE-NN: Add support for Get Link Status MBC (0124h). [ER134742] * Add support for receiving and processing Read Diagnostic Parameters (RDP) ELS request. [ER135457] * 27xx: Increase the number of logins supported from 16K to 32K for PCB Offload. [ER135744] Bug Fixes --------- * SRIOV: Fix firmware system error 8002h that occurred while processing Initialize Multi-ID Firmware MBC (0048h) for a VF. [ER135229] * VI: Fix incorrect response sent after receiving FC-VI disconnect frame with under-sized device header. Previously, the response was FC-VI write response frame with error status instead of Disconnect response frame, causing originator to generate firmware system error 8002h. [ER133836] * SRIOV: Fix random routing of a Status IOCB to an incorrect response queue after deletion of another response queue while full. [ER115282] * Fix intermittent FCP-2 recovery failures caused by an incorrect value in the payload of a response to a REC. [ER135184] * 83xx, 27xx: Correct the FC Data Rate reported as part of a Port Database Update (8014h) AEN when optionally routed to the ATIO queue via an Immediate Notify IOCB. [ER135252] * SRIOV: Prevent stalled IO on the PF after clearing (resetting) VF enable in the PCI Express SR-IOV Capability Data Structure. [ER135230] * T10: Fix incorrect completion status of timeout (instead of underrun) returned for T10 command IOCBs when tape is supported and protection mode is INSERT. [ER135054] * Fix firmware hang caused when firmware wrote ATIO queue entry that was larger than ATIO queue. [ER134568] * 25XX: Fix cause of CRC error that occurred at 2 Gbps during environmental testing. [ER135453] * 27XX: Fix link bounce that occurred during HFL. [ER135424] * 83FCOE-NN: Fix firmware system error (8002h) that occurred during link initialization. [ER133790] * 27XX: Check for invalid AVS mode read from flash. [ER135491] * Fix firmware fatal error (8002h) that occurred while running heavy IO with certain firmware configuration. [ER135381] * 27XX: Apply ER114244 from 83XX. [ER135526] * 83FC: Fix firmware system error 8002h that occurred during Write SFP MBC (0030h). [ER135499] * 81XX, 83XX: Fix Invalid Exchange Address (status 08h) in CTIO IOCB (Type 12h) returned by firmware during host exchange cleanup while Memory Offload feature is enabled. [ER135261] * 25XX, 81XX, 83XX: Fix potential double allocation of page-able XCB for a given host index. [ER135396] * 25XX, 81XX, 83XX: Fix CTIOs returned out of order on response queue while processing CTIOs associated with a host-resident XCB. [ER135382] * Fix potential of exhausting IOCB resource count when receiving login ELS requests while Enable PUREX (bit 10 of Additional Firmware Options 1) is set via Set Additional Firmware Options (0038h) MBC. [ER135013] * 81XX, 83XX: Fix firmware fatal error that occurs during host exchange search while CDMA engine is busy and Exchange Memory Offload feature is enabled. [ER135158] * Fix potential of exhausting IOCB resources by freeing unused IOCBs within IOCB lists. [ER135041] * 268X, 83FC: Add check for 4G SFP in Initialize Firmware MBC 0048h/0060h and return Command Error 4005h if found. 276X: Add check for 8G SFP in Initialize Firmware MBC 0048h/0060h and return Command Error 4005h if found. [ER135619] * SB2, FS, 24XX: Fix issue where firmware transmitted LOGO in response to received FCP_CMD. [ER135530] * Fix firmware fatal error (8002h) that occurred after driver posted CTIO Type 7 IOCB with Terminate Exchange (Flags bit 14) set to 1. [ER135362] * SB2: Fix bug occurring when transmitting LOGO request to avoid incorrectly returning SB-2 IU IOCB (Type 4Bh) with Port Logged Out status. [ER135592] * 25xx, 81xx, 83xx, 27xx: Fix firmware system error 8002h that occurred intermittently after processing link events. [ER135483] * 83FC, 27xx: Fix issue that occurred during Diagnostic Loopback MBC with Internal Loopback point while adapter was attached to a switch. [ER135655] * MID: Alleviate issues related to port fail-over by delaying retry of FDISC request after ELS LS_RJT response with reason code 05h is received for ELS FDISC request. [ER135512] * MID: Fix Virtual Port Control IOCB failures when used to enable or disable certain VP indexes. [ER135351] * Avoid allocating N_Port handle when receiving ABTS requests associated with login-affecting ELS exchanges whenever PUREX is enabled for login-affecting ELS commands. Instead, firmware will assign N_Port handle FFFFh. [ER135577] * T10CRC: Fix various FCP-2 recovery failures resulting from incorrect relative offset processing. [ER135462] * 83FC, 27xx: Present FEC active status in MB3 bit15 for Get Firmware State (0069h) MBC. [ER135487] * 83FC, 27xx: Fix FC link up issues following cable plug/unplug. [ER135042] * 27xx: Fix firmware system errors (8002h) that occurred following FC or PCIe link events with IOs in progress. [ER135284] * 27XX: Added a check for mismatched flash components pertaining to SR-IOV during Execute Firmware Mailbox Command processing. If a mismatch is detected, the command will terminate with “Command Error” 4005h and a sub code of 28h (configuration error). [ER135724] * 27xx: Fix firmware system error (8002h) observed while erasing flash with IO in progress and resetting another function. [ER135742] * 83XX: Customer-specific. [ER134203] [ER134665] [ER135572] * T10: Customer-specific. [ER135275] * 27XX: customer-specific. [ER135282] [ER135283] [ER135545] [ER135615] [ER135579] [ER135775] * 83XX, 27XX: Customer-specific. [ER135434] [ER135514] [ER135621] * Customer-specific. [ER135703] * 25xx, 81xx, 83xx, 27xx: Customer-specific. [ER86930] From 7.05.00 to 8.00.00 (Note: 8.00.00 is pre-beta version for 27xx) Changes ------- * Add information in LS_RJT Response Sent (8049h) Asynchronous Event Notification. Outgoing MB register 3 contains the reason code: 0001h (NoXcb) or 0002h (No N_port handle). [ER134598] * 83XX, 27XX: Add new statistics counters accessible via Get Link Statistics and Private Data Counts (6Dh) MBC. Counter name and (byte offset): FpmWordsReceivedCntHi (D0h), FpmWordsReceivedCntLo (D4h), FpmWordsDiscardedCntHi (D8h), FpmWordsDiscardedCntLo (DCh), FpmWordsTransmittedCntHi (E0h), FpmWordsTransmittedCntLo (E4h). [ER134835] * 81XX, 83XX, 27XX: Increment HFL revision: 4 for 81XX; 22 for 83XX and 27XX; 52 for 83FCIOV and 27FCIOV. [ER135240] * 83FC, 27XX: Customer-specific. [ER135120][ER135056] * 83FC, 27XX: Customer-specific. [ER134546] Bug Fixes --------- * 83XX: Fix command timeouts caused by ER133183. The problem is seen when exchange resources are constrained or Quality of Service (QoS) by bandwidth is enabled. [ER133987] * 81XX, 83XX: Fix firmware fatal error caused while moving host XCB from system memory (during processing of received RRQ or ABTS) when Exchange Memory Offload feature is enabled. [ER134347] * 81XX, 83XX, 27XX: Fix firmware fatal error that occurred while Memory Offload feature is enabled. [ER134533][ER134988] * 24VI, 25VI, 81VI, 83FC-VI: Fix firmware fatal error (8002h) that occurred after receiving frame terminated by EOFa. [ER134459] * 83FC: Fix an issue affecting D_Port specific testing. Disabling the fabric port while the HBA port was waiting for results caused the HBA port to retry D_Port mode endlessly. [ER134712] * Fix fatal firmware error (8002h) that occurred upon issuing an Abort I/O IOCB (IOCB type 33h) to abort a Command Type 6 (IOCB type 48h) request before the command was transmitted on the wire. [ER132123] * 25XX, 83XX: Fix fatal firmware error (8002h) or RISC pause that occurred when receiving BLS or ELS frames containing certain exchange identifiers. [ER134054] * 83FC, 83FC-SB4: Fixed Load Operational Firmware Parameters (001Bh) mailbox command with Format value 1(FC SerDes Parameters) to update the specified SerDes registers. Previously no RX SerDes registers would be updated. [ER134679] * 83FC: Fix incorrect DF_CTL field of FC frame header when Fabric Priority feature is enabled. [ER134722] * 81XX, 83XX: Fix fatal firmware error (8002h) generated during HFL operation with certain firmware versions. [ER133738] * 27XX: Adjust bandwidth QOS calculations to accommodate 32 Gbps. [ER134540] * Fix contents of data written to host following execution of Get Parameters MBC (005Ah) with Type parameter equal to 7. [ER134376] * 81XX, 83XX: Fix fatal firmware error (8002h) generated during HFL operation while using Command Type 6 IOCBs or DSD Chaining. [ER133616] * Fixed fatal firmware error (8002h) due to receipt of multiple FCP_RSP_IUs from misbehaving FCP-2 target / SAN. [ER132539] * Fix ELS Pass-through (53h) IOCB response posted by firmware with status/subcode1/subcode2 = 31h/Ah/0h or status = 2Ch when IOCB resource count had dropped. [ER134757] * 83XX FC: Fixed intermittent failure to complete link up after device reset or after issuing Data Rate mailbox command (005Dh) with data rate option set to 3 or 4. [ER134843] * 83XX, 27XX: Fix Modify Virtual Port Configuration (31h) IOCB processing when multiple ATIO queues are configured. [ER134960] * 83XX, 27XX: Fix I/O timeouts occurring after HFL operation while Memory Offload feature is enabled. [ER134914] * MID: Fix incorrect number of buffer credits received when VP0 decoupling feature is enabled and VP greater than zero is the first enabled. [ER134599] * Fix DMA hang caused by driver issuing ELS Pass-through IOCB containing zero transfer byte count.[ER131667] * 83FC: Fix link up issue that occurred between Loop-preferred connection option on Emulex 16G FC adapter and Loop-only connection option on QLogic 16G FC adapter. [ER134963] * 83FC, 83FC-SB4, 27XX: Fixed Diagnostic Loopback mailbox command (0045h) sometimes failing with a completion status of 400Ch (loopback error) when external loopback point was specified. [ER134817] * 83FC, 83FCOE-NN, 27XX: Customer-specific. [ER134687] * 25XX, 81XX, 83XX, 27XX: Fix issue leading to request queue not being serviced when no target exchange is available. [ER135010] * 25XX, 81XX, 83XX, 27XX (non-SB2): Fix fatal firmware error that occurred during IO abort testing. Reference SB2-specific ER132000. [ER134826] * 25XX, 81XX, 83XX, 27XX: Fix firmware fatal error (8002h) that occurred when attempting to abort an IO while transmit DMA errors were pending. [ER134293] * Fix fatal firmware error that occurred during IO abort and simultaneous Receive DMA completion. [ER134741] * Customer-specific. [ER133906] * 83XX: Customer-specific. [ER133618] * 83FC: Customer-specific. [ER134309][ER134440] * 83FC, 27XX: Customer-specific. [ER134787][ER135077] From 7.04.00 to 7.05.00 Changes ------- * 25MID, 25MIDQ: Add Extended Logins feature. Contact QLogic Corporation for application note. [ER133473] * 83FC: Add IOCB-based operation to Fabric Priority feature. Contact QLogic Corporation for application note. [ER133183] * 83XX: Customer-specific. [ER132562][ER132561] * 83XX: Add Sequence Error Notification feature. Contact QLogic Corporation for application note. [ER116067] * 83FCOE-NN: Fix firmware state in Get Firmware State mailbox command (69h) before DCBX is completed. [ER111085] * 83FCOE-NN: Enhance FCoE link initialization state machine to increase signal stability. [ER132848] * 83FCOE-NN: Clear previous link status before attempting to bring up link. [ER133232] * 83FCOE-NN: Avoid sending Pause frames before DCBX convergence. [ER133334] * Fix 8002h fatal firmware error due to insufficient buffer resources when receiving FCP_RSP containing sense data for Command Type 6 IOCB with non-zero FCP_RSP DSD length field. [ER133501] * FC: Enhance link reset (LR) reporting in Receive Error AEN 8048h. Mailbox register 1 contains FFFEh and mailbox register 2 contains 0001h for received LR or 0002h for transmitted LR. [ER133537] * Add statistics counter for received EOFa delimiter. This value is available at offset C8h via Get Link Statistics and Private Data Counts mailbox command (006Dh). [ER133274] Bug Fixes --------- * Fix failure to generate Report Identifer Acquired IOCB due to insufficient buffer resources. [ER133502] * 83FCOE-NN: Fix failure to complete DCBX convergence after removing then replacing DCBX TLV from LLDP frame during LLDP testing. [ER109275] * FC: Fix incorrect processing of Set Timeout Parameters mailbox command (0032h) when the E_D_TOV parameter in mailbox register 6 specifies a value less than 2 seconds. [ER133431] * Fix fatal firmware error (8002h) that occurred while aborting an FCP exchange. This fix addresses a timing window to ensure the abort is completed. [ER133020] * 83XX: Changed firmware to honor bandwidth setting reliably for Quality of Service (QoS) feature. Note that QoS feature is enabled via Initialize Firmware mailbox command (0048h or 0060h) when bit 25 of Firmware Options 2 is set to 1. [ER132067] * 83FCIOV: Fix performance degradation observed after executing large number of HFL operations. [ER133459] * SB2: Fix fatal firmware error (8002h) cases experienced due to received ABTS while processing implicit logout from driver. [ER133432] * 83FCIOV: Fix firmware configuration at reset to avoid wasted memory buffer. [ER133544] * 83FC, 83FCOE-NN: For embedded chip customers with GPTEST14 pin hardwired to ‘0’, adjust PCi-E serdes setting when shifting from Gen 3 to Gen 2 speeds to avoid jitter tolerance errors. [ER133005] * Add missing cases to maintain correct value of Transmitted P_RJT statistics counter (offset ACh) reported via Get Link Statistics and Private Data Counts mailbox command (006Dh). [ER133040] * 83FC, 83FCOE-NN: When processing a PCi-E Hot Reset or DLL Down condition, ensure that both FC port cores are reset. [ER133189] * FCoE: Fix FLOGI request transmitted containing null VLAN_ID. [ER133637] * Fix firmware not retrying FLOGI after LS_RJT response is received, excluding reason codes ‘Command not supported’ or ‘Command already in progress’ or reason code explanation ‘Command (request) already in progress’. [ER133350] From 7.03.00 to 7.04.00 Changes ------- * 25/83xx FC: Customer-specific [ER116463] * 83XX: Customer-specific. [ER112364][ER131865] * 24/25/83FC/83FCOE-NN: Provide fast performance option for reading multiple bytes of SFP read data via Read SFP MBC (0031h), mailbox register 10 (Options), bit 1 (Fast Multi-byte read). [ER116234] * 83FCOE-NN: Add Disable LED Control (Additional Firmware Options 1, bit 6) of Set Additional Firmware Options mailbox command (0038h). [ER132688] * 83FC: Add support for Fabric Priority feature. [ER115965] * 83FC: Add support for Fabric-assigned Worldwide Port Name feature. [ER131884] * 83FC: Add support for Diagnostic Port (D_Port) feature. [ER132914][ER116341][ER133054] * 83FC: Add Command Error (4005h) with subcode Invalid Request (15h) to Load Operational Firmware Parameters MBC (1Bh) to be returned if Optical FEC is attempted in Mezzanine Card environment. [ER132961] * 83FC: Customer-specific. [ER132964] * 83XX: Increase HFL version number to 20. Note: HFL using v7.04.00 should not be attempted from v7.03.x or earlier version. [ER133028] * 83FC, 83FCOE-NN: Allow LED fault state display values to be passed via flash or API: a) Byte offsets 0040h and 0440h of FC Board Configuration flash area, or b) Load Operation Firmware Parameters MBC (001Bh), Fibre Channel LED Parameters (Format 2). [ER133031] * 83FC: Force 64/66 16G default negotiation (i.e., no FEC) when Flash FEC field is programmed incorrectly or Load Operational Firmware Parameters (001Bh) mailbox command is issued with FC FEC parameters, Enable 16G Training (Serial Link Control, bit 16) and FEC Enabled (Serial Link Control 2, bit 1) are set invalid (either 1/0 or 0/1) to avoid unpredictable results. [ER133078] * 81XX, 83FCOE: Customer-specific [ER132955] * 83FC-SRIOV: Remove Memory Offload support. [ER132092] * 24xx: Add Driver Heartbeat mailbox command (5Bh). [ER133315] Bug Fixes --------- * 83FC-SRIOV: Fix bug in Configure VF BAR Stride MBC (004Ch) when Options Enable (bit 31) is set. [ER132331] * 83FCOE-NN: Add support for Driver Control SFP. See relevant document referenced in EP83xx No-NIC firmware interface specification. [ER114163] * 83FCOE-NN: Avoid attempting to bring up link when either SFP present or SFP signal detect is not asserted. [ER132257] * 83xx: Customer-specific [ER131628][ER114938] * 83FCOE/83FCOE-NN: Fix invalid PCI-e register access generated during power state change from D0 to D3. [ER132426] * Fix statistic counters related to Link Down (8012h), due to incompatible DCBX parameters (FCoE) or LIP timeout (FC). [ER132335] * 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] * FC: a) Fix incorrect N_Port/F_Port (bit 4) of Flags field in Report ID Acquisition IOCB when connection topology is N2N and VP0 decoupling is enabled, b) Ignore all ELS request frames whenever VP0 decoupling is enabled but there are no enabled VPs. c) Ignore VP configuration option bit 6 (Enable SNS Login and SCR for Virtual Ports) whenever connection topology is N2N. [ER132239] * Fix firmware failing to send FLOGI after LOGO request received from Fabric port containing port name not matching with destination ID. [ER114772] * Fix logging and reporting of invalid received SOF/EOF delimiters. [ER131882] * FC: Fix issues occurring when testing internal loopback while HBA is attached in various topologies. [ER132606] * 83FC: Fix spurious link down reported at 16G speed during data transfer. [ER132585] * 83FCOE-NN: Fix issue in Set Port Configuration mailbox command (0122h) that prevented DCBX complete (8030h) when Loopback mode was set to 2 (internal loopback). [ER132692] * Fix fatal firmware error (8002h) due to timeout of outstanding REC request associated with FCP exchange that was previously aborted. [ER132885] * 83FCOE-NN: Prevent unsuccessful link up by clearing remote or local faults in link state machine. [ER132960] * FC-TAPE: Set FC4VALUE field of LS_ACC reply to zero for a REC ELS request associated with an FCP SCSI exchange, when Out of Order Received Data (OOO) condition occurs and Enable Receive OOO Data Frame Handling (Firmware Option 3, bit 6) of Initialize Firmware Control Block is set to one. [ER132894] * MID: Fix unsuccessful fabric login with some switch models by replacing FDISC with FLOGI request whenever no VP is logged into switch. [ER114226] * Fix fatal firmware error (8002h) due to race condition when an Abort IO IOCB is placed in the Request Queue immediately behind the Command IOCB it is aborting. [ER133002] * MID: Drop BLS and ELS requests while VP waits for FDISC reply during link recovery to avoid sending responses from stale Port Identifier. [ER132255] * 83FC: Fix Internal Loopback operation in Optical FEC mode. [ER133085] * MID: Fix issues when LOGO is received from fabric [ER133146]: a) Initiator mode: Port Database Changed AEN (8014h): [Global Event (FFFFh), Port Logged Out (0007h), Fabric LOGO received (1Ah)] not generated, and b) Target mode: Notify Acknowledge IOCB (0Eh) response contains Invalid Request status (06h). From 7.02.00 to 7.03.00 Changes ------- * 83FC-SRIOV: Initial release of 83FC-SRIOV build (8300fciov.bin). [ER105704] * 83FC: Add optical Forward Error Correction (FEC) support. [ER115211] FEC control is configurable in flash via FC Board configuration file (Q8362FBC.DAT) but is not enabled by default. The following bits must both be set to enable FEC: o FLASH BYTE OFFSET 0080h/0480h, bit 16 (16G Training enable) set to one, and o FLASH BYTE OFFSET 03F8h/07F8h, bit 17 (Training Local FEC Enable) set to one. * 83FC: Add FEC enable control via Load Operation Firmware mailbox command (1Bh), format 8. [ER115061] * 83FC: Add FEC status in Link Up asynchronous event notification (8011h), out-going mailbox register 2 bit 0, and Data Rate mailbox command (5Dh), out-going mailbox register 4 bit 0. [ER116281] * FC: Add Driver Heartbeat mailbox command (5Bh). [ER114005] Bug Fixes --------- * 83xx: Fix length field checking in Load Operational Firmware Parameters mailbox command (1Bh). [ER114978] * 83xx: Fix HFL issue that created invalid response queue entry. [ER114244] * 83xx (Multi-ATIOQ): Fix missing data in ATIO queue number field of Get ID mailbox command (opcode 20h), outgoing mailbox register 14. [ER115278] * MID: Fix processing in Get ID List mailbox command (opcode 7Ch) to avoid potential 8002h firmware fatal error. [ER115834] * 25/81/83xx: Fix 8002h firmware fatal error when receiving BA_ACC for ABTS exchange. [ER115846] * Target Mode: Post Immediate Notify IOCB (Type 0Dh) status code 46h upon receipt of LOGO containing unexpected portname. [ER111592] * MID: Omit sending LOGO to switch after LS_RJT is received for FDISC. Previously, a LOGO with zero S_ID was sent in this scenario. [ER113775] * 83xx FC-TAPE: Fix generation of Immediate Notify (Type 0Dh) with SRR received status leading to missing SRR ACC. [ER108127] * MID: Remove erroneous participation during LILP phase of Loop Initialization when Initialize Firmware mailbox command (48h or 60h) is executed with Disable Initial LIP (bit 9) of Firmware Option 1 is set to one. [ER115178] * 83xx: Fix HFL issue that occurred when upgrading to different firmware version. [ER115533] * 25/81/83xx (MultiQ): Fix RISC pause occurring when deleting queue via Initialize Multiple Queue MBC (1Fh). Also add checking of MSI-X vector number as documented in firmware interface specification. [ER113119] * Fix 8002h firmware fatal error caused by CT Pass-Through IOCB (Type 29h) containing mismatching response DSD length and response total byte count. [ER116040] * MID (Target Mode): Ensure SCSI exchanges are cleaned up after FLOGI LS_ACC is received and the driver issues a Login/Logout Port IOCB (Type 52h) to cause implicit LOGO. [ER116062] [ER131981] * FCoE: Allow nonzero VLAN ID in FIP VLAN Notification to support automated discovery of the FCoE VLAN via multicast FCF notifications. [ER113340] * FC: Fix re-initialization of port upon completion of internal loopback in 16G speed or P2P 4/8G. [ER111133] * FC: Fix scenario in N2N topology where port was not logged out after being plugging into different HBA port. [ER115429] * Fix stalling of Mailbox Execute IOCB MBC (Opcode 54h) due to low buffer resources. [ER116008] * 83FC-SRIOV: Fix performance issue caused by incorrect MRRS for virtual function. [ER114718] * 24/25xx SB-2: Fix standards violation where RO Present bit was set in SB-2 IU transmitted with “unsolicited data” category. [ER116216] * 24xx SB-2: Fix 8002h firmware fatal error when terminating a SB-2 transmit exchange with ABTS. [ER115056] * 83FC-SRIOV: Fix 8002h firmware fatal error occurring while accessing VF mailbox registers when BPM enabled. [ER116498] * 25/81xx SB-2: Fix issues encountered while originating ABTS exchange. [ER131662] * 25/81/83xx T10-CRC: Fix 8002h firmware fatal error occurring with combination of RDMA DIF bundling and either target mode or FC-TAPE. [ER131661] * 83FC-SRIOV: Corrected issue which could result in a “Mode 0” Report ID Acquisition IOCB (Type 32h) going to an incorrect queue. [ER116336] * 83xx Multi-ATIOQ: Fix “in use” check when deleting queue. [ER131694] * 83xx: Fix duplicate ATIO queue update interrupts in ZIO mode. [ER116343] * Fix handling of nested Login-Logout IOCB (type 52h) with Free NPort Handle option with explicit LOGO request to prevent firmware fatal error 8002h. The first IOCB will not be processed and is returned with error (Login/Logout IOCB: Command Failed) and the second IOCB is processed normally. [ER101242] * FCoE (MID): Fix FLOGI not sent after CVL received for multiple virtual ports. Introduced by [ER106159]. [ER131770] * 83FC-SRIOV: Fix 8002h firmware fatal error occurring while generating AEN 8014h to report logout. [ER131933] * 24/25xx SB-2: Fix receive path error handling to prevent a firmware fatal error (8002h). [ER132000] * 25/81xx: Customer specific. [ER114711] * 83xx: Customer-specific. [ER114518] From 7.01.00 to 7.02.00 Changes ------- * Error status returned for Set Port Parameters (1Ah) and Initialize Multi-Queue (1Fh) mailbox commands issued via Mailbox Command IOCB Type (39h) has changed. Previously, the error code was Invalid Command (4001h). Henceforth, the command completion is Command Parameter Error (4005h) with subcode 3Ah. [ER113909] Bug Fixes --------- * 83xx: Customer-specific. [ER112155][ER105430] * 83xx: Fix potential errors tracking PCI Fast Training Sequence (FTS) events. [ER111482] * Fix 8002h system error occurring with Pass-up of LOGO and PLOGI ELS commands with total frame size of 64 bytes. [ER111562] * FC-VI: Fix potential 8002h system error introduced by ER103921. [ER109925] * 25xx/81xx/83xx: Fix 8002h system error occurring during abort testing with FCP initiator. [ER111670] * 81/83xx: Fix 8002h system errors in various corner cases with Memory Offload feature. [ER111671] [ER111966] [ER111953] * CLASS2: Drop BLS/ELS request when frame is not delimited by SOFi1/SOFi2. [ER109320] * 83xx FC: Fix potential issue initializing FC serdes parameters via Load Operational Firmware Parameters mailbox command (1Bh), mailbox register 1 = 1h (format). [ER113620] * 25/81/83xx: Fail the Initialize Multiple Queue (001Fh) mailbox command with 4005h (Command error) and 0007h (The firmware was not ready) in outgoing mailboxes 0 and 1, respectively, if the Initialize Firmware (0048h or 0060h) mailbox command has not be issued. [ER113621] * 25/83xx FC: Fix issue in internal loopback testing while attached to Cisco switch. [ER113117] * FC-VI: Fix 8002h system error occurring during exchange in target mode. [ER113106] * 24/25xx SB2: Fix 8002h system error occurring with Class 2 ACK frame transmission error. [ER113153] * 83xx: Customer-specific [ER109266][ER111179][ER112173][ER113146] * 83xx FCoE: Fix 4005h error from Get XGMACS Statistics mailbox command (7Ah) when Host Buffer Size is between B2h and 164h bytes. [ER110891] * 25xx, 81xx, 83xx FC: Fix incorrect completion status in Status IOCB (Type 1) when RDMA error occurs. [ER110956] * 83xx FC: Restore initial topology during Data Rate mailbox command (5Dh) when speed is not 16 Gpbs. [ER106003] * FC-TAPE: Fix data transfer length and ESB owner (bit 31) of E_STAT in LS_ACC of REC exchange. [ER91485] * T10CRC: Fix system errors (8002h) when handling T10CRC RDMA with DIF Bundling. [ER112467] * 83xx: Fix HFL issue affecting response queue information. [ER111923] * Enforce checks governing driver requests to change the local (HBA) port identifier during N2N login per firmware interface specifications. [ER112446] * FC: Fix PLOGI not retried in N2N topology after PLOGI RJT during multiple cable pull testing. [ER112457] * Fix RISC pause due to exhaustion of exchange resources while enqueing CTIO request and handling sequence recovery. [ER112765][ER114282] * 81/83xx: Prevent system error (8002h) that occurred during HFL while response queue full. [ER111323] * 81/83xx: Report missing link down event when cable is pulled during HFL. [ER112228] * 83xx FC: Prevent discarded or dropped frame caused by transitioning between internal and external loopback. [ER106677] * 24/25xx SB2: Fix firmware fatal error encountered during Terminate SB-2 operation. [ER103953] * Fix incorrect transfer length field of REC response introduced by [ER91485]. [ER114519] * 25xx/83xx: Prevent system error (8002h) introduced by customer-specific feature [ER97962][ER108815] when receiving FCP_CMND without sequence initiative set to one. [ER112415] * FCoE: Fix timers related to FIP activity for correct operation across HFL. [ER112137] 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 3. Additional Notes ISP 24xx/25xx/26xx/81xx/83xx/27xx Firmware Version: 8.08.206 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. * 16G Fibre Channel Adapters (QLE267x, ASIC rev B0 only) versions 6.00.12 and later. * 16G Fibre Channel Adapters (QLE268x) versions 8.00.00 and later * 16G Fibre Channel Adapters (QLE269x) versions 8.03.00 and later * 32G Fibre Channel Adapters (QLE276x) versions 8.00.00 and later * 32G Fibre Channel Adapters (QLE274x) versions 8.03.00 and later Firmware Specification: * 83xx - Firmware spec rev K - Errata for Spec changes since Rev K * 26xx/27xx Fibre Channel - Firmware Spec rev E - Errata For Spec changes since Rev E 4. Notices Information furnished in this document is believed to be accurate and reliable. However, Cavium, Inc. assumes no responsibility for its use, nor for any infringements of patents or other rights of third parties which may result from its use. Cavium, Inc. 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. Cavium, Inc. makes no representation nor warranty that such applications are suitable for the specified use without further testing or modification. Cavium, Inc. 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 Cavium, Inc. All other brand and product names are trademarks or registered trademarks of their respective owners. (c) Copyright 2019. All rights reserved worldwide. QLogic and the QLogic logo are registered trademarks of Cavium, Inc. All other brand and product names are trademarks or registered trademarks of their respective owners.