QLogic Firmware Release Notes

 

                       QLogic Corporation.

                       All rights reserved.

 

 

Table of Contents

 

1. Change History

2. Known Issues

3. Additional Notes

4. Notices

5. Contacting Support

 

 

1. Change History

 

These release notes document the changes and fixes present in

ISP 24xx/25xx/81xx/83xx firmware versions 7.01.03 and earlier.

 

 

NOTE: Some ER descriptions in this section contain the following

acronyms:

 

 * AEN-Asynchronous Event Notification

 * BIDIR-Bidirectional Command Format

 * C2-Class 2

 * CRC-Disk/Block Cyclic Redundancy Check

 * FS-Frame Shuttle

 * IP-Internet Protocol

 * MID-Multiple ID

 * MIDQ-Multiple ID, Multiple Queue

 * SB2-Single Byte Command Code Set Mapping Protocol

 * VI-Virtual Interface

 * VP - Virtual port

 * CVL - Clear Virtual Link

 

 

 

From 7.01.02 to 7.01.03

 

Changes

-------

None

 

Bug Fixes

---------

* MID: Fix unsuccessful fabric login with some switch models by replacing FDISC with FLOGI request whenever

  no VP is logged into switch. [ER114226]     

 

 

From 7.01.01 to 7.01.02

 

Changes

-------

None

 

Bug Fixes

---------

* FCoE (MID): Fix FLOGI not sent after CVL received for multiple virtual ports.  Introduced by [ER106159].

  [ER131770]

* Target mode: Fix duplicate FLOGI or FDISC transmitted for same VP if link flap occurs while firmware

  is waiting for Notify Acknowledge (type 0Eh) for Fabric Logout or CVL. [ER131883] 

 

 

From 7.01.00 to 7.01.01

 

Changes

-------

* 25/81xx: Customer specific. [ER114711]

 

Bug Fixes

---------

None

 

 

From 7.00.00 to 7.01.00

 

Changes

-------

 

Bug Fixes

---------

* 83xx FC-VI: Fix CDMA hang issue caused by ER84932.

* FC Tape: Fixed SRR reject reason code and reason explanation fields of Notify Acknowledge IOCB sent incorrectly

  by firmware. [ER111152]

* FCoE: Fix firmware not returning the local tlv data in mailbox command 51h (Get DCBx parameters) while link

  was down.[ ER104436]

* FCoE: Fix host buffer corruption because firmware returns more data than requested for mailbox command 50h

  (Get FCF List). [ER109339]

* MID: Fix an issue where VP-specific WWPN was not being used when comparing port names during login collision

  processing. [ER108400]

* 81xx, 83xx: Fix an issue causing firmware fatal error when moving multiple host XCBs from/to system memory

  with exchange memory offload feature enabled. [ER108584]

* Fix firmware fatal error or no R_RDY transmit (FC) or pause storm (FCoE) as a result of consecutive dropped

  data frames of two different IO contexts.[ER107870]

* MID: Fix target-mode throughput performance when the number of virtual ports exceeds 64. [ER100813]

* 81xx, 83xx: Fix potential firmware fatal error seen during cleanup of host XCBs with memory offload feature

  enabled.  [ER108583]

* FC: Fix IO underrun or timeout in N-port to N-port topology when Disable N2N Login after FLOGI option (bit 8)

  of Initialize Firmware Control Block (Firmware Options 3) is set. [ER108578]

* 25xx, 81xx, and 83xx: Fix both Abort I/O (IOCB type 33h) and original command type 7 (IOCB type

  18h) returned with good completion status. The expectation is that if Abort I/O IOCB is returned with

  completion status=0h then original command type 7 IOCB should have completion status=05h OR if Abort I/O

  completion status=31h  and original command type 7 should have completion status=0.[ER108409].

* 81xx, 83xx: Fix an issue where ELS request received after ELS ACC can get delivered to the host driver

  out of order.  This issue happens when ELS/BLS frames route to ATIOq option is enabled (Set Additional

  Firmware Options mbc (38h)- bit 11 of Additional FW options 2 (Enable Asynchronous IOCBs to ATIO queue) is

  set). [ER108359]

* Fix residual transfer length field in all CTIO types when no data was transferred due to transfer error.

  [ER108196]

* Fix an issue where ELS request received after ELS ACC can get delivered to the host driver out of order

  when PUREX is enabled by driver and driver originated ELS request using ELS Pass thru IOCB type 53h. Because

  of this issue firmware may post an ELS command enabled (in PUREX Iocb type  51h) before posting a completion

  for prior ELS command sent by driver using ELS Pass thru IOCB type 53h. [ER108616]

* 83xx FC: Internal and External Loopback related fixes. [ER108121]

* Mid: Fix firmware fatal error seen after virtual port disable and peer node sends ELS response after 2 times

  RA TOV. With this change firmware will send a LOGO during VP disable to avoid receiving any ELS responses.

  [ER99828]

* Fix an issue where firmware dropped an ELS request (e.g., PLOGI) and sent no LS_RJT when all N-port handles

  were used and no internal buffer could be allocated. [ER109116]

* Customer-specific [ER108144][ER109266]

* 83xx FC: Fix no link up seen after link flap when using certain batch of Avago 16G SFP in N2N configuration.

  The problem is also seen as external loopback failure with loopback connector. [ER109404]

* 83xx FCoE: Fix invalid entry parameter in Ethernet Header Send IOCB type 36h that occurred with Multi-q

  feature. [ER108805]

* 25xx, 81xx Multi Queue Specific: Fix firmware error seen while deleting a response queue. Problem can

  be seen as mailbox command 1fh timeout. [ER110448]

* Customer specific change. [ER109975][ ER109688][ ER110421][ ER107145][ ER108815][ER108943][ER102937][ER110648]

  [ER107946][ER108455]

 

 

From 5.10.00 (24xx, 25xx, 81xx) and 6.08.00 (83xx) to 7.00.00

 

For history of changes/fixes in 83xx firmware v6.08.00 or earlier, please refer to

Hilda FC/CNA release notes.

 

Firmware version 05.xx.xx did not support 83xx products.

 

Changes

-------

 * SB2: Add codes for Error Subcode 2 (IOCB byte offsets 28-2B) for ELS Pass-Through IOCB (type 53h) when

    Error Code field is 31h and Error Subcode 1 is 04h:  Error Subcode 2 is 12h when unexpected P_RJT is

    received;Error Subcode 2 is 13h when unexpected F_RJT is received. [ER105197]

 * 83xx: OEM-specific [ER104781][ER107479]

 

Bug Fixes

---------

 * 25xx, 83xx FC: Initialize credits before changing fill word from ARB to idle to avoid dropped frames

    during LR protocol with switch. [ER105953]

 * Fix firmware fails to detect port id change after Fabric login timeout.[ER105899][ER105524][ER107888]

   [ER107483]

 * Fix generation of FLOGI after CVL is received or link flap occurs. [ER106159]

 * FC-TAPE: Allow CTIO IOCB to be queued before N_PORT ID is acquired after link flap. [ER106161]

 * FC: Fix S_ID in PRLI when N_PORT is directly attached to N_PORT. [ER106563]

 * 83xx FC: Fix FC link glitch during Hot Firmware Load. [ER106088]

 * 24xx, 25xx: Fix fatal error during FC internal loopback. [ER107098]

 * 25xx, 83xx FC: OEM-specific [ER105908]

 * 81xx, 83xx: Fix fatal error when both Exchange Memory offload and Asynchronous Event to

    Immediate Notify IOCB are enabled. [ER107200]

 * 83xx FC: Fix fatal error during internal loopback by disabling transmit/receive hardware

    before changing loopback path. [ER106384]

 * Fix RISC pause during termination of CTIO exchange whose associated port was previously freed by driver.

   [ER103468]

 * Fix RISC pause during unplug/plug test when Receive Out-of-Order Data Frame is enabled. [ER104508]

 * Fix command parameter error (4006h) during Get Port Database mailbox command (64h) with

    Force Login option (mailbox register 10, bit 0) is set to 1 and no PCB can be allocated. [ER105370]

 * FC: Fix loopback command timeout issue during external loopback with plug. [ER107610]

 * 83xx FC: OEM-specific [ER107362]

 

 

From 5.09.00 to 5.10.00

 

Changes

-------

* 24xx, 25xx, 81xx MID: Fix firmware failing get link statistic and private data count

  mailbox command (6Dh) with command parameter error (4006h) status if VP was disabled.

  Firmware will not validate the vpindex (specified in incoming mailbox 9) for get link

  statistic and private data count mailbox command (6Dh). [ER104352]

 

* 24xx, 25xx and 81xx: Fix firmware incorrectly reporting Link up notification (AEN8011) and

   Port database change notification (AEN8014 with outgoing MB1=ffffh, MB=06h, and MB3=00h)

   upon receiving Flogi timeout in point to point mode. Firmware will retry flogi (as specified by the

   Login Retry Count field in initialize firmware MBC 60h) and generate AEN8014 with outgoing MB1=0xffff,

   MB2=0x07, MB3=0x0E (Flogi Reject) after Flogi retries are exhausted.

   For FC adapters (24xx/25xx) in fabric loop, firmware will fall down to private loop

   upon receiving FLogi timeout and exhausting Flogi retires. If private loop logins are successful,

   Get ID mailbox command will return with 4000h status and outgoing MB6=0h (loop, no fabric).

   Drivers would need to issue Link Initialization MBC 72h to retry fabric login. [ER102941]

 

Bug Fixes

---------

 * SB2 C2: Fix firmware fatal error seen on reception of ACK1 for a target ELS pass-thru exchange.

   [ER103676]

 * SB2: Fix firmware fatal error encountered during Terminate SB-2 operation. [ER103953]

 * 24xx, 25xx and 81xx: Fix firmware fatal error seen on failure to acquire ATIO Queue lock. [ER103244]

 * 81xx: Fix intermittent firmware fatal error seen when exchange memory offload is enabled and

   firmware is out of on chip exchange buffers. [ER103683]

 * 24xx, 25xx and 81xx: Fix intermittent firmware fatal error seen while processing CTIO with

   terminate exchange bit set for an initiator port that was explicitly logged out or for a target virtual

   port that was disabled.[ER103468]

 * 24xx, 25xx and 81xx: Firmware fix to generate the correct TPRLO ACC payload when additional firmware

   options 2, bit 0 is set.[ER104672]

 * 25xx: Fix BB-credit calculation to avoid a corner case resulting in buffer overflow.[ER103778]

 

 

 

From 5.08.00 to 5.09.00

 

Changes

-------

 * 24xx, 25xx and 81xx: Fix firmware incorrectly reporting Link up notification (AEN8011) and

   Port database change notification (AEN8014 with outgoing MB1=ffffh, MB=06h, and MB3=00h)

   upon receiving Flogi Reject in point to point mode. Firmware will retry flogi (as specified by the

   Login Retry Count field in initialize firmware MBC 60h) and generate AEN8014 with outgoing MB1=0xffff,

   MB2=0x07, MB3=0x0E (Flogi Reject) after Flogi retries are exhausted.

   For FC adapters (24xx/25xx) in fabric loop, firmware will fall down to private loop

   upon receiving FLogi Reject and exhausting Flogi retires. If private loop logins are successful,

   Get ID mailbox command will return with 4000h status and outgoing MB6=0h (loop, no fabric).

   Drivers would need to issue Link Initialization MBC 72h to retry fabric login.[ER98361]

 

