                    QLogic Driver Release Notes

                     Marvell Semiconductor Inc.
                       All rights reserved 

Table of Contents

1. Change History
2. Known Issues
3. Notices
4. Contacting Support


1. Change History


The following changes have been made to the Fibre Channel Adapter 
STOR miniport driver between versions 9.4.3.20 and 9.4.3.21

Version 9.4.3.21 (1/21/21)
* ER148197  - 2TB NVMe LUNs couldn't be recognized correctly by Windows
  Change    - Added support for large sized NVMe namespace(s) 
  
Version 9.4.3.20 (12/21/20)  
* ERXXXX    - Fixed an issue, that ANA will stop after Namespace change async event
* ERXXXX    - Added the change (delimiters when extracting vendor and product ids) Namespace change async event code path 
* ER147988 - The windows can't discover the increased space of the NVMe LUNs after expanding the NVMe LUNs
* ER147989 - New mapped NVMe LUNs couldn't be scanned out by windows unless rebooting the host
* ER147844 - NVME: Requesting Windows driver autodetection of added/deleted namespaces to match Linux/ESX autodetection of no RSCN needed.
  Change   - Trigger Identify sequence when the driver receives async event type 2 from the target
* ER147976 - NVMe disk name contains truncated product id string
  Change   - Use non-alpha numeric characters as delimiters when extracting vendor and product ids
* ERXXXX   - Fix NVMe Async Event handling
* ERXXXX   - Remove 2B Ispread from QLFindadapter print

Version 9.4.2.20 (11/05/2020)
* ER147789 - NVMeANA: Netapp SFO(storage fail over) with IOPs results in IO error on win2k16 and win2k19  
  Change   - Handle ANA state transitions and cleanup of device handles 
* ER147678 - NVMEANA:Observing blue screen randomly in fw dump post port toggle or in iops with mpipause combination  
  Change   - Fixed issue on checking order of NVMe submission queue index and active queue entry 
* ER147815 - Unable to generate crash dump for NVME namespace booted OS. 
  Change   - Fixed issue on NVMe device index used and submission queue index update 
* ERXXXX   - Debug enhancements in crash dump path
* ERXXXX   - Enabled NVMe ANA by default
* ERXXXX   - Remove 4G support from INF
* ER147732 - Windows Event System log shows incorrect Host PID
  Change   - Fixed port ID display format issue on USCM system event log 
* ER147729 - QCC CLI clear USCM stats option does not clear all stats
  Change   - Changed to reset and display driver side alarm and warning statistics only
* ER147796 - USCM: no IO throttling if cisco switchport disabled on boot  
  Change   - Fixed congestion timer next request issue when RDF not completed during initialization
* ERXXXX   - Add event logs for MPI Active and Enabled
  Change   - Check MPI state and add event log after MPI reset. 
* ER147677 - MPIO paths not recovering post Host side port toggle for more than 90 seconds
  Change   - Addressed a issue to avoid a conflict condition between recovery process and port down checking timer
* ERXXXX   - MPIO paths not recovering post zone changing
  Change   - Addressed a issue about RSCN handling
* ER147661 - Unable to generate the Kernel dump 
  Change   - Updated crash dump driver path related discovery process and memory structure allocation  
* ER147709 - System Logs show incorrect low water mark percent 
  Change   - Fixed system event log entry value format
* ER147678 - Observing blue screen randomly in fw dump post port toggle or in iops with mpipause combination
  Change   - Fixed issue on new abort options handling on active queue entry
* ER147690 - Firmware version 9.6.1 : Firmware Slow Queue is not implemented.  
  Change   - Changed to not setting slow device option on set port parameter mailbox command for USCM phase 2
* ERXXXX   - Addressed issue on IOCB handle used for abort command during NVMe target reset
* ERXXXX   - Updated new abort options IOCB to use mulitple request queue
* ER147649 - System Log for USCM events  
  Change   - Included additional system event log entries for USCM throttling and congestion events
* ERXXXX   - Addressed driver verifier reported issue
  Change   - Invoke memory deallocation logic for ANA at <= DISPATCH_LEVEL
* ER146792 - SANBlaze/NVMe Namespace addition/deletion fails to reflect in OS
  Change   - LUN number should not be greater or equal to active namespaces, trigger rescan
* ER147512 - Target side ipsec stop/start. Lun is not coming back on EDiF environment 
  Change   - Added target port secured port relogin after target logout
* ER147613 - No IO throttling while sending congestion FPIN or sending signal alarm 
  Change   - Fixed outstanding request number check issues and congestion signal event handling
* ER147519 - Enabling of EDIF through registry is giving error on WS2016 
  Change   - Fixed issue on interlock Storport API check 
* ER147617 - Failed to discover NVMe luns with  NVMEANA enabled
  Change   - Fixed issue on registry key reading
* ER147363 - Win2k19: Observed IOPS failure on NVMe Luns while doing host  port toggle with in 30s on ToR switc
   Change   - Address NVMe retry queue.
* ERXXXX - Enhanced system lockdown feature
* ERXXXX  Query and log MPI state after MPI reset
* ERXXXX  Support updated abort options
* Enhanced NVMe BFS to accept UEFI provided Host NQN and Host Id values
* System Lockdown support
* SCM phase 2
* EDIF fixed
* ER147086 - I/O failures reported after extended duration of RDP ELS
* Change   - Address queue full conditions in driver resulting from FC switch issuing large number of aborts for RDP commands.
* EDIF Support
* NVMe ANA  Support
* ER147227 - FC Tape Target Persistent Binding - Device not recognized after server reboot
* Change   - Reserve loopID before login
* Enhanced OEM interface
* FC-NVME-2 SLER support
* FC-NVMe BFS. Generate NQN and HostID from system UUID
* Enable NVMe by default 

Version 9.4.1.20
* ER147070: W2K19 driver v9.4.1.20 A4 : SCM : Driver issue/Conflict  reading Extended Firmware Attribute Bits.
  Resolution: Changed SCM enable bit from BIT_10 to BIT_12 of extended attribute bit on About Firmware (0x8)
  Relevance : 2700 and 2800 series adapter
* ER147000: Windows : Event ID # 11 prints NOT seen in Event Viewer 
  Resolution: Changed to keep QLLogError as default event log method
  Relevance : 2700 and 2800 series adapter
* Disable NVMe by default
* ER146931: 9.4.1.20 A2 DBG does NOT show any SFP DMI information on the MACH adapter.
  Resolution: Zero out awMboxParam before sending the mailbox command
  Relevance : 2700 and 2800 series adapter
* ER146981: BSOD during driver install with FCP and NVMe storage LUNS attached.
  Resolution: Set feature error returned by Nvme storage. We return FALSE to stop the dicovery process.
  Relevance : 2700 and 2800 series adapter
* Firmware Version 8.08.207 (compile with 8G FW)
* ER146800: System running W2K16 and 2019 both show issues with the SANblaze NVME LUNs. There is also a problem with NetApp NVME LUNs.
* ER146864: BFS failover system gets BSOD during cable pulls(NVME LUNs).
  Relevance : 2800 series adapter
  Resolution: Removed SCM timer 
* MPI dump support for Baker
* SAM-4 status qualifier implementation. Support scope 01b and 10b (1 and 2)
  Enforce upper limit for retry delay (1 min)
