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.