Bug Fixes

---------

 * Target mode: Fix firmware fatal error (AEN8002) while processing REC for a target

   exchange (write operation) that has overrun error. [ER99450]

 * 25xx and 81xx: Fix firmware hang due to processing invalid register data.[ER91564]

 * 25xx and 81xx: Fix firmware fatal error while completing T10_CRC IOCB with bad entry status.

   [ER94657]

 * T10 only: Update CTIO completion status reported by firmware for an exchange with DIF error.

   Firmware will now return the active CTIO(the one that encountered the DIF_Error) with DIF_ERROR (0Ch)

   status. The other pending CTIOs for this exchange will be returned with completion status of 04h.

   [ER101109]

 * 25xx: Fix firmware reporting incorrect reason code in outgoing MB1 for Link down notification

   (AEN8012h). [ER93550]

 * 24xx, 25xx and 81xx: Fix command timeout due to context error when mix of originator and

   responder FCP_DATA frames are received (same oxid, same SID/DID, and same SeqID but bit23

   of F_CTL is different). [ER97948]

 * OEM specific fixes.[ER98592][ER98526][ER98648][ER99782][ER98769][ER94699][ER99329]

 * 24xx, 25xx and 81xx: Fix Task Management IOCB type 14h completion with dma error status.

   [ER98619]

 * 24xx and 25xx: Fix firmware potentially losing AL_PA when driver issues mailbox

   command 0x72 to perform link initialization.[ER99327]

 * Target Mode: Fix CTIO's not being returned to host driver on bad completions

   if CTIO flags bit 8 is set (Do not return CTIO flag is set) [ER89496].

 * FC-VI: Fix firmware hang seen due to race condition between

   transmit completion and response for connect/disconnect request.

   [ER97699]

 * 24xx, 25xx and 81xx: Fix firmware running out of exchange buffers if multiple Test ELS

   commands (enabled as pass-through ELS) exchanges are terminated (after received) by the

   driver. [ER97668]

 * T10 only: Fix firmware to report DMA_ERROR instead of DIF_ERROR if

   multiple errors are pending on T10 pcie transfer.[ER99229]

 * 81xx: Fix firmware not reporting Asynchoronous Event Notification for port database change

   (AEN8014) if SCR ELS command timesout while recovering from Clear Virtual Link. [ER90311]

 * 24xx and 25xx: Provide workaround for link not coming up in point to point mode with

   non-QLogic targets.[ER89054].

   Workaround provided by QLogic firmware is to retry the timed-out FLOGI before reinitializing

   link with OLS or LIP. Driver can enable this workaround by setting bit 3 in

   "Additional Firmware Option 2". Mailbox command 0x38 can be used to set additional firmware options.

 

 

From 5.07.00 to 5.08.00

 

Changes

-------

* 24xx and 25xx: OEM specific change. [ER91736]

* 24xx and 25xx: Add support to return node name/portname and topology info in

  Immediate Notify IOCB type 0x0D with status code 46 (ELS opcode = PRLI). [ER95221]

 

            Bit 3 of Immediate Notify IOCB FLAGS field(offset 0x0C) indicates topology.

Bit 3 (N_Port to N_Port PRLI). This bit is valid when fw sends Immediate Notify IOCB for PRLI received.

When this bit is set, the connection topology is N_Port to N_Port.

           

            Bit 4 of Immediate Notify IOCB FLAGS field(offset 0x0C) indicates valid port name/node name fields.

Bit 4 (Port name/Node name valid). This bit is valid when fw sends Immediate Notify IOCB for PRLI received.

When this bit is set, offsets 1Fh-18h of the IOCB contain the Node Name and offsets 2Fh-28h contain the Port

name.

 

* OEM specific change. [ER92124]

 

Bug Fixes

---------

* 24xx: Fix IO stalls under load seen on 24xx based adapters

  equipped with reduced memory. [ER91881]

* 25xx and 81xx: Fix intermittent aborts for multi-sequence write IOs with T10

  DIF Remove support enabled. [ER92575]

* 81xx: Fix ISP fatal error seen during switchport enable/disable in VmWare

  running multiprotocol traffic. [ER92926]

* 25xx: OEM specific fix. [ER92997][ER94477][ER94483][ER94873][ER94874][ER95164][ER95440]

* 25xx: Prevent misinterpretation of LUN information in command IOCB. [ER94518]

* Prevent potential firmware fatal error with Extended Logins feature enabled. [ER94949]

* Target mode: Fix firmware fatal error seen with multiple concurrent LFS

  (last frame of sequence) completions.[ER95023]

* Fix mailbox command timeout seen during link re-initialization by host driver. [ER93142]

* Fix performance scaling issues seen with multiple 4G tape devices.[ER93245]

* FC-VI only: Fix Last_Sequence (of exchange) in F_CTL (bit 20) is not set in the last frame

  of FCVI read response.[ER88486]

* Target mode: Fix IO timeout seen if driver configures exchange count in initializae firmware

  mailbox command to maximum.[ER94492]

* 24xx and 25xx: FIx potential firmware fatal error during link initialization process. [ER97741]

* Fix firmware sending duplicate ELS Pass-Through IOCB Type 53 on response queue. [ER96220]

 

 

From 5.06.05 to 5.07.00

 

Changes

-------

 * Customer-specific changes[ER91528][ER92481].

 

 * New Feature: Firmware sends Report ID Acquired IOCB Type 32h upon

   Flogi failure.Setting bit 5 in Global VP Option of Initialize Firmware

   Mailbox command 48h enables this feature. [ER92460]

 

 * New Feature: Firmware reports NportHandle, WWPN and WWNN of remote port in Report ID

   Acquired IOCB Type 32h for N2N connection topology. Setting bit 6 in Global

   VP Option of Initialize Firmware Mailbox command 48h enables this feature.

   [ER91536]

 

Bug Fixes

---------

 * 81xx Target Mode: Fix IO failures after hot firmware load.[ER89071]

 

 * 81xx: Fix RLS statistics reporting incorrect data after reseting the

   counter. [ER89631]

 

 * Fix firmware not logging out SNS port (PID=0xFFFFFc) while processing

   implicit Logout all request with control flag bit 10 set in

   login/logout port iocb type 52h.[ER89916]

 

 * EP Device Only: Fix advertised BB_Credits not increasing with additional

   receive credits option set. [ER91387]

 

 * Target Mode: Fix firmware fatal error seen while aborting an exchange.

   [ER92401]

 

 * Fix firmware failing request to disable multiple virtual ports using iocb

   type 30h. [ER92438]

 

 * Fix Loop port bypass (40h) and loop port enable (41h) mailbox commands

   not working correctly. [ER92125]

 

 * FC-VI only: Fix disconnect request iocb timeout. [ER89425]

 

 * T10 Only: Fix firmware reporting DIF errors while running multi sequence,

   T10-DIF enabled IO’s with protection mode set to DIF- Remove.[ER91931]

 

 * Fix firmware fatal error while running T10-DIF enabled IO’s with

   protection mode set to DIF-Remove. [ER90525]

 

 * Fix incorrect reporting of discarded and dropped frame count in mailbox

   command 6Dh. [ER92579]

 

 * Customer-specific fix. [ER92573]

 

 * Add support for programming page and payload length fields in TPRLO response

   frame. Setting bit 0 of additional firmware options causes ISP to send TPRLO

   page length = 0x10 and payload length = 0x14. [ER89265]

 

 * Fix fatal error seen when support for Additional Receive Credits and Exchange

   Memory offload is enabled concurrently. [ER93223]

 

From 5.06.04 to 5.06.05

 

Changes

-------

 * Customer-specific change [ER88709].

 

Bug Fixes

---------

 * 81xx and T10 only. Corrected an issue where firmware would

   report invalid T10 DIF error for IO commands that used multiple

   scatter gather lists (DSD list) and multiple FCP_XFER_RDY.

   [ER86320]

 

 

From 5.06.03 to 5.06.04

 

Changes

-------

 * FC-VI only. Add support to free up firmware allocated exchange

   for incoming connection request that driver decides to drop.

   Drivers can free up the firmware allocated exchange by sending

   FC_VI Connect/Disconnect Request or Response IUs IOCB

   (entry type 2Ah) with the following values,

   - control flag bit [11] set,

   - VI index = FFFFh

   - Received exchange address = copy of receive exchange address

     from IOCB 3Ah.

   If firmware is successful in freeing up the exchange it will

   return IOCB with completion status = VIP_SUCCESS (100h).

   If firmware detects an error and is unable to free up the

   exchange it will return IOCB with completion status =

   invalid receive exchange address (08h). [ER85878]

 

 * Customer-specific change [ER84932]

 

Bug Fixes

---------

 * Customer-specific fix. [ER88032]

 

 * FC-VI only. Corrected following issues;

   - Firmware reports incorrect response when receiving write

     request with no data.

   - Firmware returns opcode data in the wrong field for Post

     Receive Descriptor IOCB (Entry Type=49h).

   [ER85292]

 

 

From 5.06.02 to 5.06.03

 

Changes

-------

 * Customer-specific change. [ER87344]

 

 * Customer-specific change. [ER87452]

 

Bug Fixes

---------

 * Target mode: Fixed a condition where a Notify Acknowledge IOCB

   was not returned to the host driver after an exchange was aborted

   in the transmit path. [ER87041]

 

 * Fixed a RISC pause due to an illegal address access, which was

   caused by updating a field from an incorrect location introduced

   by ER85125 when the host driver has enabled the memory offload

   feature. [ER87077]

 

 * EP25xx with external memory added in design: Added a firmware

   workaround to fix a situation where a 16-bit write access

   (while running with a mixture of internal and external memory

   accesses) could corrupt the other 16 bits of the 32-bit word

   (within the RISC variable space). [ER87227]

 

 

From 5.06.01 to 5.06.02

 

Changes

-------

 * VI build only. Added new asynchronous event notification (AEN)

   8053h, VI diagnostic information.

   To enable this AEN (8053h), the driver uses the Set Additional

   Firmware Options mailbox command (0038h) with the Enable AE8053h

   bit (Incoming Mailbox 1 register bit 2) set.

   The status information that is sent with this event is as

   follows:

 

   Outgoing     

   Mailbox #     Content

   ---------------------------------------------------------------

   0             AEN 8053h

   1             Associated VI index

   2             Error code:

                 1h = The firmware sent a VI response (RSP) frame

                 with error bits set.

                 2h = The transmit data (TD) timed out on the Fibre

                 Channel-VI (FC-VI) frame.

                 3h = A frame error was received, causing the

                 firmware to discard the frame.

                 4h = There was a PCI error when writing the received

                 frame to host memory.

   3             OX_ID

   4             Relative offset (15-0)

   5             Relative offset (31-16)

   [ER83953]

 

 * 24xx and 25xx MID only: Implemented code to use the fabric login

   (FLOGI) Indicator bit (bit 0) of the flag field (byte 11) of the

   Report ID Acquisition IOCB. When this bit is set, a FLOGI has

   been performed for the reported VP index. When this bit is reset,

   an FDISC has been performed for the reported VP index.

   [ER86499]

 

 * Implemented code to use the PLOGI Collision bit (bit 0) of the

   I/O Parameter 2 field of the Login/Logout IOCB for port login

   (PLOGI) status of 31h/04h/0703h. When this bit is set, a

   collision case has occurred.  When this bit is reset, a PLOGI

   timeout case has occurred. [ER84774]

 