* Added support for SCM feature (phase 1)
* ER146364  : Memory dump not generated during crash dump test with windows BFS
  Resolution: During FDMI command QLMailboxCommandEx: Mbcmd 64 completion timeout. Do not issue FDMI during crashdump
  Relevance : 2700 and 2800 series adapter
* ER146347  : GUI - OS driver version is not available for FC
  Resolution: Use MBOX_CMD_SET_PARAMETERS 0x59 to pass driver version to FW
  Relevance : 2700 and 2800 series adapter

Version 9.3.3.20
* ER146043  : Supported speed of 16Gb Synergy Qlogic mezz card reporting as 8 16 in FDMI
  Scope     : 2600 series adapters
  Resolution: Report 16G
* ER146181  : System take long time to boot and driver enable. 
  Scope     : 2700 and 2800 series adapter
  Resolution: Fixed incorrect connection ID issue.
* ER146048  : VM missing path to LUNs
  Scope     : All adapters
  Resolution: Fixed port logout incorrect vp index used issue
* ER146047  : FW crashed when we changed NVRAM parameter
  Scope     : 2500 and 2600 series adapters
  Resolution: Added adapter type check before accessing active image during FW reload
* ER145890  : windows-2016: Observed BSOD while doing firmware flashing using QCC_GUI
  Scope     : 2700 and 2800 series adapters
  Resolution: In BFS, do not reset ISP and re-init after flashing
* ER145896  : BSOD after hpqlafwupdate completes update
  Scope     : 2700 and 2800 series adapters
  Resolution: In BFS, do not reset ISP and re-init after flashing
* ER145819  : [FC-NVMe] Initiator does not send NVMe PRLI when the Target registers both SCSI FCP and NVMe to the Fabric
  Scope     : 2700 and 2800 series adapters
  Resolution: Check if Target (WWPN) supports both FCP and NVMe, determine which one to login based on NVRAM bit
* ER145667  : Windows2019: Observed IO failure while doing switch port disable/enable 
              on QME-2742 using SANBlaze NVME target
  Scope     : 2700 and 2800 series adapters
  Resolution:  Fixed UUID code to handle more than one Namespace
* ER145594  :  Issue with Driver version 9.3.1.20 on Windows for FCP 
  Scope     : 2700 and 2800 series adapters
  Resolution: Target logs into initator, when initiator tries to login PID is used, logout and login
* ER145853  : OEM Windows Driver Name 
  Scope     : 2800 series adapters
  Resolution: Fix in INF

Version 9.3.2.20

* NVMe is not enabled by default 
* ER145741  : NVME: Windows 2019 Memory Dump w/NetApp single path IO 
  Scope     : 2700 and 2800 series adapters
  Resolution: Increase the request queue depth check
* ER145620  : NVME: Windows 2019 and NetApp fails with MPIO
  Scope     : 2700 and 2800 series adapters
  Resolution: Fixed  MPIO issue; added support for Namespace UUID (NetApp)
* ER145433  : BSOD on W2K16 with FCNVMe Tech Preview Driver
  Scope     : 2700 and 2800 series adapters
  Resolution: Fixed handling for loop in Indentify returnd data

Version 9.3.1.20

 * ER144948  : Windows NVME _ Request Listing Host NQN
   Scope     : 2700 and 2800 series adapters
   Resolution: Add new API
 * ER145123  : Mach_ WS_ Does Not Change Active Region after Flash Update. 
   Scope     : 2800 series adapters
   Resolution: Block Secure flash code non-secure mode
 * ER144923  : WS2019 BSOD when executing SAN boot (during rebbot test), 
   Scope     : All Adapters
   Resolution: Noncachedextension memory has stale value, zero this memory before using
 * Use new bit to check if FW supports NVMe
 * [ER144856]: Windows_ NVME Request Persistent Host NQN to work with OEM storage
   Scope     : 2700 and 2800 series adapters
   Resolution: Create persistent host NQN using WWPN
  * [ER144813]: Does not discover LUNs from OEM storage target in P2P mode
   Scope     : All Adapters
   Resolution: Removed Domain check since it is P2P config
 * Enable NVMe for 2800 Series Adapters
 * Add secure flash code for 2800 Series Adapters
 * [ER144672]: Wrong Data Rate for Mach : QLE2782 and QLE2784 -
   Scope     : 2800 series adapters
   Resolution: Fixed supported data rate 
 * Added option for application to reload nvram and init fw
 * Disabled NVMe for 2800 Series Adapters
 * More support for primary/secondary regions
 * Determine PCI function number from PCI Interrrupt pin
 * Ignore and return good status for SRB_FUNCTION_FREE_DUMP_POINTERS handling for w2019
 * [ER144571]: Server reboots due to OS Failure  
   Scope     : All Adapters
   Resolution: Trace print is too long, increase buffer length to avoid crash
 * Changed service name to qlsrvc
 * NVMe: Subtract NSZE by 1 in ReturnedLBA in ReadCapacity to fix out of bound LBA
 * NVMe: Clear host slot so that it can be reused if that slot fails a step in state machine
 * Added qlservice
 * Removed MBOX_CMD_SET_PARAMETERS with 0x0900 option (used for FCoE)
 * Added primary and secondary region support for 2800 series adapters
 * NVMe: Not to derive LUN number from NSID and MAX number of NS supported to 254
 * Not to use R2R Semaphore Register (offset 0x7010) for Baker and newer
 * Added simplified fabric discovery code
 * Added NVMe FC code for technical preview

Version 9.2.9.22

 * [ER144510]: The FC port failed to load in the VM when pass through second HBA port to VM in single funtion mode or mulitfunction mode
   Scope     : All Adapters
   Resolution: Determine PCI function number from PCI Interrrupt pin 
 * [ER144813]: Does not discover LUNs from OEM storage target in P2P mode
   Scope     : All Adapters
   Resolution: Removed Domain check since it is P2P config
 * [ER144571]: Server reboots due to OS Failure  
   Scope     : All Adapters
   Resolution: Trace print is too long, increase buffer length to avoid crash
 * Changed service name to qlsrvc
 * Added qlservice
 * [ER143970]: OEM friendly name
   Resolution: Added OEM IDs and friendly names
   Scope     : OEM adapters
 * Removed dlls from packages
 * Validate Image Status Region with signature for MACH
 * Moved ABTS response processing to ABTS_ET type (0x33) case from ET_STATUS (0x03) case
   Scope     : All Adapters
 * Fixed FW dump data corruption by setting correct flags
   Scope     : 2700 Series Adapters
 * Remove 10000 Series Adapters
 * Build environment using QSpectre compiler switch
   Scope     : All Adapters
 * [ER144009]: Driver Retry Delay  
   Scope     : All Adapters
   Resolution: Use 14 bits for retry delay timer
 * [ER143849]: Request FDMI Data Change from drivers 
   Scope     : All Adapters
   Resolution: Used Product ID from VPD as Model Description for FDMI registration
               FDMI OptionRom Version to display EFI version
 * [ER143836]: fcinfo /diag, and continual busy status failures
   Scope     : All Adapters
   Resolution: If initator is not connected to switch then do not to login to MS server
               and do not send CT passthrough
 * API version 1.28.0.144 (QLSDM)
 * [ER143827]: Hilda Port Offline after FC Ping to Cisco 16G Switch
 * Added PID addressing mode support for ElsPassThru when used to send Echo to switch
   Scope     : All Adapters

