                          ============================
                           R E L E A S E    N O T E S
                          ============================
                                     QEDF

Version 8.72.4.1 (Apr 11, 2023)
===============================
Internal FW 8.72.0.0

Enhancement
-----------
1. Change: FJT-8909 - Add support for sequence level error recovery
	   (using REC and SRR) for TAPE.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All available Linux flavors
           Protocol: FCoE

Version 8.72.4.0 (Apr 04, 2023)
===============================
Internal FW 8.72.0.0

Version 8.72.3.0 (Feb 24, 2023)
===============================
Internal FW 8.72.0.0

Enhancement
-----------
1. Change: FJT-XXXX - Check cmd_size instead of scsi_pointer
   Introduced: 8.72.2.0
   Impact: HW: QL41xxx, QL45xxx adapters
          OS: RHEL 9.2
          Protocol: FCoE

Version 8.72.2.0 (Feb 06, 2023)
===============================
Internal FW 8.72.0.0

Enhancement
-----------
1. Change: FJT-XXXX - Add more SLES 15 SP5 compilation fixes
	   qedf: Stop using the SCSI pointer
	   qedf: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: SLES 15 SP5
	   Protocol: FCoE

Version 8.72.1.1 (Feb 01, 2023)
===============================
Internal FW 8.72.0.0

Enhancement
-----------
1. Change: FJT-8947 - Add SLES 15 SP5 support
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: SLES 15 SP5
	   Protocol: FCoE

Version 8.72.1.0 (Oct 31, 2022)
===============================
Internal FW 8.72.0.0

Version 8.72.0.0 (Oct 11, 2022)
===============================
Internal FW 8.72.0.0

Version 8.70.12.0 (Sep 26, 2022)
===============================
Internal FW 8.70.4.0

Fixes
-----
1. Problem: RH BZ 2120219 - Few vport parameters are displayed by
	    systool as 'Unknown' or 'NULL'.
   Change: Populate sysfs attributes for vport by copying speed,
	   supported_speed, frame_size and update port_type
	   for NPIV port.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All available Linux flavors
	   Protocol: FCoE

Version 8.70.11.0 (Sep 07, 2022)
===============================
Internal FW 8.70.4.0

Fixes
-----
1. Problem: FJT-8603: few adapters in /mctp endpoint missing
   Change: Prevents OS to go into suspend/resume state
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All available Linux flavors
	   Protocol: FCoE

Version 8.70.10.0 (Jun 29, 2022)
===============================
Internal FW 8.70.4.0

Version 8.70.9.0 (Jun 22, 2022)
===============================
Internal FW 8.70.4.0

Version 8.70.8.0 (Jun 16, 2022)
===============================
Internal FW 8.70.4.0

Version 8.70.7.0 (Jun 08, 2022)
===============================
Internal FW 8.70.4.0

Version 8.70.6.0 (May 13, 2022)
===============================
Internal FW 8.70.4.0

Version 8.70.5.0 (Apr 26, 2022)
===============================
Internal FW 8.70.3.0

Version 8.70.4.0 (Mar 09, 2022)
===============================
Internal FW 8.70.3.0

Fixes
-----
1. Problem: FJT-7818: Reboot with device recovery failed seen
	    for AER uncorrectable error "uncor-dlp"
   Change: Set qed->cdev context during recovery in progress.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All available Linux flavors
	   Protocol: FCoE

Version 8.70.3.0 (Jan 30, 2022)
===============================
Internal FW 8.70.2.0

Version 8.70.2.0 (Jan 14, 2022)
===============================
Internal FW 8.70.1.0

Fixes
-----
1. Problem: RedHat BZ 1930588: Context reset messages flooding the console
   Change: Suppress the messages using printk ratelimit
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All available Linux flavors
	   Protocol: FCoE

2. Problem: RedHat BZ 2028864: Hung task call trace during LOGO processing
   Change: There was a ref count issue when LOGO is received during TMF.
	   This leads to one of the IO hanging with the driver. Reduce
	   the refcount while cleaning up the commands during TMF.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All available Linux flavors
	   Protocol: FCoE

3. Problem: FJT-7831: Call trace when creating NPIV ports. Only 32 out of 64 show online
   Change: Stag work was not initialized for vport, initialize the stag work.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All available Linux flavors
	   Protocol: FCoE

Version 8.70.1.0 (Dec 22, 2021)
===============================
Internal FW 8.70.0.0

Enhancement
-----------
1. Change: Add support for RHEL 9.0
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL 9.0
           Protocol: FCoE

Version 8.70.0.0 (Dec 07, 2021)
===============================
Internal FW 8.70.0.0

Version 8.59.6.0 (Nov 18, 2021)
===============================
Internal FW 8.59.3.0

Version 8.59.5.0 (Oct 28, 2021)
===============================
Internal FW 8.59.2.0

Version 8.59.4.1 (Oct 1, 2021)
===============================
Internal FW 8.59.1.0

Fixes
-----
1. Problem: FJT-7461 - Compilation error on RHEL 7.9
   Change: Correct the header inclusion check for fc_encode.h
   Introduced: 8.59.4.0
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: RHEL 7.9
	   Protocol: FCoE

Version 8.59.4.0 (Sep 29, 2021)
===============================
Internal FW 8.59.1.0

Enhancement
-----------
1. Change: FJT-7408 - Add support for RHEL 8.5
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL 8.5
           Protocol: FCoE

Version 8.59.3.0 (Sep 14, 2021)
===============================
Internal FW 8.59.1.0

Version 8.59.2.0 (Aug 17, 2021)
===============================
Internal FW 8.59.1.0