Bug Fixes

---------

 * 24xx and 25xx only. Fixed the cause of a fatal firmware error

   (8002h) or RISC pause condition that occurred when the firmware

   mistakenly used an invalid index value after a loop

   initialization procedure (LIP). [ER85460]

 

 * VI build only: A received Fibre Channel frame (FCVI_SEND_RQST,

   FCVI_WRITE_RQST, or FCVI_READ_RQST) is discarded (if in error)

   to avoid returning a VI IOCB with a received data length of zero

   to the host. [ER77797]

 

 * VI build only: Fixed a fatal firmware error (8002h) caused by a

   timeout during the transmission of a write/send response frame.

   [ER83954]

 

 * Disk CRC build only. Fixed an incorrect residual transfer length

   reported in an underrun condition. [ER85671]

 

 * Customer-specific change. [ER86058]

 

 * Fixed the buffer-to-buffer (BB) credit value only from a FLOGI

   (or PLOGI) accept payload (not from a reject payload).

   [ER85613]

 

 * Class 2 only: Fixed a firmware problem where target mode class 2

   SCSI commands returned class 3 frames during SCSI I/O operations.

   [ER85841]

 

 * 24xx only. Fixed the cause of a fatal firmware error (8002h) that

   occurred when an abort was received from the target for a command

   that the firmware was currently attempting to abort.

   [ER72727]

 

 * 24xx and 25xx only. Fixed the delay (up to 32 seconds) before a

   Link Reset is sent after a transmit data timeout. [ER86032]

 

 * 81xx only. Fixed the following problems related to Fibre Channel

   over Ethernet (FCoE) initialization protocol (FIP) keep alive

   (FKA) handling when logged into a Fibre Channel forwarder(FCF):

   - The firmware could loop forever when the FIP keep alive and

     discovery advertisement period (FKA_ADV_period) was

     administratively changed in the FCF from a nonzero to zero

     value.

   - The firmware did not transmit FKAs when the FKA_ADV_period was

     administratively changed (in the FCF) from a zero value to a

     non-zero value.

   [ER86286]

 

 * Customer-specific change. [ER86173]

 

 * Fixed a problem where I/Os issued following a completed Login/

   Logout IOCB PLOGI (with implicit LOGO) failed with aborted

   status. [ER86305]

 

 * MIDQ builds. Fixed a possible pointer corruption problem during

   deletion of a queue introduced by ER85125. [ER86090]

 

 

From 5.06.00 to 5.06.01

 

Changes

-------

None

 

Bug Fixes

---------

 * 2500 MIDQ BIDIR and disk CRC only. Fixed a Command Type CRC_2

   IOCB timeout if data segment descriptor (DSD) chaining for DIF

   DSD (Control Flags field, bit 3) is enabled. [ER85043]

 

 * Fixed a possible invalid command parameter error (4006h) when a

   valid device address was passed in the Write SFP (0030h) or Read

   (0031h) SFP mailbox command. [ER85124]

 

 * Customer-specific change. [ER85126]

 

 

From 5.05.00 to 5.06.00

 

Changes

-------

 * 2500 MIDQ only. Added high-throughput wrapback feature. For more

   information, contact QLogic. [ER77783]

 

 * Customer-specific change. [ER78265]

 

 * Customer-specific change. [ER80300]

 

 * 81xx only. Updated Hot Firmware Load (HFL) parameter and set

   the version number to 2.

   NOTE: Due to this change, version 1 is not compatible with

   version 2. [ER81358]

 

 * 81xx only. The firmware has been implemented to utilize host

   memory to support up to 32K exchanges and 16K port logins. 

   For more information, contact QLogic. [ER85125]

 

 * Customer-specific change. [ER82351]

 

 * Customer-specific change. [ER82956]

 

 * Customer-specific change. [ER84238]

 

 * SB2 only. Increased support for up to 64 SB-2 open receive

   exchanges. [ER84625]

 

Bug Fixes

---------

 * Fixed a RISC pause condition when aborting an exchange associated

   with a Command Type 6 IOCB or CRC Type 2 IOCB (due to a timeout

   condition) before transmitting the command. [ER78647]

 

 * Target mode only. Fixed the cause of a fatal firmware error

   (8002h) when a driver requested termination of a target exchange

   linked to a sequence retransmission request SRR. [ER78942]

 

 * MID. Fixed multiple problems when Enable simple name server

   (SNS) Login and state change registration (SCR) for Virtual Ports

   bit (Initialize Firmware-Multiple IDs command, Global VP Options

   field, bit 6) is set, including:

   - Error reporting associated with SNS and SCR exchanges

     originated when the connection mode is fabric-loop mode.

   - Incorrectly generating a Port Database Changed asynchronous

     event notification (AEN 8014h) with reason code 12h, when the

     VP0 Decoupling option (for more information contact QLogic)

     is enabled. [ER79446]

 

 * 81xx with DISK_CRC. Fixed the Block Size Selected field (CTIO

   Type CRC_4 IOCB, Protection Options field, bits 13-12) to

   accommodate block sizes larger than 512 bytes. [ER79766]

 

 * Customer-specific change. [ER79773]

 

 * SB2. Fixed a system error when the Terminate Exchange IOCB

   (type 4Fh) is lined up with one information unit (IU) completion

   and one or more IUs are queued up on the same exchange. [ER79775]

 

 * SB2. Fixed unrecognizable entries posted to the response queue

   after a cable pull. [ER79777]

 

 * 81xx MID. Fixed a system error condition after a cable pull when

   the firmware is in FIP Discovery as a result of FIP FLOGI

   failures (LS_RJT or Timeout) with the VP Decoupling option

   enabled (for more information, contact QLogic). Another symptom

   is that FIP VLAN and FIP Discovery requests are not transmitted

   after the FIP FLOGI retry count expires. [ER79791]

 

 * Corrected cleanup when initiator port cables were swapped to

   ensure processing and sending a LOGO ACC. [ER80318]

 

 * Corrected a fatal firmware error (8002h) in target mode when

   receiving RSCNs with large entry counts and the option to route

   AENs to Immediate Notify IOCBs is enabled. [ER80743]

 

 * 81xx only. Fixed possible loss of an ELS frame to be queued to

   ATIO when the Enable Asynchronous IOCBs to ATIO Queue bit

   (additional firmware options field, bit 11) and the Enable PUREX

   bit (additional firmware options 1 field, bit 10 are both set.

   [ER81078]

 

 * 25xx and DISK_CRC only: Fix I/O timeouts for Write commands with

   the DIF Remove option. This error was seen if the target sent

   multiple (three or more) XFER_RDYs for a Write command. [ER81127]

 

 * Corrected possible fatal firmware error (8002h) after disabling

   a VP. [ER81248]

 

 * 25xx/81xx DISK_CRC only. (Type 2 CRC IOCBs only). Fixed incorrect

   Continuation IOCB built with DSD data chaining during low

   resource conditions. This IOCB could cause error completions to

   be returned. [ER81368]

 

 * Customer-specific change. [ER81527]

 

 * MID only. Fixed an issue where the logged in status for the SNS

   port (in port database queries) was incorrect (stale). [ER81575]

 

 * 81xx only. Corrected additional information reported in the

   Outgoing Mailbox 4 register for asynchronous event 8012h.

   [ER82587]

 

 * MID only. Fixed an issue where Invalid Request status was sent

   back on a returned Notify Acknowledge IOCB when the option to

   route AENs to Immediate Notify IOCBs is enabled. [ER82798]

 

 * 25xx only. Corrected plug/unplug issue with loopback connector

   when using JDSU or Opnext(r) SFPs. [ER83002]

 

 * Corrected a problem resulting in either lost or duplicate PUREX

   ELS requests when the option to route asynchronous IOCBs to the

   ATIO queue is enabled. (Enable Asynchronous IOCBs to ATIO Queue

   bit (Set Additional Firmware Options mailbox command, Incoming

   Mailbox 2 register, bit 11)). [ER83146]

 

 * 24xx/25xx MID only. Corrected a possible CT Pass-Through command

   timeout when VP0 decoupling option is enabled (multi-ID

   initialize firmware control block, Global VP Options field,

   bit 2 is set). [ER83607, ER83817]

 

 * SB2 only. Aborted remaining Send IOCBs in a multi-sequence

   exchange when the current sequence was aborted by ABTS from the

   responder of the exchange. [ER83633]

 

 * Customer-specific change. [ER83882]

 

 * SB2 only. Extended the SB-2 IU timeout to match the default error

   detect timeout value (ED_TOV). [ER80423]

 

 

From 5.04.00 to 5.05.00

 

Changes

-------

 * Customer-specific change. [ER70972]

 

 * 24xx and 25xx Frame Shuttle only. Send AE8008 (LR_RECEIVED)

   through Response queue. [ER71838]

 

 * MID only. Added support for VP0 DECOUPLING.

   NOTE: Change to Multiple-ID Initialize Firmware Control Block to

   allow VP0 Decoupling option to be enabled by setting Global

   Option bit_2 (Global Options 15:0 at byte offset 82h).

   CAUTION: In a fabric loop topology with no VPs enabled, a switch

   may continue to issue LIPs while no ALPA is participating in the

   LOOP, and the firmware does not transition to READY. To prevent

   this, ensure that a participating LOOP device is present. For

   more information, contact QLogic. [ER71936]

 

 * Enable ER71877 for all builds (previously 81xx only). (For

   details, see ER71877). [ER72766]

 

 * Disallow firmware to assign non-reserved N_Port handle to SRR/ELS

   originator when login-related ELS command (PLOGI, PRLI, PRLO,

   LOGO, TPRLO, ADISC, and PDSIC) requests are enabled to pass up

   via Purex IOCB. [ER72957]

 

 * 24xx and 25xx. Added option to disable ADISC/PDISC after LIP.

   NOTE: To disable the automatic ADISC/PDISC from firmware after

   LIP, the driver may set bit 14 of Additional FW Options 2 through

   the Set Additional Firmware Options Mailbox Command (0038h).

   [ER74370]

 

 * 81xx. Added support for CTIO Type 4 CRC IOCB (73h). For more

   information, contact QLogic. [ER74446]

 

 * Option to Disable Automatic FDISC

   ----------------------------------

   Currently, the firmware automatically performs FDISC for enabled

   virtual ports (VPs) upon receiving an FLOGI_ACC. This procedure

   does not mesh well with driver architectures, which typically

   control the FDISCs. A new option bit allows you to suppress the

   automatic FDISCs. This option bit is available in both the

   ISP25xx and ISP81xx firmware. Older firmware ignores this

   option bit.

 

   Functional Description

   -----------------------  

   The Disable FDISC bit (multi-ID initialize firmware control block,

   Global VP Options field, bit 4) disables the automatic FDISCs.

   If this bit is set, any VPs enabled in the multi-ID initialize

   firmware control block remain enabled, but the ID is not in the

   acquired state. The driver must issue a Modify Virtual Port

   Configuration IOCB (with the Command field set to 3h) to instruct

   the firmware to transmit the FDISC after it receives the report ID

   acquisition (RIDA) for VP0.

   When Disable FDISC is set, no FDISC is transmitted for the enabled

   VPs on any event, which results in a FLOGI. The driver should

   issue a Modify Virtual Port Configuration IOCB (with the Command

   field set to 3h) to instruct the firmware to transmit the FDISC

   for a specific VP (after receiving the RIDA for VP0). The driver

   must instruct the firmware to transmit an FDISC for all enabled

   VPs. After all the FDISC is completed, the firmware state changes

   to ready. In addition, a Port Database Changed AEN (8014h), with

   the Outgoing Mailbox 1 register set to FFFFh and Outgoing

   Mailbox 2 register set to 6h, is generated and passed to the

   driver. If the driver does not transmit FDISC for a VP, the

   driver must disable that specific VP using Virtual Port Control

   IOCB (Entry Type field 30h). This step is needed because a VP is

   enabled, but the ID is not in the acquired state, which can

   prevent the firmware state from changing to ready, and prevent

   generation of the Port Database AEN as previously stated.

   The option applies only to fabric point-to-point topology and

   NPIV environments. [ER74448, ER76312]

 

 * Added option to disable PRLI REC_SUPPORT bit. To disable the PRLI

   REC_SUPPORT bit (PRLI REC_SUPPORT bit is set by default), set

   bit 6 of the additional firmware option 3 of the Set Additional

   Firmware Options (38h) Mailbox Commands). This option has to be

   set prior to Initialize Firmware mailbox command (60h or 48h).

   [ER74764]

 

 * Customer-specific change. [ER74966]

 

 * The Abort I/O IOCB (33h) may now be used to terminate a Task

   Management IOCB (14h). [ER76361]

 

 * Current ISP firmware supports maximum frame sizes of 512, 1024,

   and 2048 in the received PLOGI or PLOGI-ACC. This change provides

   an option to disable this restriction by setting bit 6 of

   Firmware Options 2 through Set Additional Firmware Options

   Mailbox Command (038h). Note that this option bypasses the Maximum

   Transmit Data Frame Size set by the Set Transmit Parameters

   Mailbox Command (019h). [ER76448]

 

 * Customer-specific change. [ER78047]

 

 * Expanded the Firmware Attributes information to 64 bits.

   Firmware Attributes are returned by the About FW Mailbox

   command (8h). Bit_15 of outgoing mailbox 6 indicates the validity

   of the contents of mailboxes 15, 16, and 17:

   - Firmware Attribute bits 31:16 will be returned in outgoing

     mailbox 15.

   - Firmware Attribute bits 47:32 will be returned in outgoing

     mailbox 16.

   - Firmware Attribute bits 63:48 will be returned in outgoing

     mailbox 17.

   - Added "VP0 Decouple" (bit_12) to the attribute field.

   [ER78190]

 