Version 9.2.9.21

 * Not to issue mbx 3D for 2700 Series Adapters
   Scope     : 2700 Series Adapters
 * [ER143833]: Cisco FDMI fails with Windows Free build driver
   Resolution: Zeroed out memory before use
   Scope     : All Adapters

Version 9.2.9.20

 * [ER143755]: QLogic Windows ql2300.cat file is missing the OS attribute for Windows 2012R2
   Resolution: Only put target OS: 2012 and 2012R2
   Scope     : All Adapters
 * [ER143749]: Windows, Copyright Driver Date Needs Updating to 2018
   Resolution: Changed Copyright
   Scope     : All Adapters
 * Updated RISC FW to version 8.08.01
   Scope     : 2500 Series Adapters

Version 9.2.8.20

 * [ER143525]: Switch name server entry, PortSymb are displayed with dots at the end
   Resolution: Fixed string length when registering
   Scope     : All Adapters
 * [ER143034]: Non-descriptive Device name in Windows
   Resolution: Added OEM IDs and friendly names
   Scope     : OEM adapters

Version 9.2.7.21

 * Added ABTS handling for passthru ELS to prevent fw resource leak
   Scope     : All Adapters
 * Disabled NUMA support by default
   Scope     : All Adapters

Version 9.2.7.20

 * Updated RISC FW to version 8.07.00
   Scope     : 2500 Series Adapters
 * Signed drivers with SHA2
   Scope     : All Adapters
 * [ER143239]: Windows driver does not zero out the FCP_RSP DSD address field 
   Resolution: Zeroed out FcpRspDsdAddr when FcpRspDsdLen=0
   Scope     : All Adapters
 * Added more support for MACH
   Scope     : 2800 Series Adapters
 * [ER143121]: 2017F_Request_Driver_Plogi Retry Delay
   Resolution: Fixed synchronization between logout and login retry
   Scope     : All Adapters
 * Driver always responds to RDP with full payload (new version of fw will split it into multiple frames if there is no login session)
   Scope     : 2600 and 2700 Series Adapters
 * Skip reading QoS data from flash if region begin address is invalid
   Scope     : 2600 and 2700 Series Adapters
 * [ER143121]: 2017F_Request_Driver_Plogi Retry Delay
   Resolution: Added 1s delay between login retries
   Scope     : All Adapters
 * Removed unused modules from driver release packages
   Scope     : All Adapters
 * Added MACH pre-enablement
   Scope     : 2800 Series Adapters
 * Updated copyright strings
   Scope     : All Adapters
 * Enabled NUMA support if number of active nodes is greater than 1 
   Scope     : All Adapters
 * [ER142888]: FC speed issues - When transfer sizes above 8MB are attempted, performance drops to almost zero
   Resolution: Made mixed mode (iocb type 6 and 7) default and used iocb type 6 when IO size > 128K (> 0x20 segments)
   Scope     : All Adapters
 * Fixed end address calculation and skipped unsupported entry type in firmware dump data
   Scope     : 2700 Series Adapters
 * [ER142277]: Removing unique device descriptor names in inf for OEM
   Resolution: Removed unique device descriptor names in inf for OEM
   Scope     : 2700 Series Adapters
 * Not to reallocate memory for RDP exchanges if already allocated
   Scope     : 2600 and 2700 Series Adapters
 * Added more support for E2E QOS
   Scope     : 2600 and 2700 Series Adapters

Version 9.2.6.20

 * Adjusted some debug prints to be consistent to help debugging process
   Scope     : All Adapters
 * Added new DPORT diagnostic api interface to return detailed error codes
   Scope     : 2600 and 2700 Series Adapters
 * Removed ECHO only restriction for ELS passthrough
   Scope     : All Adapters
 * Added GFO and LUN level QoS support
   Scope     : 2600 and 2700 Series Adapters
 * Added ELS passthru interface
   Scope     : All Adapters
 * [ER141979]: After adding the patch, QLE2560 would frequently reported 129 warning messages, resulting not being able to access storage.
   Resolution: Not to log out/mark off line devices if HBA is port updating
   Scope     : All Adapters

Version 9.2.5.20

 * [ER142022]: Display RDP does not print out speed capabilities, it says unknown
   Resolution: Swapped RDP SpeedCapabilities value
   Scope     : All Adapters
 * Initialized OEM QOS memory
   Scope     : All Adapters
 * [ER141812]: FC driver will not complete w32 driver install process with the FC storage connected
   Resolution: Added back number of CPUs detection logic using registry for w32
   Scope     : All Adapters
 * [ER141700]: Observed BSOD on windows driver upgrading/downgrading
   Resolution: Handled case ELS ABTS RECEIVED
   Scope     : All Adapters
 * [ER141693]: Feature request for DPORT: Return invalid request to application when mbx cmd fails with Cisco switch
   Resolution: Returned invalid request to application when mbx cmd fails with Cisco switch
   Scope     : All Adapters
 * Cleaned up obsolete process_response_queue code
   Scope     : All Adapters
 * [ER141401]: Windows Memory Dump cannot be generated by MPIO configuration
   Resolution: Added dump pointers SRB handling to save curernt path info before crash dump occurs
   Scope     : All Adapters
 * [ER141593]: Attached port BBCredit needs to be returned in RDP response
   Resolution: Retrieved attached oort BBCredit through FLOGI ACC
   Scope     : All Adapters

Version 9.2.4.21

 * [ER141593]: Checking fabric priority bit in nvram for feature enabling or disabling
   Resolution: Added logic to check fabric priority bit in nvram
   Scope     : 2600 and 2700 Series Adapters

Version 9.2.4.20

 * [ER141327]: Running IO on hyper-v VM and local server will cause a FW dump through the driver
   Resolution: Fixed synchronization for systems with large number of CPUs
   Scope     : All Adapters
 * [ER140783]: Performance is near zero on tape device
   Resolution: Added fabric priority detection per target device
   Scope     : 2600 and 2700 Series Adapters
 * Added logic to trigger re-login to NS when receiving new RSCN if NS is still logged out after previous retries expire.
 * Added minimum speed and supported speed
   Scope     : All Adapters
 * [ER140892]: Path Loss issue with Brocade switch FOS upgrade
   Resolution: Added login retries to Name Server, postponing processing RSCN if Name Server is logged out
   Scope     : All Adapters
 * [ER140923]: Enabling NPIV port results in system reporting critical error event ID 11.
   Resolution: Not to ignore RDP going to VPs.  Enabled code to respond to the last RDP no matter if it's on PP or VP.
   Scope     : All Adapters
 * Fixed driver signing building scripts
 * Firmware Version (8.05.00 2500 Series 8Gb Fibre Channel Adapters)
 * [ER140604]: Added LUN level processing using bitmap
   Scope     : All Adapters
 * [ER140517]: Filled DriverEnvironment field in firmware dump header
   Scope     : 2700 Series Adapters
 * [ER140469]: Ignored RDP requests destined to VPs
   Scope     : All Adapters
 * [ER140426]: Added check per LUN
   Scope     : All Adapters
 * [ER140319]: Added check for direct access device
   Scope     : All Adapters
 * [ER140318]: Added hot plug workaround
   Scope     : 2700 Series Adapters
 * [ER139733]: TP5 host crash on Linux guest VM using Fiber Channel QLogic HBA
   Resolution: Fixed default MaximumTransferLength corresponding to default NumberOfPhysicalBreaks
   Scope     : All Adapters

