		      QLogic Driver Release Notes

		       QLogic Corporation
		       All rights reserved


Table of Contents

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


1. Change History

This section contains:

 * 1.1 Hardware Support
 * 1.2 Software Component
 * 1.3 Bug Fixes


1.1 Hardware Support

Initial Drop 3.1.1.0:

 * Support for 2400/2500/2600/2700/2800 Series Fibre Channel adapters
 * Support for 8100/8200/8300 Series Converged Network Adapters
 * Mt. Rainier support.

Between versions 3.1.1.0 and 3.1.9.0:

 * None

Between versions 3.1.9.0 and 3.1.10.0:

* Remove support for Fabric Cache (Mt. Rainier) adapter

Between versions 3.1.10.0 and 3.1.16.0:

* None


1.2 Software Components

Between versions 3.1.1.0 and 3.1.3.0:

 * None

Between versions 3.1.3.0 and 3.1.4.0:

 * End-to-End QoS fabric priority support
 * Update ISP25XX fw version to 8.08.01.

Between versions 3.1.4.0 and 3.1.6.0:

 * None

Between versions 3.1.6.0 and 3.1.7.0:

 * Revert update ISP25XX fw version to 8.08.01.
   FW version is now back to 8.07.00

Between versions 3.1.7.0 and 3.1.10.0:

 * None

Between versions 3.1.10.0 and 3.1.11.0:

 * Update ISP25XX fw version to 8.08.01.
 * Add support for Mach Auxiliary Image Status and
suppporting flash-related functionality improvements

Between versions 3.1.11.0 and 3.1.12.0:

 * SmartSAN features disabled by default 

Between versions 3.1.12.0 and 3.1.16.0:

 * None
 

1.3 Bug Fixes

Between versions 3.1.1.0 and 3.1.2.0:

Problem Description:
Improvements
Solution:
Various Mach-related fixes uncovered during testing.

Problem Description:
Failing during unload testing for ESX 6.7
Solution:
Proper cleanup during detach function. 

Between versions 3.1.2.0 and 3.1.3.0:

Problem Description:
Issue with Mach adapter fw dump
Solution:
Fix firmware dump template entry to not
insert extra dword of info.

Between versions 3.1.3.0 and 3.1.4.0:

Problem Description:
Secure flash requires that the driver only writes to flash through
MB Cmds for Qlipper and newer adapters.
Solution:
Patch up holes in write flash routine that could cause the driver to use register access.

Problem Description:
Driver was advertising Application Services support in the RFT_ID command
regardless if enabled or not.
Solution:
Only enable Application Services if ql2xvmidsupport is turned on.

Problem Description:
Target devices are temporariry not accessible when the link toggle occurs on one of the target device paths.
Solution:
Clear the "login needed" bit when the initial login attempt fails. This login will get
retried in the relogin dpc call. This prevents target ports remaining in a "login needed"
state despite disappearing from the fabric entirely.

Problem Description:
Driver was not handling ABTS received IOCB in response to a PUREX IOCB failure.
Solution:
Code was implemented to handle ABTS received.

Problem Description:
Driver would not send the full RDP response with a switch port that was not in the logged in state.
Solution:
Remove the limitation as the new firmware now supports splitting up the RDP response payload over multiple frames
This will be based on a check of the supported firmware versions.

Problem Description:
Code improvement.
Solution:
Move ql2xvmidsupport check to module_init routine

Problem Description:
VMID information was not getting displayed for the NPIV key value in the vmkmgmt interface.
Solution:
Added VMID information to NPIV vmkmgmt output

Problem Description:
Code improvement
Solution:
DPORT improvement - return mb1 and mb2 contents after execution.
Also added more info in DPORT AEN messages.

Problem Description:
ESX 6.7 IOVP DDV testing was failing.
Solution:
Use proper cleanup of driver resources in error paths

Between versions 3.1.4.0 and 3.1.5.0:

Problem Description:
Flash writes were failing.
Solution:
Ensure dword count and byte count were used correctly in flash write routine.

Between versions 3.1.5.0 and 3.1.6.0:

Problem Description:
Driver read incorrectly from flash for E2E QoS values,
leading to invalid table readings and disabling of feature.
Solution:
Pass in byte count instead of dword count to flash read function.

Problem Descriptoin:
RDP response payload was not formatted correctly, leading to missing
contents or response frame not transmitted.
Solution:
Properly populate link services attribute and implement correct check
of firmware version and login state when building payload.

Problem Description: 
Driver was advertising 1G speed support for 8G adapters.
Solution:
Remove 1G speed support for 8G adapters.
Also, cleaned up supported speed code for various features and adapters.

Problem Description:
FDMI info showing incorrect supported speeds for 16G mezz adapters in FDMI.
Solution
Remove 4G supported speed if NVRAM parameter indicates to do so.

Between versions 3.1.6.0 and 3.1.7.0:

None 

Between versions 3.1.7.0 and 3.1.8.0:

Problem Description:
When E2E QoS solution was disabled on a LUN, driver was still populating
the priority field in the CS_CTL for I/O to that LUN.
Solution:
Don't fall back to standard fabric priority QoS unless the fabric priority
bit in the NVRAM is set.

Between versions 3.1.8.0 and 3.1.9.0:

Problem Description:
qlnativefc driver would fail to load on a system with NPAR enabled on NIC adapter.
Solution:
Dump callback registration has a hard limit of 40 (ESX limit), so on a system
with many adapters/functions registering a callback, this call could fail.
Solution was to treat a failed dump callback registration as non-fatal
and continue with driver load.

Between versions 3.1.9.0 and 3.1.10.0:

Problem Description:
New compiler in ESX engineering drop uncovered coding issues
Solution:
Fix existent coding issues uncovered.

Problem Description:
Code inspection - driver was ignoring potential retry delay returned in
FCP Response frame from target.
Solution:
Handle retry delay by returning VMK_SCSI_HOST_RETRY for specified time.

Problem Description:
FDMI info registered on switch was inconsistent across different OSes.
Solution:
Sync up information registered to switch for FDMI across all drivers.

Problem Description:
Errors encountered during DDV testing.
Solution:
Fix issues uncovered during DDV inbox testing at VMware.

Improvement: Cleanup various log messages

Problem Description:
Set Params mailbox command was failing during initialization.
Solution:
Only send CS_CTL map info using Set Params MB Cmd when GFO successful.

Problem Description:
Flash access was failing during Mach adapter bring-up
Solution:
Flash access routines were converting flash addresses incorrectly.

Problem Description:
Problems with Mach bring-up with new flash signature.
Description:
Add check for new Mach flash signature during initialization

Problem Description:
Targets would fail to get logged into if a target on the fabric
list sent a REJECT for a given login.
Solution:
Continue with the logins in the scan loop despite seeing a login failure

Between versions 3.1.10.0 and 3.1.11.0:

Problem Description:
Certain HBAs full marketing name was being trucated when
executing the "esxcli storage san fc list" command.
Solution:
Copy over full contents of VPD product description field to API.

Between versions 3.1.11.0 and 3.1.12.0:

Problem Description:
Fabric Discovery could take a long time, which could result in path loss or in the case of NPIV, 
vports could not get created.
Solution:
GFO sent to an unsupported switch would take 20 seconds to timeout.
Fix was to send the GFO command in a separate thread then the fabric discovery.

Problem Description:
A management application doing periodic small reads of flash would cause
the system to experience I/O failures with "RETRY" status.
Solution:
Eliminate the code to block I/O during small read operations of the flash.
This code is no longer needed.

Between versions 3.1.12.0 and 3.1.13.0:

Code improvement:
Turn on ql2xattemptdumponpanic module parameter by default.

Code improvement:
Remove uncessary RISC parity disable/enable sequence during ISP abort
- only needed on obsoleted adapters.

Problem Description:
Incorrect supported speeds were being reported by driver on Mach adapter.
Solution:
Correctly interpret supported speeds returned by FW after execution.

Problem Description:
FW dump template entry T262 was showing "bad range" in the logs.
Solution:
If start and end address are equal, this is a valid dump entry.

Problem Description:
NPIV port creation would fail with "Physical uid does not match
VPORT uid, NPIV Disabled for this VM"
Solution:
Ensure the target ID assigned to the WWPN on the physical port is the
same on the NPIV port.

Between versions 3.1.13.0 and 3.1.14.0:

Code improvement:
Various log messages improvement.

Problem Description:
PSOD observed while running DDV test
Solution:
Check for NULL pointer during memory alloc call before using buffer.

Between versions 3.1.14.0 and 3.1.15.0:

Problem Description:
Fabric registrations were not taking place with Fabric Priority support enabled.
Solution:
Don't unecessrily clear REGISTER_FC4_NEEDED flag in fabric scan code

Problem Description:
Hazard C16 test was failing with input/output error.
Solution:
Virtual Reset code needs to abort all I/Os on a given world, whereas
the old code would stop searching for outstanding I/O in the event
of one abort failure.  Fix was to not exit I/O loop until all oustanding
I/O have had an abort attempt.

Problem Description:
Dell-EMC VMAX/PMAX setup would not report any LUNs
Solution:
Omit check for same domain and area as adapter's during "local loop"
device discovery

Between versions 3.1.15.0 and 3.1.16.0:

Code Review:
Add brackets missing for secondary VPD location assignment.

Problem Description:
If ql2xattemptdumponpanic is set and dump partition is on SAN LUN,
saving off of coredump during PSOD will fail
Solution:
Reset and re-init adapter after FW dump attempt so paths to LUNS come
back online.  Set ql2xattemptdumponpanic to default to 0 as well.



2. Known Issues
None


3. Notices

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


4. Contacting Support

   For further assistance, 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 2018. All rights reserved worldwide. Cavium, Inc, the Cavium 
logo, and the Powered by Cavium logo are registered trademarks of
Cavium, Inc. All other brand and product names are trademarks
or registered trademarks of their respective owners.