Bug Fixes

---------

 * 25xx and 81xx. Corrected the firmware handling of the Internal

   Read Offset (IRO) field within the FCE Tracing Data Structure.

   [ER69650]

 

 * 81xx only. Corrected the handling of a FAN when received in FCoE.

   [ER73253]

 

 * 81xx only. Corrected problem that could cause a Per Priority

   Pause storm to be transmitted when a receive DMA is stalled.

   [ER73465]

 

 * 24xx/25xx only. Resolved a problem in target mode that prevented

   firmware reaching READY state after a topology change to N2N.

   [ER73583]

 

 * Corrected a Fatal Firmware Error (8002h) that occurred when an

   ELS Pass-Through IOCB was received from the driver that sent PRLI

   ACC and LOGO ACC consecutively for the same remote device.

   [ER73604]

 

 * Corrected DMA error that occurred when mixing T10 and non-T10

   data transfers for the same exchange. [ER73647]

 

 * If the Out of Order option is not selected and a Relative Offset

   mismatch is detected, frames are not DMA'd to the host memory.

   [ER73805]

 

 * 81xx and T10 only. Corrected the handling of a partial transfer

   request in a Command CRC Type 3 IOCB that caused an "Aborted"

   status to be returned. [ER73821]

 

 * 24xx/25xx MID. Fixes potential drops of PRLI request or firmware

   incorrectly assigning multiple N_Port Handles for the same

   Port_id. [ER73958]

 

 * Corrected Execution Count handling that could result in an I/O

   stall when running in mixed Initiator/Target mode. [ER74184]

 

 * Corrected a condition where a CTIO with the Terminate option

   selected did not abort the specified CTIO. [ER74356]

 

 * Prevented consecutive sequences with same Sequence ID in an

   exchange. [ER74375]

 

 * 81xx only. Corrected a potential Receive Frame stall that

   occurred when using T10 IOCB Type 3 and a stop condition aligned

   with a segment boundary. [ER75194]

 

 * Corrected a potential Fatal Firmware Error (8002h) when an SRR

   is received from the initiator and another CTIO is received from

   the host driver. [ER75235]

 

 * Corrected a problem where an SRR was reported via Immediate Notify

   IOCB with an invalid N_Port Handle. [ER75667]

 

 * 81xx only. Detect if MPI RISC failed to auto-load on startup, and

   then issue an internal reset to recover. [ER75941]

 

 * 81xx only. Fixed potential Init Firmware Control Block corruption

   when Additional firmware options 1 bit 11 (Enable Asynchronous

   IOCBs to ATIO Queue) is set to 1. [ER76119]

 

 * MID only. Corrected a condition that allowed a malformed Task

   Management IOCB (14h) to complete with good status, while leaving

   the targeted exchange(s) unchanged. [ER76334]

 

 * Corrected failure to relogin to an FCF or switch after receipt

   of a Fabric LOGO when initiator mode is disabled. [ER76541]

 

 * 81xx only. Corrected failure to reject FCoE Fabric LOGO from FCF

   (FIP Fabric LOGO is required). [ER76643]

 

 * Prevents ATIO Queue Update notifications from overwriting

   RISC-to-Host status for a pre-existing RISC interrupt. Problem

   only occurred in target mode operation with both ZIO and multiple

   queues enabled. The condition was apparent if delays were

   experienced in the target driver's interrupt processing.

   [ER76955]

 

 * 24xx and 25xx only. Prevent firmware attempts to send SCR or SNS

   login in N2N topology. Such attempts formerly resulted in timeouts

   or 8002AEN Fatal System Error. [ER76991]

 

 * 81xx only. Prevent FIP Clear Virtual Link from FCF due to FIP Keep

   Alive timeout when Transmit DMA hung and PCIE Completion Timeout

   was disabled. [ER77592]

 

 * 24xx and 25xx MID. Fixed a failure to generate Report ID

   Acquisition IOCB (0x32) for VPs in FL topology. [ER77795]

 

 * 81xx only. Customer-specific changes. [ER77846]

 

 

From 5.03.00 to 5.04.00

 

Changes

-------

 * Customer-specific changes. [ER69516, ER69589, ER69620, ER70279,

   ER70666, ER71031, ER71711, ER71936, ER72037, ER73006]

 

 * 81xx only. Added Additional Firmware Options 2, bit 9 to improve

   NIC bandwidth when NIC and FCoE receive traffic are running

   concurrently. [ER69565]

 

 * 81xx/25xx MIDQ only. Provide capability in Queue Management (1Fh)

   mailbox command to move a queue base address. For details, refer

   to the Multiple Queue Support for 2500 Series Fibre Channel and

   8100 Series Converged Network Adapter Controllers Applications

   Note. [ER69606]

 

 * 81xx only. Added support for LR Optics. Requires MPI FW 1.39.00

   or later with proper configuration files. [ER69613]

 

 * Added an Additional Firmware Options 3 bit to discard any frames

   received out of order unless the Initialize Firmware Options 3

   bit 6 (Enable Receive Out-of-Order Data Frame Handling) is set

   to 1.

 

   Changes to Set Additional Firmware Options (38h) Mailbox Command

   interface

   ----------------------------------------------------------------  

   - Add to Additional Firmware Option 3 Bits (Incoming mailbox 3

     register) Table: Bit 15 Do not transfer received out of order

     data for an exchange to host memory (except during SRR

     recovery).

   - Replace bit_15 description with: Bit 15 (Do not transfer

     received out of order data for an exchange to host memory).

     When this bit is set to 1, the ISP firmware does not transfer

     received out-of-order data for an exchange to host memory,

     except during SRR recovery. A frame is considered "out-of-order"

     after a previously-received frame is dropped due to an error,

     as well as a true out-of-order frame receipt condition.

   NOTE: Bit 15 is ignored when Initialize Firmware Options 3 bit 6

   (Enable Receive Out-of-Order Data Frame Handling) is set to 1.

   [ER70311]

 

 * 24xx/25xx only. Bit 8 of State Flags field in Status IOCB Type

   has been changed from Reserved to "Unable to send OPN to

   Destination." This bit is set when the destination device sends

   an immediate CLS in response to an OPN from ISP. [ER71132]

 

 * Add option to disable the firmware automatic port login (PLOGI)

   to the simple name server (SNS). To enable this feature, set

   Bit 15 of Additional Firmware Options 2 when issuing Set

   Additional Firmware Options Mailbox Command 0038h. [ER71742]

 

 * 24xx SB2 only. Return the lower 16-bit of current RBC count in

   Receive IU and Add Buffer IOCBs. This extends the scope of ER68875

   to include 24xx.

   - For IOCB type 0x4D, the lower 16-bit of the counter is stored

     at offset 0x3E to 0x3F.

   - For IOCB type 0x4C, the lower 16-bit is stored at offset 0x1C

     to 0x1D.

   [ER71764]

 

 * 81xx only. Added an Additional Firmware Options 2 bit to post all

   Asynchronous IOCBs to the ATIO queue when target mode is enabled.

 

   Changes to Set Additional Firmware Options (38h) mailbox command

   interface

   ----------------------------------------------------------------

   - Add to Additional Firmware Option 2 Bits (Incoming mailbox 2

     register) Table:

     Bit 11 Enable Asynchronous IOCBs to ATIO queue.

   - Replace bit 11 description with:

     Bit 11 (Enable Asynchronous IOCBs to ATIO queue). When this bit

     is set to 1, the firmware posts all asynchronous IOCBs (Purex,

     ABTS Received, and Report ID Acquisition) to the ATIO queue

     when target operation is enabled. Additionally, if a login-

     affecting ELS command (PLOGI, PRLI, PRLO, LOGO, ADISC, PDISC,

     or TPRLO) is passed up to the target driver, an Immediate

     Notify IOCB with Status Code 46h, Login affecting ELS command

     received, shall not be sent.

     Initialize Firmware Options 3 bit 26 (Enable Ethernet Header

     Receive IOCB for ATIO Queue) is used to request the firmware

     place an Ethernet Header Receive IOCB on the ATIO queue before

     each Purex and ABTS Received IOCB. Initialize Firmware

     Options 3 bit 27 (Enable Ethernet Header Receive IOCB for

     Response Queue) shall be ignored.

     When bit 11 is set to 0, the firmware posts asynchronous IOCBs

     to queues specified in the ISP81xx firmware specification.

 

   Changes to Initialize Firmware, Firmware Options 3:

   ---------------------------------------------------

   - Bit 27 (Enable Ethernet Header Receive IOCB for Response

     Queue). When Additional Firmware Option 2 bit 11 (Enable

     Asynchronous IOCBs to ATIO queue) is set, this bit is ignored.

   - Bit 26 (Enable Ethernet Header Receive IOCB for ATIO Queue).

     When Additional Firmware Option 2 bit 11 (Enable Asynchronous

     IOCBs to ATIO queue) is set, and this bit is set, the firmware

     places an Ethernet Header Receive IOCB on the ATIO queue before

     each Purex and ABTS Received IOCB.

   [ER71877]

 

 * MID only. Send LOGO if an FDISC is rejected with error/explanation

   code 03/0D. After LOGO ACC is received, the firmware retries the

   FDISC. [ER72460]

 