Version 9.2.3.20

 * [ER139799]: INF change for OEM
   Scope     : All Adapters

Version 9.2.2.20

 * [ER139668]: 16G adapter incorrectly reports that it supports 32G
   Resolution: Used execute firmware mailbox commmand to detect max supported speed
   Scope     : 2700 Series Adapters
 * [ER139631]: Disable Ref Tag Increment for CAW CDB with regards to DIF
   Scope     : All Adapters
 * [ER139644]: Add LR distance support in NVRAM   
   Scope     : 2700 Series Adapters
 * [ER139596]: Fixed symbolic port name support on primary port
   Scope     : 2700 Series Adapters
 * [ER139436]: Changed "Revision" field in RDP response to 4 bytes to match new spec
   Scope     : All Adapters

Version 9.2.1.20

 * Added firmware version check for IOCB based fabric priority support
   Scope     : 2600 and 2700 Series Adapters
 * Fixed D-Port diagnostic to handle case diagnostic is started by the switch
   Scope     : 2600 and 2700 Series Adapters
 * [ER139110]: Driver still reads MPI/PEP firmware versions from secondary region when active
   Resolution: Forced to read MPI/PEP firwmare versions from primary region at all times
   Scope     : 2700 Series Adapters
 * Added D-Port diagnostic and Reset statistics
   Scope     : 2600 and 2700 Series Adapters
 * [ER138779]: HDperf error during MPIO failover test
   Resolution: Returned correct status to OS when loss of sync occurs
   Scope     : All Adapters
 * Added RDP extension
 * [ER138886]: FLOGI link initialization (link up) completions takes 21 secs
   Resolution: Enabled FLOGI retry in firmware
   Scope     : All Adapters
 * Enable IOCB based fabric priority by default
 * Changed flash access using mailbox commmand
 * Added OEM IDs

Version 9.1.18.20

 * Added OEM IDs and friendly names

Version 9.1.17.21

 * [ER138176]: Echo Test failed
   Resolution: Reverted change "Replaced vendor unique ECHO command with standard ELS ECHO by setting bit 15 in ECHO mailbox command"
   Scope     : All Adapters
 * Fixed BBCR to return correct number of status mailbox registers

Version 9.1.17.20

 * Added error codes for BBCR
 * Changed FDMI port state to use SM-HBA values
 * Replaced vendor unique ECHO command with standard ELS ECHO by setting bit 15 in ECHO mailbox command
 * Changed Maximum read request size to 4K bytes
 * Added BB Credit Recovery and Link Stats & Private Data
 * Added OEM description
 * Added support for IOCB based fabric priority (disabled by default - FW dependency)
 * API version 1.28.0.133

Version 9.1.16.21

 * Removed support for IOCB based fabric priority
 * Firmware Version (8.02.00 2500 Series 8Gb Fibre Channel Adapters)

Version 9.1.16.20

 * Added online flash update support
 * Added support for IOCB based fabric priority
 * Removed OEM description
 * Incorrect task attribute used on unspecified SRB queue action value
   Resolution: Added default task attribute 
   Scope     : 2600 Series Adapters
 * Firmware Version (8.01.02 2400 Series 4Gb Fibre Channel Adapters)
 * Firmware Version (8.01.42 2500 Series 8Gb Fibre Channel Adapters)
 * OEM description is needed
   Resolution: Added OEM description

Version 9.1.15.21

 * [ER136109]: 16G adapter advertises as 32G supported on FC switch
   Resolution: Added checking IDs for new 16G adapters
   Scope     : 2700 Series Adapters

Version 9.1.15.20

 * Firmware Version 8.01.02 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.121
 * [ER136107]: Firmware dump is not cleared after retrieved
   Resolution: Added fix to mark as cleared
   Scope     : 2700 Series Adapters
 * [ER136122]: RDP is not enabled by default
   Resolution: Enabled RDP by default
   Scope     : All Adapters
 * [ER135885]: MPI fW and PEP fw versions are requested
   Resolution: Added support to read MPI and PEP fw versions from primary or secondary image
   Scope     : 2700 Series Adapters
 * [ER135885]: MPI fW and PEP fw versions are requested
   Resolution: Added support
   Scope     : 2700 Series Adapters
 * [ER136157]: FDMI shows extra supported port speed
   Resolution: Added subsystem ID checking
   Scope     : 2700 Series Adapters

Version 9.1.14.22

 * [ER135794]: FC FEC (FC Forward Error Control) support is needed
   Resolution: Changed LinkStats to 16-bit fields
   Scope     : All Adapters
 * Missing associated event number in event log
   Resolution: Update event number
   Scope     : 2600 Series Adapters

Version 9.1.13.20

 * Firmware version: 7.04.00 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * [ER134989]: System assert with "BAD_POOL_HEADER"
   Resolution: Initialize device extension
   Scope     : All Adapters
 * [ER134661]: BSOD while enable/disable zone on port configured with VSAN
   Resolution: Fixed receiving ELS frame path
   Scope     : All Adapters
 * Loading firmware from primanry and secondary regions
   Resolution: Added support for loading firmware from primanry and secondary regions
   Scope     : 2700 Series Adapters
 * Support for FSC 
   Resolution: Added support for FSC 
   Scope     : 2500, 2600, 2700 Series Adapters
 * Wrong data in linkStatReg and linkCapReg
   Resolution: Fixed linkStatReg/linkCapReg
   Scope     : 2700 Series Adapters
 * Beaconing not correct
   Resolution: Fixed beaconing
   Scope     : 2700 Series Adapters

Version 9.1.12.21

 * [ER133962]: ID 2533 support is needed
   Resolution: Added ID 2533 support
   Scope     : 2500 Series Adapters
 * [ER133159]: Adapter WWPN is not getting changed once cable is pulled out from FAWWN configured port
   Resolution: Adapter WWPN will be reverted back to original WWPN incase of link down 
   Scope     : 2600 and 2700 Series Adapters
 * [ER132526]: Path loss caused by missing PLOGI after FLOGI
   Resolution: Clear RSCN information before ISP reset
   Scope     : 2500, 2600, 2700 Series Adapters
 * [ER133256]: To support Enable/Disable FAWWN from driver/applications on Windows  
   Resolution: Added support for this feature 
   Scope     : 2600 and 2700 Series Adapters
 * [ER133049]: Unable to create vPort using QCC GUI with FAWWN configured port on Brocade Switch   
   Resolution: Added Check to see if the Report ID Acquisition IOCB is for Primary Port or Virtual Port
   Scope     : 2600 and 2700 Series Adapters
 * [ER133094]: BSOD when running Loopback Diagnostic while D_Port/FAWWN feature are enabled 
   Resolution: Added check for mailbox parameters in count 
   Scope     : 2600 and 2700 Series Adapters
 * [ER116106]: Handling CRC and Recovered Error on same exchange
   Resolution: Added support for handling CRC error status during recovered error check condition 
   Scope     : 2500, 2600, 2700 Series Adapters
 * [ER132635]: I/O quiescence on tape device reboot
   Resolution: Added ratov related delay on issuing relogin after logout port update AEN   
   Scope     : 2500, 2600, 2700 Series Adapters
 * [ER131902]: FDMI-2 support
   Resolution: Added FDMI-2 support
   Scope     : 2600 and 2700 Series Adapters
 * [ER132112]: Echo ELS passthru support
   Resolution: Added Echo ELS passthru support
   Scope     : 2500, 2600, 2700 Series Adapters
 * [ER132277]: Support for FA_WWPN
   Resolution: Added support for FA_WWPN 
   Scope     : 2500, 2600, 2700 Series Adapters