Version 8.55.15.0 (Jul 29, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: RH BZ 1941766 Race condition between qedf_cleanup_fcport()
	    and qedf_process_error_detect()->qedf_initiate_abts()
   Change: Added check in qedf_process_error_detect(), when flush is
	   active, let the cmds be completed from the cleanup context
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: FJT-6590 - Getting link up even if DCBx is set
   Change: Added check for "DCBx done" on link update
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.14.0 (Jun 25, 2021)
===============================
Internal FW 8.50.18.0

Version 8.55.13.0 (Jun 04, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: SuSE BZ 1170511 system crashed during
            vport create delete test.
   Change: Do not drop reference count on vn_port->host
           in qedf_vport_create() unconditionally.
           Instead drop the reference count in qedf_vport_destroy().
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.12.0 (May 26, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: RH BZ 1871687 Unable to handle kernel NULL
            pointer dereference at 000000000000003c during
            OS installation
   Change: Added NULL pointer check for lport shost_data
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.11.0 (Apr 14, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: FJT-5360 - Driver setting up wrong max received fc payload length.
   Change: Setting up the correct max fc payload length
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.10.0 (Mar 26, 2021)
===============================
Internal FW 8.50.18.0

Version 8.55.9.0 (Mar 24, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: FJT-5535 - System crash while loading unloading of drivers
   Change: Check for module unloading bit before processing FIP frames.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.8.0 (Mar 18, 2021)
===============================
Internal FW 8.50.18.0

Version 8.55.7.0 (Mar 16, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: FJT-5069 - Compilation error on upstream kernel
   Change: Fix compilation error on upstream kernel
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.6.2 (Jan 20, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: FJT-5162 - System crash on reading few debugfs files like
	    debug, fp_int, stop_io_on_error.
   Change: Added change in fileops method for "debug" and "fp_int" from
	   qedf_dbg_fileops to qedf_dbg_fileops_seq. Also changed string
	   copy method for "stop_io_on_error" from sprintf to put_user.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.6.1 (Jan 11, 2021)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: FJT-5095 - System crash when reading dcbx_info
   Change: Added change in fileops method for DCBX from qedf_dbg_fileops
	   to qedf_dbg_fileops_seq
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.6.0 (Oct 29, 2020)
===============================
Internal FW 8.50.18.0

Fixes
-----
1. Problem: FJT-1943 - Add FCoE stats to qlmapi
   Change: Added stat for “FCoELossOfSignalCount”
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.5.0 (Oct 12, 2020)
===============================
Internal FW 8.50.17.0

Version 8.55.4.0 (Sep 30, 2020)
===============================
Internal FW 8.50.16.0

Version 8.55.3.0 (Sep 04, 2020)
===============================
Internal FW 8.50.16.0

Fixes
-----
1. Problem: FJT-2292 - system crashed after injecting fw_assert on NIC pf
   Change: Check for recovery process before calling software context reset
	   and qedf_handle_link_update()
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.2.0 (Aug 27, 2020)
===============================
Internal FW 8.50.16.0

Enhancement
-----------
1. Change: Retry qed->probe during recovery
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Changed signed variables to unsigned.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Change: Added synchronization between IO completion and abort
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.1.0 (Jul 28, 2020)
===============================
Internal FW 8.50.16.0

Enhancement
-----------
1. Change: Add FDMI Enhancements
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.55.0.0 (Jul 15, 2020)
===============================
Internal FW 8.50.16.0

Fixes
-----
1. Problem: CQ109397 - Incorrect abort of IO while runnig IO load
   Change: Fix the session’s E_D_TOV value.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.53.51.0 (Jun 19, 2020)
===============================
Internal FW 8.50.16.0

Version 8.53.50.1 (Jun 10, 2020)
===============================
Internal FW 8.50.16.0

Fixes
-----
1. Problem: CQ108880 - kasan call trace during server reboot
   Change: Check for port type and role before processing an event.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQXXXX - In case of stale rport, eh_abort escalates.
   Change: Return SUCCESS if stale rport in encountered on eh_abort
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Problem: CQXXXX: Compilation error on SLES15 SP2
   Change: Fix compile time error by defining pci_aer_clear_nonfatal_status
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: SLES15 SP2
           Protocol: FCoE

Enhancements
------------
1. Change: Add firmware error recovery invocation support
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: CQ104899, CQ108754 - DCBX Enhancement to add capability
	   for strict enforcement
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.53.50.0 (May 15, 2020)
===============================
Internal FW 8.50.16.0

Fixes
-----
1. Problem: CQ108408: Multiple Linux blades crashed due to intermittent link flap
   Change: Do not kill timeout work for original IO on RRQ completion.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.50.25.0 (Apr 27, 2020)
===============================
Internal FW 8.50.15.0

Fixes
-----
1. Problem: CQ108408: Multiple Linux blades crashed due to intermittent link flap
   Change: Initiate cleanup for ELS commands as well.
           Fix race between els completion and flushing els request
           Don't process ELS completion if its flushed or cleaned up.
           Send cleanup even for RRQ on timeout.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.50.24.0 (Mar 19, 2020)
===============================
Internal FW 8.50.14.0

Version 8.50.23.0 (Mar 6, 2020)
===============================
Internal FW 8.50.14.0

Version 8.50.22.0 (Feb 27, 2020)
===============================
Internal FW 8.50.14.0

Version 8.50.21.0 (Feb 21, 2020)
===============================
Internal FW 8.50.14.0

Version 8.50.20.0 (Feb 14, 2020)
===============================
Internal FW 8.50.14.0

Version 8.50.19.0 (Feb 10, 2020)
===============================
Internal FW 8.50.13.0

Version 8.50.18.0 (Feb 04, 2020)
===============================
Internal FW 8.50.12.0

Fixes
-----
1. Problem: CQXXXX: See error message get_fc_npiv call failed.
   Change: Fix memory leak in qedf_npiv_create_from_nvram.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.50.17.0 (Jan 30, 2020)
===============================
Internal FW 8.50.12.0

Enhancement:
-----------
1. Change: CQ108127 - Add support for RHEL 8.2 and SLES 15.2
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL 8.2, SLES 15.2
           Protocol: FCoE

Version 8.50.16.0 (Jan 20, 2020)
===============================
Internal FW 8.50.12.0

Enhancement:
-----------
1. Change: Add support for SAM4 changes
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.50.15.0 (Jan 03, 2020)
===============================
Internal FW 8.50.12.0

Enhancement:
-----------
1. Change: Add support for PCIe AER handling
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.50.14.0 (Dec 18, 2019)
===============================
Internal FW 8.50.11.0

Version 8.50.13.0 (Dec 11, 2019)
===============================
Internal FW 8.50.10.0

Fixes
-----
1. Problem: CQ107302: FCoE host port state does not come back online after
        port toggle
   Change: Keep track of num of pending flogi.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.50.10.0 (Nov 06 2019)
===============================
Internal FW 8.42.4.0

Fixes
-----
1. Problem: CQ107302 - Keep track of num of pending flogi.
   Change: FCoE host's port state doesn't come online back on BFS setup
           after switch port toggle on E4 Quack BB under Synergy chassis.
           Add fix to keep track of pending flogi and if it increases certain
           number then do ctx reset.

Version 8.42.9.0 (Oct 04 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.8.2 (Oct 03 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.8.1 (Oct 01 2019)
===============================
Internal FW 8.42.1.0

Fixes
-----
1. Problem: CQ107304: Source file compilation failed.
   Change: ".use_clustering" is removed from Ubuntu, so added a macro
			 to avoid compilation issue and maintain the backward compatibility as well.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
       OS: All supported Linux flavors
    	Protocol: FCoE


Version 8.42.8.0 (Sept 20 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.7.0 (Sept 11 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.6.0 (Sept 03 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.5.0 (Aug 30, 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.4.0 (Aug 22, 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.3.0 (Aug 13, 2019)
===============================
Internal FW 8.42.1.0

Fixes
-----
1. Problem: CQ105676: Incorrect link speed display after change of FCoE
	    network speed
   Change: Implement callback for bandwidth update.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All supported Linux flavors
	   Protocol: FCoE

Version 8.42.2.0 (Jul 29, 2019)
===============================
Internal FW 8.42.0.0

Fixes
-----
1. Problem: CQ106484: Discovery failure during link perturbations
   Change: Fix the race between fipvlan request and response path.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All supported Linux flavors
	   Protocol: FCoE

Version 8.42.1.0 (Jul 01, 2019)
===============================
Internal FW 8.40.32.0

Fixes
-----
1. Problem: CQ106195: SLES15 crash during module reset test 
   Change: The list of rports might become stale, so we should rather traverse
           the discovery list when trying relogin. 
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All supported Linux flavors
	   Protocol: FCoE

Enhancement
-----------
1. Keep track of num of pending flogi.

Version 8.42.0.0 (Jun 07, 2019)
===============================
Internal FW 8.40.32.0

Fixes
-----
1. Problem: CQ106106: LL2 Buffer allocation failure on ICM reset.
   Change: Decrease the LL2 MTU size to 2500.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All supported Linux flavors
	   Protocol: FCoE

2. Problem: CQ106252: System crash while loading unloading of drivers.
   Change: Check for module unloading bit before processing link update AEN.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
	   OS: All supported Linux flavors
	   Protocol: FCoE

Version 8.40.26.0 (Jun 04, 2019)
================================
Internal FW 8.40.32.0

Fixes
-----
1. Problem: CQ106252: System crash while loading unloading of drivers.
   Change: Check for module unloading bit before processing link update AEN.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.40.25.0 (May 30, 2019)
================================
Internal FW 8.40.31.0

Fixes
-----
1. Problem: CQ106118: Device reset crashed the system during IO running
                      on device and with L2 traffic
   Change: Don't use blk mq tag for TMF.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL8.0
           Protocol: FCoE

Version 8.40.24.0 (May 06, 2019)
================================
Internal FW 8.40.30.0

Fixes
-----
1. Problem: CQ106026: Linux Blade fails to re-login to switch after link down.
   Change: Check Vx_port desciptor CVL is valid and if so, then handle the CVL.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.40.23.0 (Apr 26, 2019)
================================
Internal FW 8.40.28.0

Enhancement
-----------
1. Compilation fixes for first 8.40.23.0 release.

Version 8.38.4.2 (Apr 26, 2019)
================================
Internal FW 8.38.0.0

Fixes
-----
1. Problem: CQ105201: Supported/Current speed don't show 20Gbps.
   Change: Add support for 20 Gbps speed.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.38.4.0 (Apr 16, 2019)
================================
Internal FW 8.38.0.0

Version 8.38.3.1 (Apr 05, 2019)
================================
Internal FW 8.38.0.0

Fixes
-----
1. Problem: CQ103567 - Server not waking up using virtual MAC
   Change: Add shutdown callback handler.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ105201 - Supported speed for FC hosts shows “unknown”
   Change: Interpret supported caps value correctly by using QED define
	   macros instead of OS defined for interpreting supporting speeds.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.38.3.0 (Mar 03, 2019)
================================
Internal FW 8.38.0.0

Version 8.38.2.0 (Feb 19, 2019)
================================
Internal FW 8.38.0.0

Version 8.38.1.0 (Jan 31, 2019)
================================
Internal FW 8.37.10.0

Version 8.38.0.0 (Jan 22, 2019)
================================
Internal FW 8.37.10.0

Fixes
-----
1. Problem: CQ104730 - Numerous error message seen during load/unload of driver.
   Change: Move error message from default debug level to discovery debug level.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Enhancement
-----------
1. Problem: CQ104818 - Compilation error on RHEL 8.
   Change: Add support for RHEL8. Fix compile time errors.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL 8
           Protocol: FCoE

Version 8.37.32.1 (Jan 10, 2019)
================================
Internal FW 8.37.10.0

Fixes
-----
1. Problem: CQ104277 - qedf make file issue.
   Change: Fix qed files being copied multiple times in Makefile.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ103151 - Capabilities should come from driver instead on FW.
   Change:  Add support for qed FCoE capabilities callback.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE



Version 8.37.32.0 (Jan 04, 2019)
================================
Internal FW 8.37.10.0

Version 8.37.31.0 (Dec 31, 2018)
================================
Internal FW 8.37.10.0

Version 8.37.30.0 (Nov 26, 2018)
================================
Internal FW 8.37.10.0

Fixes
-----
1. Update compatibility for qed version 8.37.30.0.

Version 8.37.29.0 (Nov 20, 2018)
================================
Internal FW 8.37.10.0

Fixes
-----
1. Problem: CQXXX - Observe system crash due to race condition while aborting
	    IO and flushing the active IOs.
   Change: Fix crash waiting for io_req during flush.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.28.0 (Nov 05, 2018)
================================
Internal FW 8.37.9.0

Fixes
-----
1. Update compatibility for qed version 8.37.28.0.

Version 8.37.27.0 (Oct 26, 2018)
================================
Internal FW 8.37.9.0

Fixes
-----
1. Problem: CQ104105 - Fix crash during sg_reset
   Change: Driver was attempting to print cdb[0], which is not set for resets
	   coming from SCSI ioctls. Check for cmd_len before accessing cmnd.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Enhancement
-----------
1. Change: Add RHEL 8 support
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL 8
           Protocol: FCoE

2. Change: CQ103152 - update module description string
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL 8
           Protocol: FCoE

Version 8.37.26.0 (Oct 19, 2018)
================================
Internal FW 8.37.8.0

Enhancement
-----------
1. Change: Use qed recovery_prolog callback before executing ULP recovery
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Fixes
-----
1. Problem: CQ103992 - System hang on driver unload
   Change: Stop sending fipvlan request on unload
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE


Version 8.37.25.1 (Oct 11, 2018)
================================
Internal FW 8.37.8.0

Enhancement
-----------
1. Change: Change return from int to void for qedf_initiate_cleanup.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.25.0 (Oct 09, 2018)
================================
Internal FW 8.37.8.0

Fixes
-----
1. Change: Correct module parameter description for crash_on_err
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ103633 - the scan command cannot be executed when the target
	    ID is 8 or more
   Change: Update the max_id value in host structure
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.24.1 (Oct 04, 2018)
================================
Internal FW 8.37.8.0

Enhancement
-----------
1. Change: Add a module parameter to force a crash on a fatal internal error.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Fixes
-----
1. Change: Improve debug logging in eh routines.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Check the return value of start_xmit.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Change: Log message if scsi_add_host fails.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

4. Change: Check for fcoe_libfc_config failure.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

5. Change: Do not cancel timer when dropping abts_compl.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

6. Change: Fix crash in qedf_initiate_abts when accessing stale io_req.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

7. Change: Cleanup rrq_work after QEDF_CMD_OUTSTANDING is cleared.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

8. Change: Correctly use cancel_delayed_work_sync API.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.24.0 (Sep 28, 2018)
================================
Internal FW 8.37.8.0

Fixes
-----
1. Update compatibility for qed version 8.37.24.0.

Version 8.37.23.3 (Sep 28, 2018)
================================
Internal FW 8.37.8.0

Fixes
-----
1. Change: Cache LUN while executing TMF as sc_cmd may get freed.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Do not tie TMF to CPU associated with sc_cmd.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Change: Code change to improve logging around eh_abort.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

4. Change: Check CMD_OUTSTANDING only for matching fcport.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

5. Change: Add fc_block_scsi_eh to wait on the SCSI error handler before executing TMFs.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.23.2 (Sep 25, 2018)
================================
Internal FW 8.37.8.0

Fixes
-----
1. Change: Cleanup io_req associated with a TMF cmd during flush.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Use the same CPU to schedule TMF & Cleanup completions for a given io_req.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.23.1 (Sep 25, 2018)
================================
Internal FW 8.37.8.0

Fixes
-----
1. Change: Validate fcport before accessing in qedf_process_abts_compl.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Active_ios count not going to 0 (during flush).
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Change: Return SUCCESS only if we complete scsi command tied to abort.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

4. Change: Don't send ABTS for under run scenario.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

5. Change: Change BUG_ON to WARN_ON in flush_active_ios.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

6. Change: Improve on the logic used to determine flush is active.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

7. Change: Change QEDF_IOREQ_EV_ABORT_NONE to QEDF_IOREQ_EV_NONE.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE


Version 8.37.23.0 (Sep 23, 2018)
================================
Internal FW 8.37.8.0

Fixes
-----
1. Change: Set io_req->fcport to NULL when a command is complete
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Add port_id for fcport into initiate_cleanup debug message.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Change: Assert system if device->id is not equal to rport->scsi_target_id.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

4. Change: Assert if io_req is freed without calling scsi_done.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

5. Change: Use two different variables to track if a command is alloc'd
	   and outstanding.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

6. Change: Don't queue anything if upload is in progress.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

7. Change: Wait for all the commands to flush.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

8. Change: Ensure that all I/Os have been submitted prior to flush starting.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

9. Change: Change the order of checks in eh_abort.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

10. Change: Set sc_cmd to NULL to avoid BUG_ON during release.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

11. Problem: Cont00XXXX - When flush active i/os is invoked from the tmf context,
	    the num_active_ios will not go to 0. The system crashed after waiting
	    for 120 secs
   Change: Address a crash due to active_ios not going to 0,
	   1. Wait for num_active_ios to go to 0 only in the UPLOAD_CONNECTION
	      context, and as an extention, wait for commands to be queued only in
	      that context.
	   2. Track IOs to be queued only for SCSI command as only they are
	      relevant from the UPLOAD_C perspective.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

12. Change: Clear io_req->scsi_cmd for timedout TMF.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

13. Problem: Cont00XXXX - A LUN reset was being processed when a LOGO was
	    received from the target for which we start the upload connection.
	    As flush is done with a flush_mutex, and UPLOAD_CONN was set, we end
	    up waiting to complete all outstanding commands. LUN reset/target reset
	    does not relinquish its reference on the cmd untill the control returns
	    back to execute_tmf. This leads to a situation that the flush does not complete.
   Change: Handle parallel TMF + Upload Connection,
	   1. The TMF io_req does not need to be kept while flush is in progress.
	      Drop the reference.
	   2. In the flush routine, reduce the window further on when we wait
	      for active cmds to complete.
	   Also, cleanup a duplicate check.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

14. Change: Release command if the LUN for the abort does not match the
	   cmd we are flushing.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

15. Problem: Cont00XXXX - reference count for the io_req never goes down to 0
   Change: While cleaning up RRQ requests, on cancellation, free the
	   io_req correctly.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

16. Problem: Cont00XXXX - crash with qedf_send_rrq(), because of fcport NULL
   Change: When flush is in progress, there is a window where we might get an
	   abts completion for a command while a cleanup has been issued on it.
	   In that case, we might end up queuing an rrq, while the flush completes
	   and the target (fcport) gets deleted. When flush is in progress,
	   we drop abts_completions received by the driver.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.22.0 (Sep 11, 2018)
================================
Internal FW 8.37.7.0

Fixes
-----
1. Problem: Cont00103308 - Linux blades use VLAN notifications meant for
            other blades
   Change: Don't process fip pkt if destination is not valid.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.21.0 (Sep 03, 2018)
================================
Internal FW 8.37.7.0

Fixes
-----
1. Problem: CQ102931 - OS intermittently fail to login to the fabric after CVL
   Change: Add different CVL handling checks
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ102816 - crash in blk_requeue_request during VC
            FCoE uplink toggle test
   Change: Clear in_abort bit when processing an ABTS timeout.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Problem: CQ103068 - crash in qedf_free_mp_resc during FCoE uplink
            add/remove test
   Change: Check qedf pointer when handling ELS timeouts.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

4. Change: Introduce delay in soft_ctx reset between link down and up.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

5. Change: Add flush to link_update_wq in soft ctx reset to ensure link down
           is processed.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

6. Change: Change the abort timeout to 10 sec from 10HZ.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

7. Change: Add io_req pointer to print in abort handler.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

8. Change: Check both the FCF and fabric ID before servicing
           clear virtual link.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.20.0 (Aug 17, 2018)
================================
Internal FW 8.37.7.0

Enhancement
-----------
1. Change: Extend the usage of "-mindirect-branch=thunk-extern" in Makefile
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: RHEL 7.6 and SLES 12 SP4
           Protocol: FCoE

Version 8.37.19.0 (Aug 6, 2018)
================================
Internal FW 8.37.7.0

Fixes
-----
1. Change: Make FIP VLAN retries infinite if we are in OV mode.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ102815 - System crash in fc_rport_enter_prli during VC FCoE
            uplink toggle test
   Change: Fix rdata reference counting during restart.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Problem: CQ102816 - System crash in blk_requeue_request during VC FCoE
            uplink toggle test
   Change: Take flush mutex when return command in eh_abort if request is
           not queued.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

4. Change: Print a message if cancel_delayed_work fails.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

5. Change: Cancel timeout work for abort during flush.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

6. Change: Send cleanup for I/O in abort.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

7. Change: Remove pr_crit debug messages.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

8. Change: Add LBA to underrun debug messages.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
	   Protocol: FCoE

Version 8.37.18.0 (Jul 30, 2018)
================================
Internal FW 8.37.6.0

Fixes
-----

1. Change: Check for link state before processing LL2 packets and send
           fipvlan retries.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Correct vlan_id setting race.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Change: Missing kref_put in qedf_xmit()
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

4. Change: Fixup locking in qedf_restart_rport()
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

5. Change: Fixup bit operations
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

6. Change: Add additional checks for io_req->sc_cmd validity.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

7. Change: Do soft context reset when handling an clear virtual link.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

8. Change: Check physical link status in soft context reset before declaring
           link up.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

9. Change: Add missing return in qedf_scsi_done()
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

10. Change: Print scsi_cmd backpointer in good completion path if the
            command is still being used.
    Introduced: Day 1
    Impact: HW: QL41xxx, QL45xxx adapters
            OS: All supported Linux flavors
            Protocol: FCoE

11. Change: Return SUCCESS if we can't queue an ABTS.
    Introduced: Day 1
    Impact: HW: QL41xxx, QL45xxx adapters
            OS: All supported Linux flavors
            Protocol: FCoE

12. Change: fc_rport_priv reference counting fixes
    Introduced: Day 1
    Impact: HW: QL41xxx, QL45xxx adapters
            OS: All supported Linux flavors
            Protocol: FCoE

13. Change: remove stale variables in qedf_eh_XXX functions
    Introduced: Day 1
    Impact: HW: QL41xxx, QL45xxx adapters
            OS: All supported Linux flavors
            Protocol: FCoE

14. Change: Fix compile error due to not #ifdef'ing rport_destroy.
    Introduced: Day 1
    Impact: HW: QL41xxx, QL45xxx adapters
            OS: All supported Linux flavors
            Protocol: FCoE

Version 8.37.16.0 (Jul 9, 2018)
================================
Internal FW 8.37.5.0

Enhancements
------------
1. Change: Correct the check for deciding slow or fast IO.
   Impact: HW: QL41xxx, QL45xxx
           OS: All supported Linux flavors
           Protocol: FCoE

2. Change: Check in rrq_compl if request was already flushed.
   Impact: HW: QL41xxx, QL45xxx
           OS: All supported Linux flavors
           Protocol: FCoE

3. Change: Set the memory barriers correctly in qedf_ring_doorbell.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Fixes
-----
2. Problem: CQ102221 - OS crash during VC FCoE uplink toggle test
   Change: Add more race condition checks.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Problem: Crash on a list traversal in fc_rport_lookup
   Change: Add missing fc_disc_init call after allocating lport.
           When receiving an unsolicited frame we could crash on a list
           traversal in fc_rport_lookup while searching the rport which is
           associated with our lport.
           Initialize the lport's discovery node after allocating the lport in
           __qedf_probe().
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.15.0 (Jul 2, 2018)
================================
Internal FW 8.37.5.0

Enhancements
------------
1. Change: Send the driver state to MFW
   Impact: HW: QL41xxx, QL45xxx
           OS: All supported Linux flavors
           Protocol: FCoE

Fixes
-----
1. Problem: CQ102272 - NMI watchdog crash during VC uplink toggles
   Change: Move check if io_req is already in cleanup earlier to prevent
           race if two cleanups are issued at the same time.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ102221 - Crash during VC FCoE uplink toggle test
   Change: Add more fixes for different concurrent conditions
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.14.0 (Jun 25, 2018)
================================
Internal FW 8.37.5.0

Fixes
-----
1. Update compatibility for qed version 8.37.14.0.

Version 8.37.13.0 (Jun 11, 2018)
================================
Internal FW 8.37.4.0

Enhancements
------------
1. Change: Add driver state to 'driver_stats' debugfs node
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Fixes
-----
1. Problem: CQ101974 - Call trace observed while performing ICM reset.
   Change: When we receive an STAG change event from MFW/qed, the event
           notification is done in interrupt context.  The leads to an issue
           where calling the function qedf_wait_for_upload() will generate a
           call trace and then a crash due to the msleep() call.
           The fix is to move calling the qedf_soft_ctx_reset()
           from a deferred workqueue versus directly from the interrupt handler.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.12.0 (May 30, 2018)
================================
Internal FW 8.37.3.0

Enhancements
------------
1. Change: Add retpoline spectre meltdown support.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors

Version 8.37.11.0 (May 28, 2018)
================================
Internal FW 8.37.3.0

Fixes
-----
1. Problem: CQ101821 - ABTS and Call Trace from uplink toggles.
   Change: Use a seperate completion for cleanup commands.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: Observe crash during flushing commands
   Change: Handle NULL sc_cmd->device pointer correctly in flush I/O
           routine.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Enhancements
------------
1. Change: Add DCBx hook to dump the information.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
1. Change: Change MSI-X load error message.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors

Version 8.37.10.0 (May 14, 2018)
================================
Internal FW 8.37.2.0

Fixes
-----
1. Problem: CQ101245 - Linux blades hang during VC FCoE uplink toggle
   Change: sanity checks for edge conditions that occur during ABTS or TMF
           processing.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ101611 - faslinq major Compilation in Sles15 gives dracut
            message prints
   Change: Makefile changes to build initrd for SLES15
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: SLES15
           Protocol: FCoE

Enhancements
------------
1. Change: Remove BD split logic.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors

Version 8.37.9.0 (May 7, 2018)
================================
Internal FW 8.37.1.0

Fixes
-----
1. Problem: CQ101392 - Compilation errors on Debian
   Change: Fix compilation errors on Debian
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.8.0 (Apr 30, 2018)
================================
Internal FW 8.33.14.0

Fixes
-----
1. Problem: CQXXXX - Compilation errors on RHEL 6 and SLES 11
   Change: Fix compilation errors on RHEL 6 and SLES 11 related
           to dcbnl.h and __vlan_hwaccel_put_tag
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

1. Problem: CQ101247 - System crashes while running VC FCoE uplink
            toggle test
   Change: Add missing return in qedf_post_io_req() in the fcport offload
           check.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.7.0 (Apr 20, 2018)
================================
Internal FW 8.37.0.0

Fixes
-----
1. Problem: CQ100673 - Call trace observed while running FCoE traffic
   Change: Do not retry ELS request if qedf_alloc_cmd fails.
           If we cannot allocate an ELS middlepath request, simply
           fail instead of trying to delay and then reallocate.
           This delay logic is causing soft lockup messages.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ100704 - FCoE connection not established at fresh UFP
            port/vport configuration.
   Change: Check dcbx mode at link up to see if we even
           need to wait for DCBX convergence.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

3. Problem: CQXXXX - xid range overlap between offloaded requests and
            libfc requests.
   Change: There is currently an overlap where exchange IDs between what
           is used for offloaded commands and by libfc for ELS commands.
           Correct this so that exchange ID range is:
           Offloaded requests: 0 to 0xfff
           libfc requests: 0x1000 to 0xfffe
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.6.0 (Apr 12, 2018)
================================
Internal FW 8.33.14.0

Fixes
-----
1. Update compatibility for qed version 8.37.6.0.

Version 8.37.5.0 (Apr 09, 2018)
===============================
Internal FW 8.33.14.0

Fixes
-----
1. Problem: CQ100717 - System crashes during the VC FCoE uplink toggle test
   Change: Add more defensive checks for concurrent error handling
   conditions
      Introduced: Day 1
      Impact: HW: QL41xxx, QL45xxx adapters
      OS: All supported Linux flavors
      Protocol: FCoE

Version 8.37.4.0 (Mar 30, 2018)
===============================
Internal FW 8.33.13.0

Fixes
-----
- Update compatibility with qed version 8.37.4.0.

Version 8.37.3.0 (Mar 26, 2018)
================================
Internal FW 8.33.13.0

Fixes
-----
1. Problem: CQ100393 - System crashes while deletion of vport
   Change: Set the UNLOADING flag when removing a vport to prevent any
           requests from being queued while a vport is being deleted.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.2.0 (Mar 14, 2018)
================================
Internal FW 8.33.13.0

Fixes
-----
1. Update compatibility for qed version 8.37.2.0.

Enhancements
------------
1. Problem: CQXXXXX - In cases of hardware errors, the driver triggered
            the adapter recovery
   Change: Remove trigger adapter recovery process for
           hardware errors.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

Version 8.37.1.1 (Mar 8, 2018)
===============================
Internal FW 8.33.12.0

Fixes
-----

1. Problem: CQXXXXX - Build failure on SLES 11 
   Change: Add additional defines to Makefile so copied qed header
           files copy correctly 
   Introduced: 8.33.12.0
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: SLES 11 
           Protocol: FCoE

Version 8.37.1.0 (Mar 6, 2018)
==============================
Internal FW 8.33.12.0

Fixes
-----

1. Problem: CQ100001 - ABTS and stack trace while creating NPIV vports
   Change: Add additional checks when restarting an rport due to ABTS
           timeout
   Introduced: Day 1.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors
           Protocol: FCoE

2. Problem: CQ100111 - flogi is not happening for one of adapter port
   Change: Use VLAN retrieved by MFW during VLAN ID fallback if FIP VLAN request timeout
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx
           OS: All supported Linux flavors
           Protocol: FCoE

3. Problem: CQXXXXX - Fix crash when MFW calls for protocol stats while function is still probing.
   Change: Ignore request for FCoE stats if function is still probing.
   Introduced: Day 1
   Impact: HW: QL41xxx, QL45xxx
           OS: All supported Linux flavors
           Protocol: FCoE

Enhancements
------------

1. Change: Update copyright in source files for 2018.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors

2. Change: scsi: fix LTO-enabled build
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors

3. Change: If qed fails to enable MSI-X fail PCI probe.
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors

4. Change: scsi: remove redundant initialization of 'fcport'
   Impact: HW: QL41xxx, QL45xxx adapters
           OS: All supported Linux flavors

Version 8.37.0.0 (Feb 13, 2017)
================================
Internal FW 8.33.10.0

Fixes
-----

- Update compatibility with qed version 8.37.0.0.

Version 8.33.10.0 (Jan 30, 2017)
================================
Internal FW 8.33.10.0

Fixes
-----

- Honor default_prio module parameter even if DCBX does not converge.
- Remove one-second timer to fix compile error on 4.15 kernel.
- Improve firmware debug dump handling.
- Remove setting DCBX pending during soft context reset.

Upstream patches:

scsi: qedf: Fix error return code in __qedf_probe().

Version 8.33.9.0 (Jan 16, 2017)
===============================
Internal FW 8.33.8.0

Fixes
-----
1. Update compatibility for qed version 8.33.9.0.

Version 8.33.8.0 (Jan 11, 2017)
===============================
Internal FW 8.33.8.0

Fixes
-----
1. Update compatibility for qed version 8.33.8.0.
2. Fix setting flags argument to ll2_xmit callback when sending a FIP VLAN request.

Version 8.33.7.0 (Jan 5, 2017)
==============================
Internal FW 8.33.8.0

Fixes
-----
1. Update compatibility for qed version 8.33.7.0.
2. Fix compile error on Ubuntu 17.10

Version 8.33.6.0 (Dec 22, 2017)
===============================
Internal FW 8.33.7.0

Fixes
-----
1. Update compatibility for qed version 8.33.6.0.

Version 8.33.5.0 (Dec 14, 2017)
===============================
Internal FW 8.33.7.0

Fixes
-----
1. Update compatibility for qed version 8.33.5.0.

Version 8.33.4.0 (Dec 8, 2017)
==============================
Internal FW 8.33.6.0

Fixes
-----
1. Update compatibility for qed version 8.33.4.0.

Version 8.33.3.0 (Nov 23, 2017)
==============================
Internal FW 8.33.4.0

Fixes
-----
1. Update compatibility for qed version 8.33.3.0.

Version 8.33.2.0 (Nov 17, 2017)
==============================
Internal FW 8.33.4.0

Fixes
-----
1. Use dev_info.common.hwfns and affin_hwfn_idx to get MSI-X
vector index to use.
2. Add missing commands in error_inject debugfs show handler.
3. Fix cleanup timeouts during MFW recovery process.
4. Add regression test to drop task management command.
5. Use qed test operation to start recovery process during
error injection testing.
6. Fix memory leak in qedf_npiv_create_from_nvram().
7. Fix up error detect error inject test.

Version 8.33.1.0 (Oct 25, 2017)
==============================
Internal FW 8.33.2.0

Fixes
-----
1. CQ97011 - Remove VLAN checks from non-offload FIP receive path.
2. Set link down during recovery handler.
3. Add task id to kref_get_unless_zero() debug messages when
   flushing requests.
4. CQ97365 - Check if link is already up when receiving a link up
   event from qed.
5. Return request as DID_NO_CONNECT if MSI-X is not enabled.

Version 8.33.0.0 (Oct 8, 2017)
==============================
Internal FW 8.33.1.0

Fixes
-----
1. Release RRQ reference correctly when RRQ command times out.

Version 8.30.13.1 (Oct 4, 2017)
================================
Internal FW 8.30.16.0

Fixes
-----

1. Problem: Cont00097011 - RHEL7U3 fails to discover target LUN during installation
   Change: If DCBX FCoE app priority is out of bounds set it to default 3
   Introduced: 8.30.12.0
   Impact: FCoE

2. Problem: Cont00096769 - No LUNs discovered during BFS installation
   Change: Get VLAN information from correct source on older kernels such as 6.9
   Introduced: 8.30.10.0
   Impact: FCoE

Version 8.30.13.0 (Sep 26, 2017)
================================
Internal FW 8.30.16.0

Fixes
-----
1. Add check for offload before flushing I/Os for target.

Version 8.30.12.0 (Sep 14, 2017)
================================
Internal FW 8.30.16.0

Fixes
-----
1. CQ96519 - Honor priority from DCBX FCoE App tag.
2. Fix VLAN display when printing sent FIP frames.

Version 8.30.11.0 (Aug 31, 2017)
================================
Internal FW 8.30.15.0

Fixes
-----

1. Move freeing non FIP/FCoE packets from process context to interrupt context in LL2 path.

Enhancements
------------

1. Add get_generic_tlv_data handler.

Version 8.30.10.0 (Aug 24, 2017)
===============================
Internal FW 8.30.14.0

Fixes
-----
1. Verify VLAN of received frames in non-offload path.
2. Add missing skb frees in error path.
3. Fix a potential NULL pointer dereference.

Version 8.30.9.0 (Aug 21, 2017)
===============================
Internal FW 8.30.13.0

Fixes
-----
1. Increase the number of default FIP VLAN request retries to 60.
2. Add regression test to restart rport multiple times in succession.
3. Synchronize rport restarts when multiple ELS commands time out.
4. Add error inject to restart rport in debugfs.
5. Fix crash in qedf_hw_attr_handler due to NULL cookie.

Version 8.30.8.0 (Aug 11, 2017)
===============================
Internal FW 8.30.12.0

Fixes
-----
1. Update compatibility for qed version 8.30.8.0.

Version 8.30.7.0 (Jul 28, 2017)
===============================
Internal FW 8.30.11.0

Fixes
-----

1. Fix up modinfo parameter name for 'debug' in modinfo output

Version 8.30.6.0 (Jul 08, 2017)
===============================
Internal FW 8.30.10.0

Enhancements
------------

1. Add npiv_state and qos_prio OCBB stats
2. Add hw_attr_update handler

Upstream backports
------------------

scsi: qedf: fix spelling mistake: "offlading" -> "offloading"

Version 8.30.5.0 (Jun 23, 2017)
===============================
Internal FW 8.30.8.0

Fixes
-----
1. Update compatibility for qed version 8.30.5.0.
2. Mark which FIP frames are FIP VLAN discovery request frames.

Version 8.20.4.0 (Jun 9, 2017)
===============================
Internal FW 8.20.2.0

Fixes
-----
1. Update compatibility for qed version 8.20.4.0.

Version 8.20.3.0 (Jun 8, 2017)
===============================
Internal FW 8.20.2.0

Fixes
-----
1. Check if sense buffer has been allocated during completion.

Enhancements
------------
1. Covert single-threaded workqueues to regular workqueues.
2. Basic blk-mq enablement.

Version 8.20.2.0 (May 18, 2017)
===============================
Internal FW 8.20.1.0

Fixes
-----
1. Fix error inject test failing to queue an ABTS request on a vport.
2. Do not use cpu_to_le32 on 8 bit values.
3. Fix check of common->set_fp_int return value.
4. Move DCBX event message back to non-debug print level.
5. Remove qedf_dbg module parameter.

Enhancements
------------
1. Performance enhancements to reduce locking in qedf.

Version 8.20.1.0 (May 18, 2017)
===============================
Internal FW 8.20.0.0

Fixes
-----

1. Problem: qedf was not using FCF-MAC from FLOGI payload
   Change: Use granted MAC from the FCF for the FCoE source address if it is available
   Introduced: Day 1
   Impact: FCoE

2. Problem: CQ93695 - Discovery Solications go out as VLAN tag 0 on S5000 configuration
   Change: In fallback VLAN case after FIP VLAN requests retries expire, insert the corretc VLAN in the VLAN tag
   Introduced: Day 1
   Impact: FCoE

3. Problem: CQ93704 - Thunderx: make install errors with channel driver on arm for qedf files.
   Change: Update 'make install' target to use Ubuntu specific tools for creating initramfs
   Introduced: Day 1
   Impact: FCoE

4. Problem: CQ93748 - Compilation errors on CentOS/RHEL 6.5
   Change: Need to define kref_get_unless_zero() in qedf driver as it is not defined in the RHEL 6.5 sources
   Introduced: Day 1
   Impact: FCoE (RHEL 6.5 only)

Ported from upstream
--------------------

- scsi: qedf: properly update arguments position in function call
- scsi: qedf: Cleanup the type of io_log->op
- scsi: qedf: Avoid reading past end of buffer

Version 8.20.0.0 (Apr 27, 2017)
===============================
Internal FW 8.20.0.0

Fixes
-----
1. Update compatibility for qed version 8.20.0.0.

Version 8.18.22.0 (Apr 20, 2017)
===============================
Internal FW 8.18.22.0

Fixes
-----
1. Update compatibility for qed version 8.18.22.0.

Version 8.18.21.0 (Apr 07, 2017)
===============================
Internal FW 8.18.22.0

Fixes
-----
1. Update compatibility for qed version 8.18.21.0.

Version 8.18.20.0 (Apr 6, 2017)
===============================
Internal FW 8.18.21.0

Fixes
-----
1. Update compatibility for qed version 8.18.20.0.

Version 8.18.19.0 (Mar 30, 2017)
===============================
Internal FW 8.18.20.0

Fixes
-----
1. Update compatibility for qed version 8.18.19.0.

Version 8.18.18.0 (Mar 23, 2017)
================================
Internal FW 8.18.19.0

Fixes
-----
1. Problem: qedf driver not compiling on latest upstream kernels
   Change: Add #ifdefs for new kernel APIs so qedf out-of-box driver compiles correctly on 4.11 kernel.
   Introduced: Day 1
   Impact: HW: QL41xxx adapters
           OS: Upstream through 4.11 kernel
           Protocol: FCoE

Version 8.18.17.0 (Mar 16, 2017)
================================
Internal FW 8.18.18.0

Fixes
-----
- Add change_queue_depth member to scsi_host_template().
- Change cmd_per_lun in scsi_host_template to 32 to increase performance.
- scsi: qedf: Fix defective logging format and argument mismatches
- Replace headers in new HSI with proper copyright banners.
- Move some prints to a debug level so they do not print when no debugging is enabled.
- Covert I/O threads to workqueues.
- Remove double copies from middle path commands.
- Properly fix 32-bit compile warnings.
- Don't take lport->disc.disc_mutex when restarting an rport.
- Introduce new qedf_ctx flag to different stopping I/O for debug purposes.
- Convert LL2 processing code from kthread to workqueue.
- Fix sending ELS command over an offloaded connection.
- Add non-offload receive filters.
- Convert qedf_ctx offloaded port list to a RCU list.
- Use IS_ERR(fp) in qedf_flogi_resp() instead of checking individual FC_EX_* errors.
- Remove scsi_block_target when executing TMF request.
- Fix crash if firmware file is not found.
- Check for port uploading on a per remote port bases instead of local port wide.
- Use kernel function ilog2 instead of for loop to calculate fcoe_pf_params.log_page_size.
- Check return value from qed_ops->ll2->start().
- Replace the rest of the PAGE_SIZE references in the driver with QEDF_PAGE_SIZE define.
- Remove storing LBA for only read/write commands in qedf_io_trace().
- Add dp_module, dp_level as modparams.
- Add Kconfig file for upstream builds.
- CQ91663: Add bus_reset No-op.
- Port of checkpatch fixes from upstream

Version 8.18.16.0 (Mar 09, 2017)
================================
Internal FW 8.18.17.0

Fixes
-----
1. Update compatibility for qed version 8.18.16.0.

Version 8.18.15.0 (Mar 01, 2017)
================================
Internal FW 8.18.16.0

Fixes
-----
1. CQ92094: Add dcbx_not_wait module parameter so we won't wait for DCBX convergence to start discovery.
2. CQ92169: Fix issues with using the lip_reset sysfs node under the fc_host.
3: CQ91924: Set WWNN and WWPN based on values from qed.

Version 8.18.14.0 (Feb 23, 2017)
================================
Internal FW 8.18.15.0

Fixes
-----
1. Implement get_protocol_tlv_data callback.
2. Makefile refactoring and cleanup.

Version 8.18.13.0 (Feb 16, 2017)
================================
Internal FW 8.18.14.0

Fixes
-----
1. CQ91693 - Fix crash due to unsolicited FIP VLAN respnse.
2. CQ91752 - Set qed logging level to QED_LEVEL_NOTICE.

Version 8.18.12.0 (Feb 10, 2017)
===============================
Internal FW 8.18.13.0

Fixes
-----
1. CQ91600: Check flogi payload before trying to extract fabric_name.

Version 8.18.11.0 (Feb 3, 2017)
===============================
Internal FW 8.18.13.0

Fixes
-----
1. Update compatibility for qed version 8.18.11.0

Version 8.18.10.0 (Jan 25, 2017)
===============================
Internal FW 8.18.12.0

Fixes
-----
1. Implement new DCI callbacks from qed.

Version 8.18.9.0 (Jan 19, 2017)
===============================
Internal FW 8.18.10.0

Fixes
-----
1. Add fka_period SCSI host attribute to show fip keep alive period.

Version 8.18.8.0 (Jan 12, 2017)
===============================
Internal FW 8.18.9.0

Fixes
-----
1. Update of HSI files, interface version and module version bump.
2. Update Copyright string.

Version 8.18.6.0 (Dec 16, 2016)
===============================
Internal FW 8.18.7.0

Fixes
-----
1. CQ90573: Check that fcport is offloading before dereferencing pointers
   in initiate_abts.
2. CQ90514: Look at all descriptors when processing a clear virtual link.

Version 8.18.4.1 (Dec 8, 2016)
===============================
Internal FW 8.18.5.0

Fixes
-----
1. Make buffer descriptor split the same as qedi.
2. CQ90464: Add dma_boundary back into scsi_host_template.
3. CQ90434: Do not check sc_cmd backpointers in qedf_scsi_done().
4. CQ89163: Add MODULE_DEVICE_TABLE() macro to export PCI device information.
5. CQ90385: Fix crash when creating vports on non-SLES distros.

Version 8.18.4.0 (Nov 29, 2016)
===============================
Internal FW 8.18.5.0

Fixes
-----
1. replace qed ops set_id with set_name
2. use correct macro for set_fp_int
3. use single variable num_queues
4. Fix sparse warning for hw_p_cpuq member of qedf_ctx struct
5. Increase number of tasks back to 4096
6. Move qed compatible speed defines to qedf.h
7. Remove comment not needed for upstream
8. Always define U64_HI and U64_LO
9. Remove defining DIRECT_REG_WR in qedf.h
10. Remove other instances of virt_addr_valid()

Version 8.18.3.0 (Nov 22, 2016)
===============================
Internal FW 8.18.4.0

Fixes
-----

1. Allocate global CQ resource based on num_cqe.
2. Add Xenserver support
3. Use vzalloc/vfree to allocate the qedf_cmd_mgr struct.
4. Changes to compile qedf module on upstream kernel.
5. Honor qed_ops->common->set_fp_int() return code.
6. Update copyright to Cavium Inc.
7. Use a predefined qedf_io_work item for solicited requests.
8. Remove CPU affinity notifiers.
9. Remove unnecessary variables from qedf_cmd_mgr_alloc().
10. Print related changes based on qedi upstream comments.
11. Do not use virt_addr_valid in qedf_eh_abort
12. Reduce the max number of CQs to 8

Version 8.18.1.0 (Nov 04, 2016)
===============================
Internal FW 8.18.1.0

Fixes
-----

1. Changes to make Citrix compile.

Version 8.18.0.0 (Oct 20, 2016)
===============================
Internal FW 8.18.0.0

Enhancements
------------

1. CQ89628: Enable basic FDMI information.

Fixes
-----

1. Fix compilation errors on SLES 11 SP3.
2. CQ89385: Remove workaround for CQ81566.
3. Additional changes for upstream based on review comments.
4. Do not set dma_boundary in scsi_host_template.
5. Remove unused Arrowhead PCI device IDs.

Version 8.14.4.0 (Sept 19, 2016)
===============================
Internal FW 8.14.7.0

Fixes:
------
1. Add Ubuntu 14.04 and 16.04 support

Version 8.14.3.0 (Sept 8, 2016)
===============================
Internal FW 8.14.6.0

Fixes:
------
1. Use LE32 instead of LE64 when specifying physical address of sense
   buffer
2. Fix compilation issues

Version 8.14.2.0 (Aug 26, 2016)
===============================
Internal FW 8.14.4.0

Fixes:
------
1. Add 4-cache sgl support
2. Convert TMF commands to use regular SCSI requests vs. middle path
   requests
3. Add Arrow Head (AH) Device IDs support

Version 8.10.7.0 (Jul 12, 2016)
===============================
Internal FW 8.10.8.0

Fixes:
------
1. Update HSI files and interface version for qed 8.10.7.0.


Version 8.10.6.0 (Jun 21, 2016)
===============================
Internal FW 8.10.7.0

1. Define ether_addr_copy for RHEL 6.6 and earlier.
2. Fix compilation errors during ERROR_INJECT=1 compile.
3. Fix compilation errors on SLES 12 SP 1.

Version 8.10.5.0 (Jun 14, 2016)
===============================
Internal FW 8.10.7.0

NOTE: For FCoE discovery to work correctly the MFW must be version 8.10.8.166 or higher.
 
Fixes:
------
1. CQ86530: Check that the address we get from the BDQ opaque data is a valid address.
2. BDQ opaque data is now an index into the BDQ array instead of a virtual address.
3. BSG interface files were removed due to no consumer.
4. fipvlan SCSI sysfs interface removed as it was only for debug.
5. Various source code level fixes based on running static checkers (checkpatch.pl, sparse, smatch).
6. Made corresponding changes to driver as firmware detected underrun conditions are passed to the driver as a normal completion vs. and error detect CQE.

Version 8.10.3.0 (May 10, 2016)
===============================
Internal FW 8.10.5.0

Fixes:
------
1. FCP_RSP IU retry_delay fixes.
2. CQ86486: Fix RHEL6 compilation errors due to fc_host_statistics not being defined

Version 8.10.2.0 (Apr 21, 2016)
===============================
Internal FW 8.10.4.0

Fixes:
------
1. CQ85465: Remove --kernel-cmdline rd.driver.pre=qed,qedf dracut option from Makefile install target.
2. Check for invalid fcp_rsp_len and fcp_rsp_code for regular SCSI commands.
3. Add pykdump libraries and crash helper scripts.
4. Increase number of global queues to 16.
5. Allow cleanup commands during __qedf_remove.
6. Add error injection framework.
7. Implement fc_host statistical counters.
8. Remove RQ PBL address from the list.

Version 8.10.1.0 (Mar 23, 2016)
===============================
Internal FW 8.10.2.0

Fixes:
------
1. CQ85433: Take references for ABTS tasks internally in the qedf_initiate_abts() function.
2. CQ85529: Add BDQ additional changes.
3. CQ85551: Fix crash due to processing link event too early.
4. CQ85397: Additional make install fixes.
5. Fix crash due to uninitialized completion when creating a vport.
6. Don't wait for vport deletion during error recovery.
7. Use irqsave/irqrestore variants of spin_lock primative in qedf_xmit.

Enhancements:
-------------
1. Add task retry identifier.
2. Add callback for get_login_failures.
3. Export additional sysfs attributes for QLogic apps

Version 8.10.0.0 (Feb 27, 2016)
===============================
Internal FW 8.10.1.0

Fixes:
------
1. Add link down timeout.
2. CQ84692: Add initrd/initramfs rebuild to makefile install target.
3. Fix typo when receiving an unknown ABTS response.

Enhancements:
-------------
1. Add schedule_hw_err_handler callback for fan failure.
2. Implement sequence level recovery in driver.
3. BDQ allocation.  Note this is just the allocation of the BDQ buffers and
   PBL so that we can pass the addresses and size to ecore to prevent a
   firmware error notification due to NULL pointers in the SCSI init function
   ramrod.

Version 8.7.12.0 (Feb 02, 2016)
==============================
Internal FW 8.7.6.0

Version 8.7.9.0 (Jan 22, 2016)
==============================
Internal FW 8.7.6.0

Fixes:
------
1. Remove all cmdq/cmdq_pbl allocations. 

Version 8.7.8.0 (Jan 14, 2016)
==============================
Internal FW 8.7.5.0

Fixes:
------
1. Add support to Handle DCBx AEN.

Version 8.7.6.0 (Dec 30, 2015)
==============================
Internal FW 8.7.5.0

Version 8.7.5.0 (Dec 19, 2015)
==============================
Internal FW 8.7.4.0

Fixes:
------
1. Track SGE type statistics.
2. Port of scatter/gather list checks from qedi.
3. CQ83590: Add basic tape support.
4. Add schedule_recovery_handler callback handler for qed to handle internal memory errors from ASIC.

Version 8.7.4.0 (Dec 04, 2015)
==============================
Internal FW 8.7.3.0

Fixes:
------
- No fixes.

Version 8.7.3.0 (Nov 23, 2015)
==============================
Internal FW 8.7.2.0

Fixes:
------
1. I/O threads per CPU instead of per fastpath.
2. Track per CPU requests and responses, and task for cpu.
3. Add CPU affinity to error handling fastpath commands.
4. Add 'resources' node to debugfs directory to print free resourses.
5. Add IRQ affinity notifiers.

Version 8.7.2.0 (Nov 18, 2015)
==============================
Internal FW 8.7.1.0

Version 8.7.0.0 (Nov 06, 2015)
=========================================
QED Version 8.7.0.0 released version
Internal FW 8.7.0.0

Fixes:
------
1. Move grcdump address and size message to debug level.
2. Fix crash when receiving an unsolicited CQE due to io_req being NULL.

Version 8.6.0.0 (Oct 16, 2015)
=========================================
QED Version 8.6.0.0 released version
Internal FW 8.6.0.0

Fixes:
------
1. Get RQ prod db for different MSI-X vectors

Version 8.5.8.0 (September 22, 2015)
=========================================
QED Version 8.5.8.0 released version
Internal FW 8.5.6.0

Fixes:
------
1. CQ81952: System crashed due to changing the split cable connection.
2. Check pointers in qedf_initiate_cleanup() to make sure they're still valid.
3. Use kref_get_unless_zero() instead of kref_get() to prevent flushing already returned command.
4. Add basic handling of unsolicited CQEs.

Version 8.5.6.0 (August 28, 2015)
=========================================
QED Version 8.5.6.0 released version
Internal FW 8.5.4.0

Fixes:
------
1. Add sanity check to abort handler to make sure the scsi_cmnd->SCp.ptr is a valid address.
2. Move I/O flush to earlier in upload sequence.
3. CQ81623: Check virtual address of io_req->sc_cmd->SCp.ptr when flushing a command.
4. CQ81623: Don't call cleanup on tmf failure.
5. CQ81729: Check if session if offloaded when processing a CQ.
6. CQ81566: Check for the validity of ema before using it.
7. CQ81566: Work around bad fc_exch_pool pointer in driver.
8. CQ81569: Set lockless=1 to in scsi_host_template on RHEL 6.
9. CQ81567: Increase max command length to 16.
10. CQ81504: Increase the max number of connections to 1024.
11. Check if session is offloaded when sending RRQ.
12. CQ81407: Do not service clear virtual link if FCF has not been selected yet.
13. Add I/O tracing control script.
14. Add LUN to I/O tracing data.
15. Allow qedf debug mask to be changed via debugfs.
16. Fix compilation errors on SLES 11 SP4.

Version 8.5.3.0 (July 31, 2015)
=========================================
QED Version 8.5.3.0 released version
Internal FW 8.5.2.0

Fixes:
------
1. Fixed I/O halts after an abort is issued.
2. Add module param, stop_io_on_error, which stops I/O when an abort or error detect CQE occurs. 
3. Make debug=1 set the default debug print mask when loading driver.

Version 8.5.0.0 (July 27, 2015)
=========================================
QED Version 8.5.2.0 released version
Internal FW 8.5.1.0

Fixes:
------
1. CQ80945: I/O halts with mfw 8.5.0.0 after a few seconds.
2. Add support for grcdump from the driver.

Version 8.00.10.00.00.00-k (June 19, 2015)
=========================================
QED Version 8.3.6.0 released version
Internal FW 8.3.9.0

Fixes:
------
1. CQ80127 - System crashed during maim IO running with  32kblock size and 32QD on RHEL71.
2. CQ79990 - Found data corruption issue during medusa maim traffic on any random block size or QD combination.

Version 8.00.09.00.00.00-k (June 05, 2015)
=========================================
QED Version 8.3.6.0 released version
Internal FW 8.3.9.0

Fixes:
------
1. Increase the maximum number of NPIV ports to 64.
2. LL2 changes to sync-up link change events.
3. Don't process fipvlan response if similar vlan is already set. 
4. Filter out NPIV discovery traffic to ports on the same host.
5. Remove flusing the work queue in interrupt context.

Version 8.00.08.00.00.00-k (May 21, 2015)
=========================================
QED Version 8.3.5.0 released version
Internal FW 8.3.8.0

Fixes:
------
1. Updated qed API supported version.

Version 8.00.07.00.00.00-k (May 03, 2015)
=========================================
QED Version 8.3.4.0 released version
Internal FW 8.3.7.0

Fixes:
------
1. CQ78971 - Fixes for I/O write ordering
2. Make aborts asychronous. Need so that we send aborts after receiving an error detect CQE.
3. Change spin_unlock_bh to spin_lock_irqrestore in qedf_cmd_alloc.
4. Memset link_params data structure.

Version 8.00.06.00.00.00-k (May 03, 2015)
=========================================
QED Version 8.3.4.0 released version
Internal FW 8.3.7.0

Fixes:
------
1. Set the resid to the whole SCSI buffer when return a command in error context.
2. Fix lockdep inversion reported in qedf_initiate_abts.
3. Set SCSI status of scsi_cmnd when returning a SCSI command.

Version 8.00.05.00.00.00-k (Apr 23, 2015)
=========================================
QED Version 8.3.2.0 released version
Internal FW 8.3.5.0

1. CQ78891 - System got crashed after unloading qedf drv.
2. CQ79079 - System panicked after lading qedf driver on RHEL 7.
3. CQ79100 - unload qedf cause system crashed.
4. CQ79163 - Adapter port goes offline one every 90sec.
5. CQ78791 - Data corruption occurred SANBLaze lun while running IOs.

Version 8.00.04.00.00.00-k (Apr 10, 2015)
=========================================
QED Version 8.3.1.0 provided by Sony
Internal FW 8.3.4.0

Fixes:
------
1. CQ78972 - Rhel7 compilation issue.
2. CQ78941 - Max Lun support extended to 0xFFFF.
3. CQ78892,CQ78891 - Load/Unload fixes.
4. CQ78796 - Changes the way host reset is performed.

Version 8.00.03.00.00.00-k (Apr 03, 2015)
=========================================
QED Version: 8.3.0.0 + FCoE Fixes
Internal FW 8.2.13.0

Fixes:
-----

1. Only reset fcoe link when CVL contains our port_id.
2. CQ78796 - Host reset fixes
   - When flushing commands on a connection upload, make sure we checkup to
     DEFAULT_NUM_TASKS
   - Covert spin_unlock_bh to spin_unlock_irqsave if we cannot allocate an
     ioreq.
   - Make host reset essentially do a virtual link up/down. FLOGI processing
     in libfc gets messed up occassionaly if we do not.
3. CQ78892 - Load unload fixes.
   - Track when light-L2 interface is started so we do not try to trasmit
     packets when it's down.
   - Try to some of the qed interfaces earlier so that less traffic is
     generated while we bring the board down.
   - Make sure scsi_host_put() is the last call in the function as this is
     where the lport/qedf/shost structs will be reaped.
   - Clear the pci_dev driver data structure
   - Make sure we don't inadvertantly reap data structures before they are
     done being used.
4. CQ78941 - port is not allowing more than 9 luns from individual target
   - update the max_lun in host template to 0xffff.

Version 8.00.02.00.00.00-k (Mar 17, 2015)
=========================================
QED Version: 8.2.6.0 + FCoE Fixes
Internal FW 8.2.11.0

Fixes:
-----
1. Retry FIP VLAN request if the vlan in the response is 0.
2. Call kthread_run() instead of kthread_create() when starting LL2 thread.

Version 8.00.01.00.00.00-k (Mar 17, 2015)
=========================================
QED Version: 8.2.6.0 + FCoE Fixes
Internal FW 8.2.11.0

Fixes:
-----
1. First EIT drop.