Bug Fixes

---------

 * 81xx only. Corrected FCP-2 processing during a link disruption

   until re-discovery is complete. [ER66337]

 

 * MIDQ builds. Corrected N_Port-N_Port FLOGI Dest ID of 0. [ER67952]

 

 * 2532-based adapter only. Corrected an issue that could prevent

   the link from being established when connected to specific targets

   operating at 8Gb link speed in a loop topology. [ER68658]

 

 * Correct abort handling of a Command Type 6 IO that could result

   in fatal firmware error or I/O timeout. [ER68965]

 

 * 81xx only. Set a Buffer Credit value of 16 in FLOGI/FDISC for

   interoperability with FCFs that incorrectly use the field.

   [ER69182]

 

 * 81xx only. Correct handling of received stale frames forwarded

   by an FCF after the link is re-established. [ER69245]

 

 * 81xx only. Corrected an issue that would prevent the link from

   being re-established after a cable pull. [ER69291]

 

 * Correctly set the "sequence initiative transferred bit" (F_CTL)

   for transmission of status mode 2 FCP_RSP with confirmation

   request. [ER69336]

 

 * 81xx only. Added support to detect MPI pause during heartbeat

   processing. [ER69457]

 

 * Disk CRC only. Correct firmware reported residual Byte Count for

   CRC (T10) Read commands. [ER69564]

 

 * 81xx only. Corrected CTIO handling when the link was down.

   [ER69683]

 

 * 81xx only. Corrected an issue with Internal Loopback failure

   reported when link is up to an FCF. [ER69685]

 

 * 24xx CRC only. Resolve 8002 system error during DIF error

   processing. [ER69922]

 

 * 25xx and 81xx only. Corrected possible memory leak during clean-up

   of T10 CRC IOs with DIF Bundling enabled. [ER70018]

 

 * 25xx and 81xx only. Corrected false DIF error reported during T10

   CRC transmit IO with DIF Bundling. [ER70038]

 

 * Corrected Target XCB count returned by Get Resource Counts Mailbox

   Command (0042h). [ER70149]

 

 * Corrected a RISC pause condition after the Diagnostic Echo Test

   (44h) mailbox command completed with an error status. [ER70166]

 

 * 25xx and 81xx only. Corrected a potential I/O timeout of T10 CRC

   IO when using DIF bundling. [ER70319]

 

 * 25xx and 81xx only. Corrected potential invalid PCIe access when

   aborting a T10 CRC IO when using DIF bundling. [ER70558]

 

 * Corrected N_Port Handle assignment by firmware when Purex is

   enabled. [ER70575]

 

 * 81xx only. The firmware could incorrectly set bit 15 of N_Port

   Handle returned by the Get Port/Node Name List (75h) mailbox

   command. [ER70664]

 

 * 81xx only. Corrected a problem where the values supplied in the

   Set Timeout Parameters (32h) mailbox command were not honored.

   [ER70708]

 

 * Prevent 8002 system error when processing a severely malformed

   IOCB. [ER70910]

 

 * Corrected a RISC pause condition during SRR received notify

   ACK processing. [ER70921]

 

 * Customer-specific issues. [ER70970, ER71426, ER72657, ER71475]

 

 * 24xx only: Improved link init time when using Inline Credit

   Extender in an N_Port-N_Port configuration. [ER71034]

 

 * Fixed Loopback mailbox command timeout when Fibre Channel event

   (FCE) extended tracing is enabled. [ER71269]

 

 * Corrected a problem that could result in a Task Management command

   timeout. [ER72100]

 

 * Corrected handling of frames received with DID = 000000h.

   [ER72270]

 

 * 81xx only. Fix CTIO with terminate exchange bit returned good

   completion status (01h) after the CTIO is already completed. The

   CTIO with a terminate exchange bit should instead return an

   invalid receive exchange address (08h) completion status.

   [ER72491]

 

 * MID builds only. Fix CTIO with terminate exchange bit failed with

   completion status=29h. [ER72571]

 

 * 81xx only. Corrected a problem that caused FDISC not generated by

   the firmware when Virtual Port Control IOCB (type=30h) is used to

   enable VP. [ER72921]

 

 * MID only. Correct the cleanup of outstanding ELS requests during

   VP disable. [ER73048]

 

 * MID only. Resolve RISC pause after cable pull or link event.

   [ER73090]

 

 

From 5.02.00 to 5.03.00

 

Changes

-------

 * Added feature to return LOGIN info via Mailbox Command 5Ah -

   Get Params, using type 7.

 

   Entry Parameters (Incoming):

   ----------------------------

   Mailbox0 - opcode (005ah)

   Mailbox1 - Type<15:8>, reserved<7:0>

   Mailbox2 - buffer addr<31:16>

   Mailbox3 - buffer addr<15:0>

   Mailbox6 - buffer addr<63:48>

   Mailbox7 - buffer addr<47:32>

   Mailbox8 - DW Xfr Length (only valid for Type 7)

 

   Exit Parameters (Outgoing):

   ---------------------------

   Mailbox0 - (4000h) normal completion

            - (4002h) DMA error

            - (4005h) error during command execution

            - (4006h) if unsupported type or DW Xfr requested is too

              small  ( 28DW <.. ) data got truncated

   Mailbox1 - If Outgoing Mailbox 0 is 4005h, then Outgoing Mailbox 1

              will have the following sub-code:

              0002h - No IOCB

   Mailbox8 - DW Xfr Data (should be 28 for typical PLOGI, only

              valid for Type 7)

 

   The format returned is according to FC-LS-2 (Fibre Channel -

   Link Services - 2), rev.2.00 - FLOGI/PLOGI payload minus ELS

   command code. [ER66811]

 

 * 8100 only. Added support for MPI heartbeat feature. Contact QLogic

   for details. [ER67656]

 

 * 8100 only. Changes to support additional MPI mailbox commands in

   the range 136h to 150h. [ER67716]

 

 * 2532/8100 CRC. Implemented CTIO Type CRC_2 and support DIF

   bundling on CTIO CRC IOCBs. [ER67727]

 

 * 2532 SB2 only. Return the lower 16-bit of current RBC count in

   Receive IU and Add Buffer IOCBs.

   - For IOCB type 0x4D, the lower 16-bit of the counter is stored

     at offset 0x3E to 0x3F.

   - For IOCB type 0x4C, the lower 16-bit is stored at offset 0x1C

     to 0x1D.

   NOTE: This feature will be documented in the upcoming SB-4 spec.

   [ER68875]

 

Bug Fixes

---------

 * MID only. Do not report RSCN for VPs that have been disabled.

   Previously, the firmware generated 8015 AEN with an invalid

   vpindex. [ER62856]

 

 * 2532/8100 CRC T10. Resolved bad FCP_DATA sequence due to incorrect

   re-initialization of the CRC context for Header mode.

   This affected T10 write commands with multiple FCP_XFER_RDYs.

   [ER67220]

 

 * Removed zeroed optional association headers from RRQ payload.

   [ER67210]

 

 * 24xx/2532 only. Corrected a problem in PLOGI ACC processing that

   could result in failure to respond to a subsequent PRLI. [ER67333]

 

 * 8100 only. Changed login/logout IOCB processing to correctly

   format a LOGO sent to the fabric controller. [ER69214]

 

 * Resolved a Fatal Firmware Error (8002h) due to a race condition

   when the exchange timer expires at the same time FCP_XFER_RDY is

   received. [ER69068]

 

 * 8100 only. Changed link down handling to prevent a stall in

   received FCoE frame processing. [ER68914]

 

 * Prevented Fatal Firmware Error (8002h) when processing an invalid

   ELS response type. This problem could occur if a switch sent an

   erroneous ELS response to a CT pass-thru request. [ER68488]

 

 * 8100 only. Fixed a hang that could occur when processing a new

   request for an FCP2 capable device after a link status change.

   [ER68339]

 

 * 2532/8100 only. Resolved intermittent Fatal Firmware Error

   (8002h) and FKA failures during Flash access. [ER68257]

 

 * Modified RNID processing to correctly handle a response with

   a "Specific Identification Data Length" field of zero. [ER67623]

 

 * 2532/8100 CRC T10. Changed buffer pointer validation to prevent

   erroneous 8002 system errors. [ER67568]

 

 * 24xx/2532 only. Fixed a Fatal Firmware Error (8002h) caused by a

   problem cleaning up after a port discovery timeout. [ER67345]

 

 * 8100 only. Prevented accidental overwrite of the PortName within

   a port descriptor data structure. Problem could occur during the

   execution of mailbox commands 30h, 31h, 51h, or 60h. [ER67181]

 

 * Fixed 200ms delay for Command Type 6 IOCBs when residual under

   run occurs, and FCP_RSP DMA is enabled. [ER67159]

 

 * 8100 only. Resolved intermittent resource allocation failures in

   Read SFP mailbox command (31h). Improved failure sub code

   reporting in mailbox 1 for both Read (31h) and Write (30h) mailbox

   commands. [ER69146]

 

 * Corrected ADISC ELS check for ELS passup and fixed potential bad

   pointer when building ELS frame. [ER67799]

 

 * 8100 only. Fixed mailbox command Diagnostic Loop Back failures

   with Status 4005 and Subcode 0x17. [ER67690]

 

 * 8100 only: Fix erroneous discard of a valid FIP VLAN Notification

   frame when the frame does not have an IEEE 801.2 Q Tag and the

   FIP descriptor list length is greater than 8 (words). [ER67062]

 

 * 24xx/2532 only. Improved firmware handling of I2C SFP interface

   to better support some SFPs. [ER67479]

 

 

From 5.01.00 to 5.02.00

 

Changes

-------

 * Customer-specific changes. [ER55377, ER65196, ER66011, ER65528]

 

 * 8100 only. Report NIC driver attached status in Get firmware

   State Mailbox Command (069h). For details, see the 8100 Series

   Fibre Channel Firmware Interface Specification, rev C. [ER65051]

 

 * 8100 only. Firmware will return parameter error (4006h) if the

   Initialize Firmware Mailbox Command (060h) or Initialize Firmware

   Multiple IDs Mailbox Command (048h) specifies use of the optional

   Extended Initialization Control Block and provide a length of

   zero bytes. [ER65184]

 

 * 8100 only. Changed the Perform Implicit LOGO Mailbox Command

   (072h) to allow the Perform Logout for All Ports across All FCFs

   option (bit 1 of incoming Mailbox Register 1) in single FCF

   configurations. [ER65220]

 

 * 8100 only. Added FIP Version 1 support. [ER65589, ER65593,

   ER65595, ER65605, ER65805]

 

 * Added a feature to reject PRLI from Fabric Control (FFFCxx) when

   target mode is disabled. To enable this option, set bit 7 of

   Mailbox 2 in the Set Additional Firmware Options Mailbox Command

   (0038h). [ER66061]

 

 * 8100 only. Changed Get Link Status/Read Port Status Mailbox

   Command (06Bh) and Get Link Statistics and Private Data Mailbox

   Command (06Dh) to return counters consistent with the FCoE Link

   Error Status Block (LESB). Figure 3-4 of the 8100 Series Fibre

   Channel Firmware Interface Specification now contains the

   following counters: Link Failure Count, Virtual Link Failure

   Count, Missing FIP Keep Alive or Discovery Advertisement Count,

   Symbol Error During Carrier Count, Error'd Block Count, and

   Frame Check Sequence Error Count. [ER66125]

 