Version 9.1.11.26

 * API version 1.28.0.112 (QLSDM)
 * [ER115248]: Read NVRAM fails after write
   Resolution: Added delay between write and read in api
   Scope     : 8200 Series Adapters
 * [ER115315]: Unable to update EDC
   Resolution: Fixed wrong lengh in built-in FLT
   Scope     : 2500 Series Adapters
 * [ER114713]: Poor read write performance at certain large block sizes
   Resolution: Fixed delay in handling SRB queue
   Scope     : 2600 Series Adapters
 * [ER114741]: Issue seen with Qlogic 2672 & 2562 with Tape login
   Resolution: Tape takes 27 secs to login, fw will time out login after 20 secs, the driver retry login
   Scope     : 2500 and 2600 Series Adapters

Version 9.1.11.25

 * Firmware version: 7.01.00 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * [ER114741]: Login to tape device times out
   Scope     : All FC and FCOE Adapter
   Resolution: Retry Relogin once
 * [ER113510]: Maximum number of GNNFT entries is limited to 128
   Scope     : All Adapters
   Resolution: Increased maximum number of GNNFT entries
 * [ER113482]: Failover on EMC storage not working when zoning is deactivated on switch
   Resolution: Fixed for not relogin after timeout
 * [ER112112]: SnapDrive cannot see luns through the QLE10K
   Scope     : 10000 series adapter
   Resolution: Change the number of ports in AdapterAttributes to 1
 * [ER112725]: Issue with processing certain response entry during stop HBA operation 
   Resolution: Added check for HBA stop state before response queue processing
 * [ER112726]: Multi-queue debug trace feature 
   Scope     : 2500 and 2600 Series Adapters
   Resolution: Added per-queue debug information trace
 * Added support for the following devices (supported platforms):
    - PCI\VEN_1077&DEV_2532&SUBSYS_02841077 (x86, x64)

Version 9.1.11.24

 * Firmware version: 7.00.02 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.111 (QLSDM)
 * Added support graceful shutdown to some SSD for 10000 series adapter
   Scope     : 10000 series adapter
   Resolution: Increased delay timeout for shutdown SSD
 * [ER110756]: Incorrect sense data debug message during certain check condition status response 
   Resolution: Fixed debug message output with data based on sense error code 
 * [ER106063]: Semaphore contention in StorPort's per adapter StartloLock when all CPU's may issue I/O to any HBA - Windows 2012
   Scope     : 2500 and 2600 Series Adapters
   Resolution: Made the recommended change to reduce semaphore contention.
 * [ER111292]: Incorrect CDB pointer type used on Windows Server 2012 extended SRB
   Resolution: Fixed CDB pointer type declaration for extended SRB
 * [ER111328]: Priority queue initialization not valid for 8Gb Fiber Channel Adapters with Multi-Queue enabled firmware
   Scope     : 2500 Series Adapters
   Resolution: Changed to not setup priority queue for valid multi-queue enabled firmware
 * [ER111432]: Unable to create Vports when Microsoft vFC's are existing 
   Scope     : All FC Adapters
   Resolution: Check the active VP count in the first half of VP database

Version 9.1.11.23

 * Firmware version: 7.00.01 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.110 (QLSDM)
 * Added support for user configurability of maximum number of NPIVs per adapter port [ER 109407]
 * Added init polling for 10000 series adapters to address boot from SAN issue [bug 8210]
 * Fixed number of IOCB entries required for large transfer [ER107785] 
 * Updated driver to adhere to the x56 specification for 10000 series adapter
 * Enabled force fw dump support in api [ER107301]
 * Added support for Long Range [ER0000000110404]

Version 9.1.11.22

 * Added BIOS support for 10000 series adapters
 * Added new Execution Throttle Handling for 2400, 2500 and 8100 Series Adapters [ER106893]
 * Fixed relogin issue on new host device [ER106429]
 * Added ioctl to support qlco in 10000 series adapters to address host name not updated [bug 7999]
 * Added registry strings to set number of vps and number of targets per vp [ER107100]
 * Added support for total number of virtual ports to 16 and number of targets per virtual port to 32.

Version 9.1.11.21

 * API version 1.28.0.108 (QLSDM)
 * Synced with 10000 driver to fix 0 response len [ER105294]
 * Synced with 10000 driver to handle critial temperature [ER105372]
 * Fixed unpack macro warning in QLSDM [ER105492]
 * Fixed ResetBus mailbox command timeout assertion issue [ER105490]
 * Fixed VP creation failure because of dup wwpn in the switch [bug 25373]
 * Added support in qlsdm to support new name of inbox driver [ER105740]
 * Added Path ID/target number range checking to BuildIo [ER105819]

Version 9.1.11.20

 * Firmware version: 5.09.00 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.105 (QLSDM)
 * Fix MailboxPassthru by removing restriction on writing mbx8 register [ER104361]
 * Added support for Skip 4G FC [ER104575]
 * Allow application modify "Execution Throttle" field in nvram for 2600 series adapters [ER103297]
 * Add Service Pack number to OSName [ER104204]
 * Added API to read 2600 series adapters ASIC temperature [ER102430]
 * Added mailbox passthru api [ER102988]
 * Added reading ASIC temperature for OEM Adapters [ER103001]
 * Removed Advanced tab from Device Manager properties
 * Added support for full 64 bit physical addressing [ER101742]
 * Added support for 10000 series adapters

Version 9.1.10.28

 * Firmware version: 5.07.02 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.101 (QLSDM)
 * Removed support for 2Gb speed in port supported speed for 16Gb FC in 2600 series adapters [ER100053]
 * Added get/set I2V registers and get/set serdes registers - OEM Adapter [ER99727]
 * Added support to address OEM adapter Re-design I2C access issue [ER99562]
 * Added adapter disable state check on timer routine re-init state handling [ER96662]
 * External loopback support OEM adapter when in loop mode [ER98834]
 * Fixed skipping OEM adapter vpd update [ER100458]
 * Fixed Ext Loopback test fails with Loopback connector (8Gb loop mode) [ER99702]
 * Fixed crash in fwdump routine [ER101039]
 * Limit support to node-interleaving configurations

Version 9.1.10.27

 * Fixed event Viewer Error 154 (Disk I/O error) occurs when running
   Diskercise on FC LUN [ER97809]

Version 9.1.10.26 
 * API version 1.28.0.97 (QLSDM)
 * Added series adapters temperature handling [ER94159]
 * Removed driver family version support [ER95755]
 * Removed flash FLT error logging for 24xx/25xx [ER96144]
 * Returned NOT_SUPPORTED for SDForceFcMctpDump in api [ER96352]
 * Fixed memory access error [part of ER96188]
 * Fixed extra 4K in variable transfer sizes (64K, 128K) [ER94081]
 * Added support to relogin if the device logs out [ER93867]
 * Removed event logging for fw dump event [ER98897]

Version 9.1.10.25 

 * Added Windows Server 2012 support [ER92249]
 * Not to update i2c vpd if OEM Adaper in API [ER93800]
 * Fixed Flash Layout Table memory usage [ER93668]
 * API version 1.28.0.96 (QLSDM)
 * Code cleanup [ER92250]
 * Added support for Set Driver version for OCBB and family 
   driver version [ER92243]
 * Issue with LB connector attached after it was in point-to-point mode,
   driver was still issuing echo instead of loopback command [ER93050]
 * Fixed  Adapter Port type in P2P mode [ER92357]
 * Process completed PRLI [ER89053]
 * Fixed multiple request single response queue initialization issue [ER95259]

Version 9.1.9.48 

 * Firmware version: 5.06.05 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)

Version 9.1.9.47 

 * Firmware version: 5.06.04 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)

Version 9.1.9.46 

 * Firmware version: 5.06.03 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.92 (QLSDM)
 * LUN disappearance after tape reboot [ER84117]
 * Failed to reissue some i/o's after controller failover (8Gb) 
   [ER86660]

Version 9.1.9.29 

 * Firmware version: 5.06.02 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)

Version 9.1.9.28 

 * Firmware version: 5.05.05 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.87 (QLSDM)

Version 9.1.9.27 

 * Updated firmware version: 5.04.04 (2400/2500 Series 4Gb and 8Gb Fibre Channel Adapters)
 * API version 1.28.0.85 (QLSDM)
 * Fixed an issue where drives were not detected in direct connect
   topology [ER81138]

Version 9.1.9.25 

 * No fixes in this driver release.

Version 9.1.8.25 

 * Closed WMI mapping interoperability with HBAAPI.DLL issue.

Version 9.1.8.19 

 * Driver restores 4G Fibre Channel PCIe Device Control and Link 
   Control registers based on saved value.
 * In multi-processor systems, the clustering driver timer 
   popped as a result of unrecovered I/O through a LUN reset.
   [ER0000000067688 closed]

Version 9.1.8.17 

 * Firmware versions: 5.01.02 (4Gb and 8Gb)
 * API version 1.28.0.73 (QLSDM)
 * Driver restores 4G Fibre Channel PCIe Device Control and Link 
   Control registers based on saved value.

Version 9.1.7.18 

 * Firmware versions: 3.03.25 (2Gb), 4.04.00 (4Gb and 8Gb).
 * API version 1.28.0.63 (QLSDM).

Version 9.1.7.17

 * Added support for the following devices (supported platforms) 
   (2.3m):
    - PCI\VEN_1077&DEV_8432&SUBSYS_010E1077 (x86, x64)
    - PCI\VEN_1077&DEV_2432&SUBSYS_014B1077 (x86, x64)
    - PCI\VEN_1077&DEV_2532&SUBSYS_01701077 (x86, ia64, x64)
    - PCI\VEN_1077&DEV_2532&SUBSYS_01711077 (x86, ia64, x64)
    - PCI\VEN_1077&DEV_2532&SUBSYS_01721077 (x86, ia64, x64)
    - PCI\VEN_1077&DEV_2532&SUBSYS_01731077 (x86, ia64, x64)
    - PCI\VEN_1077&DEV_2532&SUBSYS_01741077 (x86, ia64, x64)
    - PCI\VEN_1077&DEV_2532&SUBSYS_01751077 (x86, ia64, x64)
    - PCI\VEN_1077&DEV_2432&SUBSYS_004A1137 (x86, ia64, x64)
 * Removed support for the following devices (supported platforms):
    - PCI\VEN_1077&DEV_2432&SUBSYS_011C1077 (x86, x64)
   NOTE: Microsoft requires x86 and x64 support for all Fibre Channel 
   Adapters. 
 * Firmware versions: 3.03.25 (2Gb), 4.03.02 (4Gb).
 * API version 1.28.0.63 (QLSDM).
 * Added support for 64-bit QLSDM DLLs.
 * Enabled FDMI by default.
 * Added support for Atmel flash AT26DF081A.
 * Removed support for obsolete qd parameter.
 * Changed the driver to not log events caused by I/O completion 
   errors.

Version 9.1.7.16 QL

 * Added support for the Windows Server 2008 operating system.
 * Applied a fix to handle logout in the loop environment.