Bug Fixes

---------

 * MID only. Fixed an issue to prevent invalid VP misconfigurations

   that can result in a Fatal Firmware Error 8002h. [ER63706]

 

 * Corrected DMA Error checking logic during Loopback Mailbox

   Command (0045h). [ER64335]

 

 * 8100 MID only. Prevent transmission of ELS requests before receipt

   of FLOGI accept. [ER64498]

 

 * Fixed potential hang due to mishandling of completer aborts during

   transmit DMA. [ER64513]

 

 * 8100 only. Enhanced FIP, CVL, FLOGI/FDISC, SCR, SNS PLOGI retry

   error handling. [ER65077, ER65585, ER65759, ER65780, ER65962,

   ER66186]

 

 * 8100 only. Corrected ELS and BLS timeout units conversion when

   processing Mailbox Commands Get Timeout Parameters (0022h) and

   Set Timeout Parameters (0032h). [ER65155]

 

 * 8100 only. Corrected an issue after External Loopback was

   performed that prevented FIP from completing. [ER65165]

 

 * SB2 only. Corrected a condition in RRQ processing that could

   result in a Fatal Firmware Error (8002h) after receipt of an

   ABTS. [ER65232]

 

 * 8100 only. Fixed an issue that caused a rediscovery of FCF's if

   FIP FLOGI timed out. [ER65415]

 

 * Corrected a problem in target mode operation during confirmation

   processing that could result in a Fatal Firmware Error 8002h.

   [ER65757]

 

 * 24xx and 2532 only. Corrected auto-negotiation algorithm that

   would restore the link at the previous speed instead of the

   maximum speed. [ER65802]

 

 * 8100 non MID only. Corrected a condition where the firmware state

   would not become Ready after switch port was shutdown and

   restored. [ER65980]

 

 * 8100 only. Retry FIP VLAN Discovery after FIP Discovery

   Solicitation fails to find a primary FCF. [ER66043]

 

 * Return LoginState in IO Parameter 1 when Login/Logout IOCB PRLI

   IO Parameter 0 = 4 (Command Failed). [ER66045]

 

 * 2532 and 8100 MID only. Corrected VP Index range checking during

   processing of VP Control IOCB. [ER66068]

 

 * Corrected Firmware Error reported during Purex IOCB processing if

   the Port Database for the target device had been initialized.

   [ER66082]

 

 * 8100 only. Fixed detection of EP device. [ER66204]

 

 * MID only. Corrected a problem which could result in LOGO sent

   with SID=000000 or incorrect reporting of VP status after a VP

   is disabled. [ER66553]

 

 * 2532/8100 MIDQ only. Resolved a long delay in processing Command

   Type 6 IOCBs after link level fault injection. [ER66755]

 

 * Fixed RISC pause condition when using T10 CRC with DIF_bundling.

   [ER66803]

 

 

From 5.00.00 to 5.01.00

 

Changes

-------

 * Customer-specific changes. [ER61070, ER62265, ER62894, ER63194,

   ER63873]

 

 * 2532 and 8100 only. Add DSD chaining support to command CRC

   type IOCBs. [ER62531]

 

 * 8100 only. Updated Immediate Notify to reflect format described

   in the firmware spec. For details, see the 8100 Series Fibre

   Channel Firmware Interface Specification Rev C. [ER63872, ER64455]

 

 * 8100 only. Implement FIP VLAN Discovery. [ER64026]

 

 * 8100 only. When detected, report MPI configuration error and

   reason code in Get Firmware State Mailbox Command (069h). For

   details, see the 8100 Series Fibre Channel Firmware Interface

   Specification Rev C. [ER64342]

 

 * 8100 only. Added new error completion codes to Restart MPI

   Mailbox Command (03Dh). For details, see the 8100 Series Fibre

   Channel Firmware Interface Specification Rev C. [ER64391]

 

 * 8100 only. Implement SFP Read/Write Mailbox Commands

   (031h and 030h). For details, see the 8100 Series Fibre Channel

   Firmware Interface Specification Rev C. [ER64406]

 

 * 8100 only. Modify Report ID Acquisition IOCB to return subcode

   for status 0x01,  Unable to acquire ID, for FDISC. The subcode

   is returned at offset 10h. [ER64497]

 

 * 8100 only. Update Get DCBX Parameters Mailbox Command (051h) to

   match latest spec. For details, see the 8100 Series Fibre Channel

   Firmware Interface Specification Rev C. [ER64672]

 

 * 8100 only. Implement Get XGMAC Statistics Mailbox Command (07Ah).

   For details, see the 8100 Series Fibre Channel Firmware Interface

   Specification Rev C. [ER64673]

 

 * 8100 only. Return SFP status information. See Asynchronous Event

   8012h and Mailbox Commands 05Dh, 048h, 060h, and 069h. For

   details, see the 8100 Series Fibre Channel Firmware Interface

   Specification Rev C. [ER64732]

 

Bug Fixes

---------

 * 8100 only. Corrected handling of FLOGI Timeout and Reject

   processing by using Retry Count and Timeout as specified in

   Initialize Firmware Control Block. [ER63856]

 

 * Corrected a condition where an Immediate Notify could be sent to

   the system driver when a VP is not configured for Target Mode

   operation. [ER64176]

 

 * Corrected cleanup of pending Transmit Data requests across fault

   injection. [ER64251]

 

 * 8100 only. Corrected a potential firmware hang condition after

   processing an ELS timeout or recovering from an internal error.

   [ER64265]

 

 * SB2 only. Corrected a condition where the System Defined 1 field

   of an IOCB being returned to the system driver may be over

   written. [ER64315]

 

 * 8100 only. Correct an issue with Flash Access Mailbox Command

   (003Eh). [ER64377]

 

 * 8100 only. Corrected potential FCoE traffic stall after Port Reset

   completes. [ER64435]

 

 * 8100 only. Fix FIP Failure to find FCF after a number of cable

   pulls/insertions into different FCF ports. [ER64454]

 

 * 8100 only. Get FCF List Mailbox Command (050h) may fail to find

   valid FCF Index. [ER64507]

 

 * 8100 only. Corrected false Loopback errors reported during

   internal and external tests. [ER64520]

 

 * Corrected potential RISC pause when Purex is enabled. [ER64567]

 

 * 8100 only. Fixed incorrect Destination MAC address in FIP

   FLOGI request after an FCF Fabric name change. [ER64585]

 

 * 8100 only. Allow primary port to be discovered via FDISC after

   it received a Clear Virtual Link or Fabric LOGO and another

   Virtual Port becomes the master. [ER64590]

 

 * 2400/2532 only. Corrected a condition where a FCP RSP could be

   transmitted across a LIP and before the discovery timer expires

   in private loop topology. [ER64705]

 

 * 8100 only. Corrected Firmware hang condition after receiving

   an ABTS. [ER64902]

 

 

From 4.06.00 to 5.00.00

 

Changes

-------

 * MID only. The firmware now returns a Port Unavailable (28h)

   Completion Status if the VP Index fails validation during a SCSI

   Task Management request. [ER62857]

 

 * MID only. The firmware now allows Get VP Database Mailbox

   Command (49h) regardless of VP Status. [ER62858]

 

 * SB2 only. The firmware now allows Get Link Status Mailbox

   Command (06bh) to complete even though Process Login has not

   completed. [ER63650]

 

Bug Fixes

---------

 * Fixed an issue to prevent initiating an LR upon a Transmit timeout

   while the firmware services other requests. [ER61666]

 

 * Fixed an issue that delayed starting new Transmit requests if a

   Transmit error is pending. [ER61682]

 

 * Corrected the auto-negotiation algorithm that could prevent the

   link from establishing when connected to a switch. [ER62000,

   ER62172]

 

 * Corrected CTIO handling when link is down and CTIO received with

   an Exchange Address of FFFFFFFFh. [ER62715]

 

 * MID only. Corrected various issues relating to VF support.

   [ER62798]

 

 * Corrected issues found with VF and Fabric LOGO processing. Also

   corrected the valid VP Count range to 1-254. [ER62826]

 

 * MID only. Corrected Source and Destination Address on an

   SCR retry. [ER62886]

 

 * Completed various FCE tracing fixes. [ER62952, ER63400]

 

 * Customer-specific fix. [ER63104]

 

 * Corrected IDLE character to ArbFF when connected at 8Gb rate.

   [ER63488]

 

 * Corrected an issue where a Mailbox or Mailbox IOCB request would

   not complete if a Fabric LOGO occurred. [ER63563]

 

 * DISK CRC only. Corrected a RISC Pause condition reported during

   cable pull testing. [ER63564]

 

 * Fixed an incorrect Response In Pointer reported in the RISC to

   Host Status Register when running in ZIO mode. [ER63790]

 

 * 2532 MID multiple queue only. Corrected a link credit issue that

   resulted in decreased performance. [ER63913]

 

 

From 4.05.00 to 4.06.00

 

Changes

-------

 * 2532 only. Added support for Virtual Fabrics. Contact QLogic for

   API changes to support VFs. [ER60036, ER60250]

 

 * Customer-specific change. [ER61654, ER61694, ER61837, ER62184]

 

 * MID only. Added feature to allow the firmware to perform SNS Login

   and SCR registration for virtual ports. This feature is enabled by

   setting bit 6 of the Options field during Initialize Firmware -

   Multiple IDs Mailbox Command (048h). Added the following

   status/substatus values to Report ID Acquired IOCB:

 

   VP Status    Description

   ---------    -----------  

   3            SNS Timeout. See byte offsets 23:20 for Sub-status.

   4            SNS LS_RJT (Reason/Explanation/Vendor Unique in IOCB

                byte offsets 23:20).

   5            SCR Timeout. See byte offset 23:20 for Sub-status.

   6            SCR LS_RJT (Reason/Explanation/Vendor Unique in IOCB

                byte offsets 23:20). [ER61930]

 

Bug Fixes