Version 9.1.7.15 QL

 * Added support for the following devices (supported platforms):
   - PCI\VEN_1077&DEV_2432&SUBSYS_01081077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_015C1077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_015D1077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_015E1077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_015F1077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_01601077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_01611077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_01621077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_01631077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_01641077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_3261103C (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_3262103C (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_3263103C (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2532&SUBSYS_3264103C (x86, IA64, x64)
   NOTE: Microsoft requires x86 and x64 support for all Fibre Channel 
   Adapters. 
 * Firmware versions: 3.03.25 (2Gb), 4.02.00 (4Gb).
 * API version: 1.28.0.50 (QLSDM).
 * Unique assignment of management server N_Port handle values to be 
   for each virtual port.
 * NPIV (N_Port ID virtualization).
 * Target link speed (iiDMA).
 * PcieLinkCap/Stat to HbaDeviceChipProperty.
 * Flash layout regions for 4Gb and returned flash layout table from 
   flash if it is valid.
 * Three Alternate Boot Devices and OOFR (out-of-order
   frame receive).
 * Removed QL2XHAI2: IHVs are required to use Host Bus Adapter API 
   provided by Microsoft.
 * Preserved BIOS defaults when updating multi-boot image whose BIOS 
   locations can be anywhere in the image.
 * Fixed checksum calculation in QLSDM when two-bios image
   is flashed.
 * Initiator discovery problem caused a large burst of 
   RSCN activity when the NetApp does its failover. A failed GPNID 
   command occurring during ports discovery must not cause the 
   termination of the discovery process.
   [ER50975 fixed] 
 * Handled the case where the GNNFT command was failing due to 
   incorrectly calculated the maximum data response length.
 * Setting the alternate WWN and enabling it in the NVRAM did not 
   propagate through to the Host Bus Adapter. Reading the NVRAM and 
   reinitializing the Host Bus Adapter will handle this case.

Version 9.1.4.16 QL 3.03.21 4.00.26

 * Adhered to Subsystem Id document v2.2m+.
 * Firmware versions: 3.03.21 (2Gb), 4.00.26 (4Gb).
 * API versions: 1.28.0.37 (QLSDM), 2.0.0.14 (QL2XHAI2).
 * Initiator discovery problem caused a large burst of 
   RSCN activity when the NetApp does its failover. A failed GPNID 
   command occurring during ports discovery must not cause the 
   termination of the discovery process. [ER50975]

Version 9.1.4.15 QL 3.03.21 4.00.26

 * Firmware versions: 3.03.21 (2Gb), 4.00.26 (4Gb).
 * API versions: 1.28.0.37 (QLSDM), 2.0.0.14 (QL2XHAI2).
 * Adhered to Subsystem Id document v2.2m+.
   NOTE: Microsoft requires both x86 and x64 support all Host Bus 
   Adapters.
 * Added support for the following devices (supported platforms):
   - PCI\VEN_1077&DEV_2322&SUBSYS_01151077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2322&SUBSYS_01161077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2422&SUBSYS_1336103C (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2432&SUBSYS_015B1077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_5432&SUBSYS_01551077 (x86, x64)
   - PCI\VEN_1077&DEV_5432&SUBSYS_01561077 (x86, x64) 
   - PCI\VEN_1077&DEV_2422&SUBSYS_014A1077 (IA64)
   - PCI\VEN_1077&DEV_2432&SUBSYS_014B1077 (IA64)
 * Removed support for the following devices:
   - PCI\VEN_1077&DEV_6312&SUBSYS_01301077 (x86, x64)
   - PCI\VEN_1077&DEV_2422&SUBSYS_01471077 (IA64)
   - PCI\VEN_1077&DEV_2432&SUBSYS_01451077 (IA64)
 * Conformed QLSDM and the driver to the revised for "Get/Set Target 
   Link Speed".
 * Increased loopback test buffer size to 2048 bytes in QLSDM.
 * Loopback test always failed when the NVRAM frame 
   size is set to 512 or 1024 (Windows). Pass in transfer size
   instead of hard-coded value in QLSDM. [ER50975 fixed]
 * Handled the case where the device becomes not ready in the 
   StartIO routine.
 * Fixed in SANsurfer 5.0.0 Build 4  Driver 9.1.3.10b2Windows
   IA64 SP1HP. The Host Bus Adapter model numbers do not show up on 
   Information page. [ER48374]
 * Fixed Long Erase (0x019) issues with DLT S4 and QLE2462. 
   Error occurs (most likely a bus reset) when running a long erase
   that takes longer than 110 minutes on the Quantum DLT-S4
   (firmware:0808) drive, which exceeds the built in 4Gb firmware
   timeout limit. [ER48117 (AR 48907, SR70415 [REF:609618455])]

Version 9.1.3.16 QL 3.03.21 4.00.23

 * This version replaced the invalid release 9.1.3.15.
 * Firmware versions: 3.03.21 (2Gb), 4.00.23 (4Gb).
 * API versions: 1.28.0.35 (QLSDM), 2.0.0.14 (QL2XHAI2).
 * Removed I/O Reduction support for the 4G Host Bus Adapter.

Version 9.1.3.15 QL 3.03.21 4.00.23

 * Firmware versions: 3.03.21 (2Gb), 4.00.23 (4Gb).
 * API versions: 1.28.0.35 (QLSDM), 2.0.0.14 (QL2XHAI2).
 * Added OEM specific support for assigning a virtual world wide port 
   name via registry key.
 * Added "Get/Set" target link speed support.
 * Changed the INF to enable the I/O Reduction for the 4Gb Host Bus 
   Adapter for the IA64 platform based on Microsoft document.
 * Added multiple BIOS support in QLSDM.
 * Initialized debug file name variable during DLL load (QL2XHAI2).
 * Closed EMC OPT23605: x64 Server hangs during boot at the Applying 
   Computer Settings.
 * Cleaned up code related to get Object text for OS Device Name 
   (QL2XHAI2).
 * Attached target devices not visible to OS after server reboot
   (QLE220) [ER47338 closed].
 * Driver not Login into Target Devices (QLE220) [ER47436 closed]
 * Topology diagram is not displaying properly when LIP issued on
   QLA2462 port. [ER47530 closed] 

Version 9.1.2.19 QL 3.03.19 4.00.23

 * Firmware versions: 3.03.19 (2Gb), 4.00.23 (4Gb).
 * Bus Resets Under Heavy I/O Load. [ER46891 closed]
 * API Versions: 1.28.0.33 (QLSDM), 2.0.0.12 (QL2XHAI2).
 * SANsurfer FC HBA Manager B83 showed only one port see the storage
   even though no zoning. [ER47166 closed]
 * Port failure after disconnecting and reconnecting ISL port 
   used by MirrorView. [Closed OPT 235681]
 * SANsurfer FC HBA Manager does not display the topology view 
   correctly when the Host Bus Adapters are set to loop only until
   the system is rebooted. [ER47235 closed]

Version 9.1.2.18 QL 3.03.19 4.00.22

 * Firmware versions: 3.03.19 (2Gb), 4.00.22 (4Gb).
 * API Versions: 1.28.0.33 (QLSDM), 2.0.0.12 (QL2XHAI2).
 * Added VPD update support for 2432 4-port adapter in 1.28.0.33 
   (QLSDM).
 * Recognized Asynchronous Event 8048h as a valid AEN.
 * Modified timer task to handle the case when Host Bus Adapter 
   is in a stopped state.
 * 24xx only: Added support for NVRAM Nodename option bit.
 * 4Gb only: Added support for reading data from SFP (small 
   form-factor pluggable) optical transceivers via QLSDM.
 * Adhered to Subsystem Id document v2.2g.
 * Added support for the following devices (supported platforms):
   - PCI\VEN_1077&DEV_2422&SUBSYS_014D1077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2432&SUBSYS_014C1077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2432&SUBSYS_01521077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2432&SUBSYS_01531077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_2432&SUBSYS_01541077 (x86, IA64, x64)
   - PCI\VEN_1077&DEV_5432&SUBSYS_014E1077 (x86, x64)
 * Adhered to firmware dump procedure per 2400 Series Firmware 
   Interface Specification version C.
 * RX2600 fails to boot Windows after 1MB bin flashSANsurfer
   2.0.30b84_windows. [ER47113 closed]
 * Fixed: LUNs disappeared after DS4000 controller firmware download 
   in direct attach.
 * "Bind By Port ID + Present Targets that are persistently bound
   only" is not working (in loop environment). [ER46586 closed]
 * Changed to perform the full firmware dump when firmware error 
   occurs.
 * JBOD disks turn offline in SANsurfer FC HBA Manager and SANsurfer
   FC HBA CLI when settings are Present targets that are 
   persistently bound + Bind by Port ID (in loop environment).
   [ER46141 closed]
 * Corrected firmware region size in option ROM layout, that is, 
   firmware size in flash.
 * GPN_ID has wrong payload length after unplug and re-plug.
   [ER45035 closed]
 * When using the QLSDM to retrieve the transceiver data, you may get
   SDMGT_CANNOT_GET_SFP_DATA error on system platforms using specific
   models of Supermicro motherboard such as P3TDL3 and P3TDLE. The 
   QLSDM retrieves the transceiver data using underlying 4Gb firmware 
   (v4.00.21) that reports an error code of 4005 for this operation. 
 * Verified support for Atmel flash chip AT26DF081A.

Version 9.1.2.16 QL 3.03.19 4.00.18

 * Firmware versions: 3.03.19 (2Gb), 4.00.18 (4Gb). 
 * Adhered to Subsystem Id document v2.2f.
 * Added support for the following devices (supported platforms): 
   - PCI\VEN_1077&DEV_6312&SUBSYS_01191077 (x86, x64) 
   - PCI\VEN_1077&DEV_6312&SUBSYS_011C1077 (x86, x64)
   - PCI\VEN_1077&DEV_6312&SUBSYS_01301077 (x86, x64) 
   - PCI\VEN_1077&DEV_6322&SUBSYS_012F1077 (x86, x64) 
 * Set additional firmware option bit 10 for 2Gb Host Bus Adapter so 
   the firmware waits for the task management command, (such as reset 
   LUN to complete.) 
 * Host Bus Adapter does not re-login to target after target sends
   LOGO to Host Bus Adapter. [Closed OPT226506]
 * The link status behaves differently between QLE2460 and QLA2342.
   [ER44735 closed]
 * Incorrect HwVersion string is reported by QLogic 
   IHV HBA_GetAdapterAttributes call. [ER45228 closed]
 * Event Id 11 entries logged by ql2300 at offset x10
   and offset x34 do not match the Error Codes published on the Web. 
   Because the miniport uses Microsoft's Storport.sys driver to 
   actually log the error event, and it has been confirmed that the 
   storport.sys driver logs the event incorrectly. A bug has been 
   reported to Microsoft on this: SRX041110604850 (STORportIncorrect 
   event data is logged when storport's storportlogerror). Meanwhile, 
   the Miniport driver is changed to log the event code at offset x10 
   by default. This workaround is controlled by the registry
   parameter mevtwrkaround. For details on this parameter, please
   see the readme file. [ER45230 closed]
 * Use memory map mechanism in the driver. [ER45232 closed]

Version 9.1.2.15 QL 3.03.19 4.00.17

 * Firmware versions: 3.03.19 (2Gb), 4.00.17 (4Gb). 
 * Adhered to Subsystem Id document v2.2e. 
 * Added support for the following devices (supported platforms): 
   - PCI\VEN_1077&DEV_5432&SUBSYS_013E1077 (x86, IA64, x64) 
   - PCI\VEN_1077&DEV_5432&SUBSYS_013F1077 (x86, IA64, x64) 
   - PCI\VEN_1077&DEV_2422&SUBSYS_014A1077 (x86, IA64, x64) 
   - PCI\VEN_1077&DEV_2432&SUBSYS_014B1077 (x86, IA64, x64) 
 * Added support to use combined 2Gb IPX firmware. 
 * Added support for SST25VF080B flash part. 
 * Added option for not to dump code section for 24xx firmware dump. 
 * Serial number for the 4Gb Host Bus Adapter should 
   be obtained from the VPD. [ER44270 closed]
 * Windows 2000/qla2340/Veritas tape backup long cable pull failed
   error message ERROR_DEVICE_NOT_CONNECTED. [ER38787 closed]

Version 9.1.1.15 QL 3.03.18 4.00.12 

 * Firmware versions: 3.03.18 (2Gb), 4.00.12 (4Gb). 
 * QLogic 4Gb driver returns selection timeout 
   immediately after cable pull in an OEM special dual loop 
   configuration. [Closed PTR 90818] 
 * QLogic Driver returns a selection timeout when 
   rebooting a controller in an OEM special dual loop configuration.
   [Closed PTR 90652] 

Version 9.1.0.18 QL 3.03.18 4.00.12

 * Firmware versions: 3.03.18 (2Gb), 4.00.12 (4Gb). 
 * Adhered to Subsystem Id document v2.2d.
 * Added support for the following devices (supported platforms): 
   - PCI\VEN_1077&DEV_2422&SUBSYS_12D7103C (x86, IA64, x64) 
   - PCI\VEN_1077&DEV_2312&SUBSYS_01491077 (x86, IA64, x64) 

Version 9.1.0.17 QL 3.03.18 4.00.12

 * Firmware versions: 3.03.18 (2Gb), 4.00.12 (4Gb).

 Version 9.1.0.16 QL 3.03.16 4.00.12

 * Firmware versions: 3.03.16 (2Gb), 4.00.12 (4Gb). 
 * Embedded 24xx firmware in the driver. 
 * New driver could not detect any device to install as BOOT from
   SAN on one specific setup. [ER43175 closed]

Version 9.1.0.15 QL 3.03.16

 * Firmware versions: 3.03.16 (2Gb), (Use onboard 4Gb firmware.) 
 * Added 24xx support. 
 * Need to change bit used to control LED mode. [ER42601 closed]

Version 9.0.2.17 QL 3.03.13

* Firmware versions: 3.03.16 (2Gb).

Firmware (Embedded in Driver)
-----------------------------

The following lists show the changes and bug fixes to the firmware 
that is embedded in the drivers for the 4Gb Fibre Channel Adapters 
and 8Gb Fibre Channel Adapters from versions 4.03.01 to 5.04.04.

From Version 5.04.02 to 5.04.04

Changes
-------
 * 2500 Series. Ensured that correct slot-specific SerDes settings
   will be used for specific mezzanine cards. [ER78047]

Bug Fixes
---------
None

From Version 5.04.01 to 5.04.02

Changes
-------
 * Current Fibre Channel Adapter 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]

Bug Fixes
---------
None

From Version 5.04.00 to 5.04.01

Changes
-------
 * 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]

 * 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]

Bug Fixes
---------
 * Customer-specific fix. [ER74764]

 * 24xx/25xx MID. Fixes potential drops of PRLI request or firmware 
   incorrectly assigning multiple N_Port Handles for same Port_id.
   [ER73958]

From Version 5.03.00 to 5.04.00

Changes
-------
 * Customer-specific changes.[ER69516, ER70666, ER71711, ER71936,
   ER69589, ER70279, ER69620, ER71031, 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 Version 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 underrun 
   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]

 * 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 8100 only]

 * 24xx/2532 only. Improved firmware handling of I2C SFP interface
   to better support some SFPs. [ER67479]

From Version 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]

 * Fixed an issue that caused a rediscovery of FCFs
   if FIP FLOGI timed out. [ER65757]

 * Corrected a problem in target mode operation during confirmation processing that could result in a
   Fatal Firmware Error 8002h. [ER65415 8100 only]

 * 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]

 * Retry FIP VLAN Discovery after FIP Discovery 
   Solicitation fails to find a primary FCF. [ER65980]

 * 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 Version 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 overwritten.
   [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. [ER64520]

 * 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 Version 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 Version 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           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 Version 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 Blocks 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 Blocks 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 an N_Port Handle of FFFFh. [ER60400]

 * MID only. Return Command Parameter Error (4006h) if the number
   of requested VPs exceeds the limit when issuing Initialize 
   Firmware  Multiple-IDs Mailbox Command (048h).

 * 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 Version 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 Version 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 Version 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 FC 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]

	   											
2. Known Issues 

   None.
   

3. Notices

Information furnished in this document is believed to be accurate and
reliable. However, Marvell Semiconductor Inc. assumes no responsibility for
its use, nor for any infringements of patents or other rights of
third parties which may result from its use. Marvell Semiconductor Inc.
reserves the right to change product specifications at any time
without notice. Applications described in this document for any of
these products are only for illustrative purposes. Marvell Semiconductor Inc.
makes no representation nor warranty that such applications are
suitable for the specified use without further testing or
modification. Marvell Semiconductor Inc. assumes no responsibility for any
errors that may appear in this document.


4. Contacting Support

   For further assistance, contact QLogic Technical Support at:
   https://www.marvell.com/support/fibre-channel-adapters.jsp


Trademarks 

Accelera, Accelerating Cluster Performance, InfiniCon Systems, 
InfiniNIC, InfiniPath, InfiniView, QLA, QLogic, the QLogic logo, 
ReadyPath, SANdoctor, SANsurfer, and SilverStorm are registered 
trademarks of Marvell Semiconductor Inc. All other brand and product names 
are trademarks or registered trademarks of their respective owners. 


(c) Copyright 2021. All rights reserved worldwide. QLogic and the 
QLogic logo are registered trademarks of Marvell Semiconductor Inc.
All other brand and product names are trademarks or registered
trademarks of their respective owners.