---------

 * MID only. Process received LOGO from F_Port. The associated Port

   Database Changed (8014h) asynchronous event will differ from a

   LOGO received from an N_Port as follows:

 

   Outgoing          

   Mailbox            N_Port         F_Port

   ----------------   ------         ------

   0                  0 8014h        8014h

   1                  N_Port Handle  7FEh

   2                  0007           0007

   3                  0Bh/VPIndex    1Ah/VPIndex

   [ER60623]

 

 * MID only. Corrected validation of VP Index received in a CT

   Pass-Through request. [ER61522]

 

 * Corrected verification of RX_ID in received ABTS frame.

   [ER61591]

 

 * Disk CRC only. Corrected inadvertent drop of received XFER_RDY.

   This problem was introduced as a result of ER60318. [ER61659]

 

 * Corrected Fatal Firmware Error 8002h when firmware received

   back-to-back SRRs for the same exchange. [ER61757]

 

 * Corrected Fatal Firmware Error 8002h when an invalid FAN

   is received and Disable Automatic PLOGI option is selected.

   [ER61763]

 

 * Populate hard address field in ADISC when previous address bit

   is set when the ISP is operating in a loop topology. [ER61765]

 

 * 24xx only. Improved link recovery after LR/LRR when using Inline

   Credit Extender. [ER61775]

 

 * Mercury Converged Network Adapter only. De-Register MAC address

   associated with a logged out Virtual Port. [ER61890]

 

 * Corrected upper 16 bits of receive exchange address when CTIO

   Error completion status is returned. [ER62084]

 

 * Corrected Fatal Firmware Error 8002h during target mode operation

   when attempting to transmit a FCP RSP after fault injection.

   [ER62118]

 

 * A Command Parameter Error will be returned for a Login/Logout

   IOCB received with a non reserved N_Port Handle with a reserved

   Port ID. [ER62321]

 

 * MID only. Corrected potential issue with sending a frame with

   incorrect Port/Node Name. [ER62348]

 

 

From 4.04.00 to 4.05.00

 

Changes

-------

 * Customer-specific change. [ER60313, ER60909, ER61325, ER61654]

 

 * 2532 only. Added the ability to specify a maximum Fibre Channel

   Link speed to be negotiated. This feature is enabled by bit 12 of

   the Initialize Firmware Control Block's Firmware Option 3. When

   this bit is set to 1, firmware will negotiate the FC data rate

   from the given max speed specified by driver in bits 15-13 of the

   Initialize Firmware Control Block's Firmware Options 3 field to

   two speeds down to what the SFP allowed.

   This option can also be set in the Data Rate Mailbox Command

   (05dh). When incoming mailbox 1 is set to 03h, firmware forces a

   loss of sync, restarts link initialization, and negotiates the FC

   data rate from the given max speed specified by driver in

   incoming mailbox 2 to two speeds down to what the SFP allowed.

   [ER60321]

 

 * Allow system driver to send LOGO ELS via ELS Pass-Through IOCB

   using a N-Port Handle of FFFFh. [ER60400]

 

 * MID only. Return Command Parameter Error (4006h) if the number of

   requested VP's exceeds the limit when issuing Initialize Firmware

   - Multiple-IDs Mailbox Command (048h). [ER61208]

 

 * 2432 only. Disable PCIe Completion Timeout. PCIe Completion

   Timeout has been disabled to address issues seen on certain

   systems where PCIe completion could take over 50ms.

   [ER61461]

 

Bug Fixes

---------

 * MID only. Corrected problems related to fault injection.

   [ER59740, ER60612]

 

 * MID only. Various fixes to improve detection and processing of

   topology changes. [ER60127, ER60326, ER60610, ER60633]

 

 * Corrected timing of when RRQ is issued after ABTS ACC is received.

   [ER60248]

 

 * Corrected Out-of-Order handling of overlapped or repeating

   received XFR_RDY frames. [ER60318]

 

 * 2532 Disk CRC only. Various Disk CRC changes to remove Fatal

   Firmware errors (8002h) being reported. [ER60336, ER61222,

   ER61223]

 

 * MID only. Corrected a problem where a LOGO ELS could be sent to

   a port that was not logged in. [ER60565]

 

 * MID only. Corrected a problem where a FLOGI/FDISC would not be

   sent to the switch after a previous FLOGI/FDISC completed with

   an ELS RJT. [ER60566]

 

 * MID only. A PLOGI could be rejected for a Virtual Port even

   though the Primary Port parameters have not changed. [ER60568]

 

 * MID only. Corrected a problem where an incorrect number of

   acquired AL_PAs could be reported during the LIRP and LILP phases

   of loop initialization. [ER60569]

 

 * MID only. Login/Logout IOCB completion status was incorrect when

   no FLOGI ACC ELS had been received. [ER60571]

 

 * Corrected a Fatal Firmware Error (8002h) when a CTIO IOCB with

   Confirmation Satisfied is received when the FCP_RSP has not been

   sent yet. The CTIO will be returned with a completion status of

   Invalid Request (06h). [ER60572]

 

 * MID only. Corrected handling of incoming frames while waiting for

   LOGI ACC ELS for the primary port. [ER60576]

 

 * Corrected a problem when attempting to abort an ELS Pass-Through

   operation when a PLOGI is received that changes the ports D_ID.

   [ER60637]

 

 * Class 2 only. Corrected Fatal Firmware Error (8002h) reported when

   attempting to abort transmit operations. [ER60698]

 

 * Corrected timer values used with link recovery. [ER60877]

 

 * Improved handling of receiving an ABTS for a CT Pass-Through

   exchange. [ER61007]

 

 * Corrected a problem with aborting IOs for the incorrect LUN when

   a LUN Level Task Management Function is active. [ER61155]

 

 * MID only. Ensure that Buffer-Buffer Credits are not modified when

   processing FDISC or FDISC-ACC. [ER61187, ER61216]

 

 * MID only. Correctly track changing of local 24-bit ID during

   cleanup. [ER61200]

 

 * Handle race condition of completing transmit of PLOGI-ACC and

   receiving PRLI. [ER61465]

 

 

From 4.03.02 to 4.04.00

 

Changes

-------

 * Customer-specific change. [ER56370, ER58608, ER59978]

 

 * Corrected failures reported by Loopback Mailbox Command (45h)

   and Echo Mailbox Command (44h).

   Added sub-error codes to Outgoing Mailbox 3 of the Echo Command

   to match the Loopback Command. [ER59630, ER59631]

 

Bug Fixes

---------

 * Disk CRC only. Corrected handling of frames received out of order

   in target mode. [ER58251, ER58760, ER58761]

 

 * 2532 Disk CRC only. Corrected condition where the firmware would

   overwrite the IOCB Entry Status field when the device receives

   invalid IOCBs. [ER58532]

 

 * 2532 Disk CRC only. Fixed a condition that could result in false

   DIF Errors when receiving runt block data. [ER58533]

 

 * Disk CRC and 2532 only. Corrected an issue with multi-sequence

   DIF Remove functionality. [ER58752]

 

 * 2532 only. Corrected a RISC pause that occurred when optional

   external memory is present. [ER58783]

 

 * Corrected endianess of RNID user defined data field. [ER58802]

 

 * Set correct Immediate Notify IOCB sub-code during fault injection.

   [ER58897]

 

 * Improved handling of switches that transition link from F-FL-F

   when the device is directly connected to a switch port. [ER59100]

 

 * Corrected issues relating to the EHAFT feature. [ER59279, ER59431]

 

 * Corrected a target mode issue where an ATIO Queue update interrupt

   would not be posted when using a small ATIO queue. [ER59385]

 

 * Corrected a Fatal Firmware Error (8002h) reported when ISP

   receives FCP_RSP with a payload length greater than 240 bytes.

   This problem would occur when Command Type 6 IOCB is used with

   the option to DMA the FCP_RSP payload to the host is enabled.

   [ER59503]

 

 * 2532 only. Corrected the ending memory address reported by About

   Firmware Mailbox Command (08h) when external memory is present.

   [ER59793]

 

 * 2532 only. Corrected the Report Link Statistics information for

   Loop topology. [ER59989]

 

 * SB2 only. Corrected a problem where the firmware was clearing the

   N_Port Handle field of a SB2 Send IU IOCB. [ER60017]

 

 * Disk CRC and 2532 only. Corrected false DMA error reported when

   using CTIO Type 7 IOCB (Target Mode) with Status Mode 2 selected.

   [ER60067]

 

 * Fixed a problem that may cause a target level Task Management

   Function to fail while a LUN Level Task Management Function

   is outstanding. [ER60126]

 

 * MID and 2532 only. Corrected a Fatal Firmware Error (8002h)

   reported after adapter side fault injection. [ER60256]

 

 * Corrected a condition where the local loop would not recover

   after a transmit error was encountered. [ER60301]

 

 

From 4.03.01 to 4.03.02

 

Changes

-------

 * 2532 only. Enabled additional FC SerDes parameters to be set

   via Flash for mezzanine cards. [ER59755]

 

Bug Fixes

---------

None

 

 

From 4.03.00 to 4.03.01

 

Changes

-------

 * 2532 only. Added support for mezzanine adapters Added a new bit,

   Embedded HBA, in Flash to indicate an adapter that does not use

   SFP+, and transmits the Fibre Channel signal over a copper

   backplane or mid-plane. [ER58635]

 

Bug Fixes

---------

 * 2432 only. Corrected a condition where Mailbox Commands issued

   to Function 1 would not complete after issuing Stop Firmware

   Mailbox Command (14h) to Function 0. [ER58617]

 

 

From 4.02.02 to 4.03.00

 

Changes

-------

 * Added option to post Notify Acknowledge (NACK) IOCB after

   associated ELS has completed. This option can be enabled by

   setting (to 1) bit 14 of Incoming Mailbox Register 1 of the Set

   Additional Firmware Options (38h) Mailbox Command. When this bit

   is reset (default state), the NACK IOCB is returned when the

   firmware processes the IOCB. The following new status codes may

   be returned in the NACK IOCB:

   - 04h - Completed with Error. An error occurred during the ELS

     transmission.

   - 0bh - Command Timeout. A timeout occurred during the ELS

     process.

   [ER54823]

 

 * Added feature to allow the firmware to post a completed Notify

   Acknowledge (NACK) IOCB (received from the driver) on the ATIO

   queue instead of the Response Queue. This option can be enabled

   by setting (to 1) bit 13 of Incoming Mailbox Register 1 of the

   Set Additional Firmware Options (38h) Mailbox Command.

   [ER54834]

 

 * Removed the requirement to set Option bit 15 for aborting a

   CT Pass-Thru IOCB. See ER56025. [ER57003]

 

Bug Fixes

---------

 * CRC build only. Corrected an issue with runt block support that

   could overwrite the guard value. [ER51011]

 

 * Modified settings of Buffer-to-Buffer credit and Buffer-to-Buffer

   Credit Management fields for PLOGI, PDISC, PLOGI ACC, and PDISC

   ACC Extended Link Service commands. [ER54982]

 

 * Corrected a condition that could result in dropped frames during

   Abort IO fault injection. [ER56843]

 

 * Customer-specific build. Corrected possible misreporting Underrun

   VS Overrun completion status. [ER57000]

 

 * Corrected issues related to Fibre Channel Extended Firmware

   Tracing feature. [ER57227, ER58323]

 

 * 2532 only. Improved access time when reading Digital Diagnostic

   data from SFP. [ER57281]

 

 * Corrected a condition where the firmware would respond incorrectly

   to a PDISC or ADISC received before a FLOGI ACC is received when

   connected in Point-Point. [ER57415]

 

 * Corrected a Fatal Firmware Error (8002h) reported after exiting

   an internal Loopback test when configured for P-P operation only.

   [ER57507]

 

 * Corrected a Fatal Firmware Error (8002h) reported in Target Mode

   when aborting pending CTIOs. [ER57574]

 

 * Corrected returned RNID information. [ER57642]

 

 * Corrected a condition where FCP2 related Command IOCB's, CTIO's

   or Port Control Blocks would be incorrectly terminated during

   fault injection. [ER57825]

 

 * Stopped the system from returning a Good completion in Status

   IOCB if a misbehaving target sends inconsistent information in

   FCP_RSP frame. [ER57845]

 

 * Corrected a Fatal Firmware Error (8002h) reported when an SRR is

   received for an exchange that has a pending control frame to be

   transmitted. [ER57899]

 

 * MID only. Corrected a condition where a FLOGI would not be

   transmitted when a Virtual Port was enabled. The condition would

   only occur when configured for Target Mode only and Loop only

   topology. [ER57905]

 

 * MID only. Corrected a condition where an IOCB would be incorrectly

   returned with a Port Logged Out (29h) status after a Logout

   performed for a different VP. [ER57910]

 

 * Corrected Firmware handling of unexpected receipt of FCP-RSP,

   FCP-XFR-RD, and FCP-CONF frames. [ER57927]

 

 * CRC build only. 2432 only. Corrected an unexpected DIF Error

   reported during DIF Remove operations. [ER58167]

 

 * 2532 only. Corrected an issue that could prevent the link from

   coming up when connected to McDATA 2Gb switches. [ER58260]

 

 

From 4.02.01 to 4.02.02

 

Changes

-------

No changes.

 

Bug Fixes

---------

 * Corrected an issue where pending IOs would not be terminated when

   the link topology changes from F<->FL without a Loss of Sync.

   [ER57512]

 

 * Corrected a firmware error (8002h) reported if a REC is scheduled

   to be transmitted when an FCP_RSP or FCP_XFER_RDY is received for

   the same exchange. [ER57530]

 

 * Correctly set exchange re-use time after REC RJT ELS received.

   [ER57597]

 

 * Corrected a condition that prevented the SCR ELS from being sent

   when no resources are available. [ER57638]

 

 * Corrected a condition where the Get IO Status Mailbox Command

   (12h) would not complete when a REC was requested for an exchange

   that was concurrently completing. [ER57727]

 

 

From 4.02.00 to 4.02.01

 

Changes

-------

 * 2532 only. Updated Fibre Channel SerDes parameters. [ER57670]

 

Bug Fixes

---------

 * 2532 only. Corrected SFP+ detection to match 2532 Firmware

   Interface Specification Rev C. [ER56341]

 

 * Corrected a Task Management Function IOCB request to a FCP-2

   device not being returned to the system driver upon timeout.

   This occurred if the FCP-CMD was dropped repeatedly by the target

   device or as a result of a bad link. [ER57255]

 

 * Corrected a condition that caused the firmware state to not

   become ready if the current topology is Fabric Point-Point.

   This occurred when the previous topology was FL and the firmware

   is waiting for a FAN ELS. [ER57316]

 

 * Corrected unused memory initialization to prevent reporting a

   RISC pause condition on one function when performing a firmware

   debug dump on the other function. [ER57469]

 

 * The firmware will now return Underrun status (15h) when it

   detects a misbehaving device that sends a good FCP_RSP for a

   write command without requesting any data. This detection was

   missing for FCP-2 devices. [ER57493]

 

 

From 4.01.00 to 4.02.00

 

Changes

-------

 * Added support to trace selected Fibre Channel traffic to a host

   supplied buffer. Contact QLogic for additional information.

   [ER52809]

 

 * Added an option in target mode to route some Asynchronous Events

   to the ATIO queue as Immediate Notify IOCBs. Contact QLogic for

   additional information. [ER54835]

 

 * 2532 only. MSI-X Vector 1 now requires the host driver to clear

   the RISC to Host Interrupt Request after processing.

   [ER56700]

 

Bug Fixes

---------

 * Corrected a Firmware Error or RISC Pause condition that occurred

   while doing fault injections when IP is enabled. [ER56527]

 

 * Corrected a condition that could result in a Firmware Error being

   reported during an aborted transmit cleanup operation. [ER56528]

 

 * 2532 only. Corrected Flash Memory programming when writing more

   than FFFFh bytes via Load RAM Mailbox Command (0Bh). [ER56716]

 

 * 2532 only. Corrected the Digital Diagnostic interface to the SFPs.

   [ER56790]

 

 

From 4.00.32 to 4.01.00

 

Changes

-------

 * Initial release supporting ISP/EP 25xx 8Gb products.

 

 * Firmware will now retry a PLOGI/FLOGI when it receives a LS_RJT

   with retryable reason code. [ER54351]

 

 * Customer-specific build. Performance improvements under certain

   IO loads. [ER54777]

 

 * SB2 only. Various performance improvements. [ER54934]

 

 * MID only. Firmware will now discard frames received with an

   invalid Destination ID instead of treating as a fatal error.

   [ER55113]

 

 * Removed command timeout restriction of 1999h on all IOCB types.

   Maximum timeout value is now FFFFh. [ER55441]

 

 * The firmware now sets to 1 the PRLI REC_SUPPORT bit (PRLI and

   PRLI ACC Word 3 Bit 10) as defined in the FCP-4 specification.

   The firmware will reply to a received REC request. The driver can

   initiate a REC ELS request for a SCSI IO via the Get IO Status

   Mailbox Command (12h). See the ISP Firmware Specification for

   interface.

   - Incoming Mailbox 9 - VpIndex (Multi-ID builds only)

   - Incoming Mailbox 10 - Options Bit 0 - When set to 1, the

     firmware will locate the IO with the handle specified. If the

     IO is located and has been started, the firmware will send a

     REC ELS to the remote device.

   - Upon completion of the Mailbox Command:

     * Outgoing Mailbox 0

       - Command Complete (4000h). See Outgoing Mailbox 4 for

         IO status.

       - Command Error (4005h). Mailbox 1 will contain subcode.

         See the ISP Firmware Specification for Sub-Error Codes for

         Mailbox Command Completion Status Code 4005h. In addition

         the following completion codes have been added.

       - Command parameter error (4006h). The specified N_Port Handle

         or VP Index is invalid.

     * Outgoing Mailbox 1

       - 0000h - The firmware was unable to locate the specified IO.

       - 0020h - Attempt to send REC ELS to remote port that has the

         PRLI Retry bit set.

     * Outgoing Mailbox 4

       - 3h Reserved.

       - 4h - IO started, REC sent and REC ACC received (outgoing 1

         to 3 contain exchange information of when REC ELS is sent

         and outgoing mailbox 5 to 8 contain REC ACC information).

         See Outgoing Mailbox 5 - 8 for REC ACC information.

       - 5h - IO started, REC sent and LS_RJT received (outgoing 1

         to 3 contain exchange information of when REC ELS is sent

         and outgoing mailbox 5 and 6 contain REC reject reason code

         and reason explanation).

     * Outgoing Mailbox 5-6 contain reject reason code and reason

       explanation.

     * Outgoing Mailbox 5

       - FC4Value bits 15-0 (if IO Status = 4) or Reason Explanation

         bits 15-8 and Vendor Unique bits 7-0 (if IO Status = 5).

     * Outgoing Mailbox 6

       - FC4Value bits 31-16 (if IO Status = 4) or Reserved bits

         31-24 and Reason code bits 23-16 (if IO Status = 5).

     * Outgoing Mailbox 7

       - E_STAT bits 15-0 (if IO Status = 4).

     * Outgoing Mailbox 8

       - E_STAT bits 31-16 (if IO status = 4).

   [ER55643]

 

 * Return additional firmware maintained statistics counters.

   Contact QLogic for additional information. [ER55731]

 

 * Added support to abort a CT Pass Through IOCB via the Abort IO

   IOCB (type 33h). Bit 15 of the Abort Options must be set.

   [ER56025]

 

 * MID only. Firmware will now return the number of VP's supported

   in outgoing mailbox 11 of Get Resource Counts Mailbox Command

   (42h). [ER56387]

 

 * MID only. Firmware will now return the VP Index in the Pure

   (offset 6h) and ABTS Received (offset Eh) IOCBs. [ER56425]

 

Bug Fixes

---------

 * Correct possible false parity errors reported when receiving

   an incorrectly built non-data frame. [ER54833]

 

 * Corrected a condition in target mode where a LS_RJT could be

   sent in response to a REC request during FCP-2 error recovery.

   The correct response should have been LS_ACC. [ER54857]

 

 * SB2 only. Firmware was incorrectly dropping a SB2 IU of type 1ch.

   [ER54906]

 

 * MID only. Corrected a condition where the firmware would return

   the wrong VP Index when the switch assigned the same D_ID to a

   new VP. [ER54986]

 

 * MID only. Fix potential RISC pause when issuing Get VP Database

   Mailbox Command (49h). [ER54988]

 

 * SB2 only. Fix Fatal Firmware Error (8002h) reported when a SB2

   exchange is aborted by an incoming ABTS. [ER55155]

 

 * CRC build only. Fix an IO timeout incorrectly reported during

   a DIF remove operation. [ER55209]

 

 * Corrected memory leak that resulted from CTIO resources being

   lost when the CTIO Flags bit 8 option (Don't return CTIO on

   completion) was used in conjunction with continuation IOCBs.

   [ER55569]

 

 * Corrected a RISC pause reported when processing an incorrectly

   built SCSI command. [ER55587, ER55616]

 

 * Corrected an issue when using MSI that could cause vector

   address or direction to be incorrect. [ER55838]

 

 * SB2 only. Fixed a condition where a Port Database Asynchronous

   Event (8014h) would not be generated after a PLOGI ACC was sent.

   [ER55910]

 

 * Corrected D_ID field in the FLOGI ACC transmitted when connected

   in an N-N topology. [ER56177]

 

 

2. Known Issues

None.

 

 

3. Additional Notes

 

ISP 24xx/25xx/81xx/83xx Firmware Version: 7.01.03

 

Adapter Support:

 * 4Gb Fibre Channel Adapters (QLE2xxx, QLx24xx)

 * 8Gb Fibre Channel Adapters (QLE25xx) versions 4.01.00 and later

 * Converged Network Adapters (QLE81xx) versions 5.00.00 and later

 * Converged Network Adapters (QLE83xx, ASIC rev B0 only) versions 6.00.12 and later.

 

 

4. Notices

 

Information furnished in this document is believed to be accurate and

reliable. However, QLogic Corporation assumes no responsibility for

its use, nor for any infringements of patents or other rights of

third parties which may result from its use. QLogic Corporation

reserves the right to change product specifications at any time

without notice. Applications described in this document for any of

these products are only for illustrative purposes. QLogic Corporation

makes no representation nor warranty that such applications are

suitable for the specified use without further testing or

modification. QLogic Corporation assumes no responsibility for any

errors that may appear in this document.

 

 

5. Contacting Support

 

   For further assisance, contact QLogic Technical Support at:

   http://support.qlogic.com

 

 

Trademarks

 

Accelera, Accelerating Cluster Performance, InfiniCon Systems,

InfiniNIC, InfiniPath, InfiniView, QLA, QLogic, the QLogic logo,

ReadyPath, SANdoctor, SANsurfer, and SilverStorm are registered

trademarks of QLogic Corporation. All other brand and product names

are trademarks or registered trademarks of their respective owners.

 

 

(c) Copyright 2014. All rights reserved worldwide. QLogic and the

QLogic logo are registered trademarks of QLogic Corporation.

All other brand and product names are trademarks or registered

trademarks of their respective owners.