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

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

 1. Problem:    Fix Compilation issue with upstream kernel 5.13-rc6.

    Change:     API Changes.

    Introduced: Day 1.

    Relevance:  RDMA.

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

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

Enhancements:
-------------
 1. Request:    Delete libqedr from the FastlinQ package.

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

Fixes:
------
 1. Problem:    Compilation failure on upstream kernel.

    Change:     QEDR compilation fixed upstream kernel 5.12-rc5.

    Introduced: Day 1.

    Relevance:  RDMA.

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

Fixes:
------
 1. Problem:    FJT-5849: HPE_Snap5: 8.55.9.0 drivers fail to compile on
                SLES15SP3-RC1.

    Change:     QEDR compilation fixed for SLE15SP3-RC1.

    Introduced: Day 1.

    Relevance:  RDMA.

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

Version 8.55.8.0 (Mar 17, 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-109 VFRDMA: speed/rate failed to show for VF.

    Change:     VF shows speed/rate of PF.

    Introduced: Day 1.

    Relevance:  VF-RDMA.

 2. Problem:    Fix Compilation issue with RHEL8.4 and SLES15sp3.

    Change:     API Changes.

    Introduced: Day 1.

    Relevance:  RDMA.

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

Fixes:
------
 1. Problem:    FJT-2218 Driver Memory Leak still exists when PCIe hot plug.

    Change:     a)Free user QPs pbl's and MRs allocated as fmr
                (UPSTREAM BACKPORT: 24e412c1e00eb).
                b)Fix memory leaks and synchronization methods
                backported from upstream
                https://patchwork.kernel.org/patch/11210581/.

    Introduced: Day 1.

    Relevance:  RDMA.

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

Fixes:
------
 1. Problem:    FJT-4417 : RDMA backport: qedr: fix resource leak in
                qedr_create_qp.

    Change:     calls qedr_free_qp_resources for freeing resources.

    Introduced: Day 1.

    Relevance:  RDMA.

 2. Problem:    [E4] dp_internal tracer tries to access dead context.

    Change:     Explicitly NULLify cdev context pointer upon destruction.

    Introduced: Day 1.

    Relevance:  Internal trace / recovery.

Enhancements:
-------------
 1. Request:    EDDC standard: driver debug data.

Version 8.55.4.0 (Sep 29, 2020)
===============================
Internal FW 8.50.16.0
 
Version 8.55.3.0 (Sep 03, 2020)
===============================
Internal FW 8.50.16.0
 
Version 8.55.2.0 (Aug 26, 2020)
===============================
Internal FW 8.50.16.0
 
Version 8.55.1.0 (Jul 22, 2020)
===============================
Internal FW 8.50.16.0
 
Version 8.55.0.0 (Jul 09, 2020)
===============================
Internal FW 8.50.16.0
 
Version 8.53.1.0 (Jun 18, 2020)
================================
Internal FW 8.50.16.0

Fixes:
------
 1. Problem:    BUG: KASAN: use-after-free in ucma_event_handler+0x532/0x560
                While running test:
                NIC_E4_iWARP_ib_latency_test_with_all_sizes_rdmacm.

    Change:     Don't send junk as private data during connection close. Make
                sure to set field to zero.

    Introduced: Day 1.

    Relevance:  iWARP.

Version 8.53.0.0 (May 12, 2020)
===============================
Internal FW 8.50.16.0

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

Fixes:
------
 1. Problem:    Cont00108500 - AER-iWRAP: NPAR: Crash or SoftLockup on injecting
                Non-Fatal AER and then killing ib_send_bw process.

    Change:     Avoid db_rec entry deletion when device is not active.

    Introduced: Day 1.

    Relevance:  AER.

 2. Problem:    Cont00108567 - NVMe-SRQ: HW error/Ramrod stuck while running IO
                for few block sizes.

    Change:     Cast wqe_prod to u32. Use atomic variable for wr_cons_cnt,
                since it is a shared counter for different processes working
                with different CQ's.

    Introduced: 8.10.3.0.

    Relevance:  RDMA.

 3. Problem:    Cont00108791 - Driver Memory Leak still exists when PCIe hot
                plug.

    Change:     Fix memory leak - free wqe for GSI qp in qedr_cleanup_kernel.

    Introduced: Day 1.

    Relevance:  RoCE.

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

Fixes:
------
 1. Problem:    Cont00108224 - fastlinq-8.50.22.0 qedr driver fail to compile
                on SLES15SP2-Snap7.

    Change:     Kernel compatibility changes.

    Introduced: NA.

    Relevance:  5.5.6 linux-stable, SLES15SP2.

 2. Problem:    Memory leak - rqe isn't freed for GSI QP in qedr_cleanup_kernel.

    Change:     Free that element for GSI QP.

    Introduced: Day 1.

    Relevance:  RoCE.

Version 8.50.23.0 (Mar 05, 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 20, 2020)
================================
Internal FW 8.50.14.0

Fixes:
------
 1. Problem:    Cont00108224 - fastlinq-8.50.18.0 qedr driver fail to compile
                on SLES15SP2-Snap4.

    Change:     Kernel compatibility changes.

    Introduced: NA.

    Relevance:  SLES15SP2.

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

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

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

Fixes:
------
 1. Problem:    CQ108120 - RHEL8.2:VFRDMA:system crashes while enumerating VFs.

    Change:     Use the same device operations both for the PF and VF.

    Introduced: NA.

    Relevance:  RHEL8.2/SLES15SP2 and onwards.

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

Fixes:
------
 1. Problem:    CQ107989 - compilation error when compiling with
                -Wimplicit-fallthrough flag.

    Change:     Add a separate Fallthrough comment.

    Introduced: NA.

    Relevance:  SLES15SP2.

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

Fixes:
------
 1. Problem:    Cont00107989 - fastlinq doesn't compile on newer kernels.

    Change:     Kernel compatibility changes.

    Introduced: NA.

    Relevance:  Newer kernels (RHEL8.2/SLES15SP2).

Version 8.50.15.0 (Dec 30, 2019)
================================
Internal FW 8.50.12.0

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

Fixes:
------
 1. Problem:    CQ107799 RHEL8.1 OS crashes on executing "ibstat" with
                OOB driver.

    Change:     Use new kernel API to get qedr device.

    Introduced: Day 1.

    Relevance:  RHEL 8.1 and above.

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

Version 8.50.12.0 (Nov 28, 2019)
================================
Internal FW 8.50.10.0

Version 8.50.11.0 (Nov 14, 2019)
================================
Internal FW 8.42.4.0

Version 8.50.10.0 (Nov 04, 2019)
================================
Internal FW 8.42.4.0

Fixes:
------
 1. Problem:    When working over a macvlan device which was itself
                created over a vlan device, the roce CM traffic should use
                the vlan from the lower vlan device, but instead it simply
                queries the macvlan device as to whether it is itself a vlan
                device, and since it isn’t, the roce CM traffic is sent
                without any vlan, which causes it not to be accepted by the
                peer which is running directly over a vlan device, and will
                thus only accept roce CM traffic carrying the vlan.

    Change:     Use core provided API to fill the correct source MAC address
                and the vlan id. Implement the new API in the qedr compat for
                older kernels.

    Introduced: Day 1.

    Relevance:  RoCE.

Version 8.45.0.0 (Oct 16, 2019)
===============================
Internal FW 8.42.4.0

Enhancements:
-------------
 1. Request:    Support VF-RDMA SRQ's.

Version 8.42.9.0 (Oct 03, 2019)
===============================
Internal FW 8.42.3.0

Fixes:
------
 1. Problem:    CQ106718 RHEL 7.x z-stream required different binary.

    Change:     Fix K-ABI breakage. Fix was not complete in 8.42.4.0.

    Introduced: RHEL 7.x z-stream.

    Relevance:  RHEL 7.x.

Version 8.42.8.0 (Sep 19, 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.7.0 (Sep 10, 2019)
===============================
Internal FW 8.42.1.0

Version 8.42.6.0 (Sep 02, 2019)
===============================
Internal FW 8.42.1.0

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

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

Fixes:
------
 1. Problem:    RHEL 7.x z-stream required different binary.

    Change:     Fix K-ABI breakage.

    Introduced: Day 1.

    Relevance:  RHEL 7.x.

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

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

Version 8.42.1.0 (Jun 28, 2019)
===============================
Internal FW 8.40.32.0

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

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

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

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

Fixes:
------
 1. Problem:    CQ105897 - Driver build fails on SLES15SP1-RC2.

    Change:     Fix the build issue.

    Introduced: Day 1.

    Relevance:  SLES15.1.

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

Fixes:
------
 1. Problem:    CQ105553 - Unable to run RoCE on RH8.0.

    Change:     Backport kernel changes into fastlinq.

    Introduced: RH8.0.

    Relevance:  RoCE/iWARP on RH8.0 and vanilla kernel.

Version 8.40.22.0 (Apr 05, 2019)
================================
Internal FW 8.40.27.0

Fixes:
------
 1. Problem:    CQ105480 - VF RDMA: system crash while trying to read VF RDMA
                stats from HV.

    Change:     Remove the debugfs node of a qedr device as part of qedr_remove.

    Introduced: VF-RDMA Day 1.

    Relevance:  VF-RDMA.

Version 8.40.21.0 (Mar 29, 2019)
================================
Internal FW 8.40.27.0

Version 8.40.20.0 (Mar 22, 2019)
================================
Internal FW 8.40.26.0

Enhancements:
-------------
 1. Request:    VF RDMA - Add basic RDMA support.

 2. Request:    VF RDMA - Add RDMA CNQs support.

 3. Request:    VF RDMA - Add LL2 support.

 4. Request:    VF RDMA - Add statistics support.

Version 8.40.19.0 (Feb 22, 2019)
================================
Internal FW 8.40.25.0

Fixes:
------
 1. Problem:    CQ103767 - Incorrect Infiniband device rate (40Gbps instead of
                50Gbps).

    Change:     Set speed and width differently in case of 50Gbps.

    Introduced: Day 1.

    Relevance:  ib_core modules with 50Gbps support.

 2. Problem:    CQ103343 -OFED4.17: Add Fastlinq qedr support,qedr compilation
                failed.

    Change:     Fix compilation issue. Missing include path.

    Introduced: OFED4.17.

    Relevance:  Fastlinq compilation over ofed-4.17.

Version 8.40.18.0 (Jan 30, 2018)
================================
Internal FW 8.40.25.0

Version 8.40.17.0 (Jan 29, 2018)
================================
Internal FW 8.40.24.0

Enhancements:
-------------
 1. Request:    Add support for SLES15SP1.

Version 8.40.16.0 (Jan 18, 2019)
================================
Internal FW 8.40.24.0

Version 8.40.15.0 (Jan 11, 2019)
================================
Internal FW 8.40.24.0

Version 8.40.14.0 (Dec 21, 2018)
================================
Internal FW 8.40.24.0

Enhancements:
-------------
 1. Request:    Change all doorbells of type DB_AGG_CMD_SET to DB_AGG_CMD_MAX.

Version 8.40.13.0 (Nov 26, 2018)
================================
Internal FW 8.40.23.0

Version 8.40.12.0 (Nov 05, 2018)
================================
Internal FW 8.40.23.0

Enhancements:
-------------
 1. Request:    Implement LDPM in kernel fast path.

Version 8.40.11.0 (Oct 12, 2018)
================================
Internal FW 8.40.23.0

Version 8.40.10.0 (Oct 05, 2018)
================================
Internal FW 8.40.23.0

Fixes:
------
 1. Problem:    perftest crashed with NULL pointer dereference
                when running over iWARP without rdma_cm.

    Change:     fix qedr_modify_qp to avoid running RoCE specific code
                over iWARP.

    Introduced: Day 1.

    Relevance:  iWARP.

Version 8.40.9.0 (Sep 07, 2018)
===============================
Internal FW 8.40.23.0

Version 8.40.8.0 (Aug 31, 2018)
===============================
Internal FW 8.40.23.0

Version 8.40.7.0 (Aug 26, 2018)
===============================
Internal FW 8.40.23.0

Fixes:
------
 1. Problem:    Advertised wrong capabilities in some cases.

    Change:     Fix max_map_per_fmr and page_size_cap values.
                Fix correct value of page_size.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    iSER_Read regression test failed.

    Change:     Fix typo - chain allocation should be for RQ instead of for SQ.

    Introduced: 8.40.6.0.

    Relevance:  Kernel ULP's over IWARP.

Version 8.40.6.0 (Aug 03, 2018)
===============================
Internal FW 8.40.22.0

Enhancements:
-------------
 1. Request:    Use new chain APIs qed_chain_alloc()/qed_chain_params_init().

Version 8.40.5.0 (Jul 27, 2018)
===============================
Internal FW 8.40.22.0

Enhancements:
-------------
 1. Request:    Implement performance optimization for huge pages.

Version 8.40.4.0 (Jul 13, 2018)
===============================
Internal FW 8.40.21.0

Fixes:
------
 1. Problem:    Trying to delete a db_rec entry that doesn't exist.

    Change:     Fix create CQ error flow.

    Introduced: Day 1.

    Relevance:  All.

Version 8.40.3.0 (Jun 08, 2018)
===============================
Internal FW 8.40.18.0

Version 8.40.2.0 (May 30, 2018)
===============================
Internal FW 8.40.18.0

Enhancements:
-------------
 1. Request:    Add retpoline spectre meltdown support.

Version 8.40.1.0 (May 07, 2018)
===============================
Internal FW 8.40.18.0

Fixes:
------
 1. Problem:    CQ101413 - Fastlinq Compilation error may occur in some
                environments.

    Change:     Add required config for rdma.

    Introduced: Day 1.

    Relevance:  Proprietary kernels.

 2. Problem:    CQ100813 - OpenMPI:Intel IMB benchmark fails over RDMA bonding.

    Change:     Return master bonding device on qedr get_netdev function.

    Introduced: 8.33.7.0 (RoCE Lag day 1).

    Relevance:  RoCE Lag.

 3. Problem:    CQ100901 - Issue Description: Driver compilation failure in
                RHEL6.10 alpha.

    Change:     Fix Makefile.

    Introduced: Day 1.

    Relevance:  RHEL6.10+.

Version 8.40.0.0 (Apr 19, 2018)
===============================
Internal FW 8.40.18.0

Fixes:
------
 1. Problem:    CQ100268 - Qedr compilation failed for OFED4.8-2 on SLES12SP3.

    Change:     Fix Makefile.

    Introduced: SLES12SP3 with OFED4.8-2.

    Relevance:  OOB compilation.

Enhancements:
-------------
 1. Request:    Add initial support for E5.

 2. Request:    Remove support for memory window type 2A.
                Add support for memory window type 2B.
                Remove memory window module parameter.

 3. Request:    Add support for XRC.

Version 8.33.14.0 (Mar 25, 2018)
================================
Internal FW 8.33.13.0

Version 8.33.13.0 (Mar 13, 2018)
================================
Internal FW 8.33.13.0

Version 8.33.12.0 (Mar 05, 2018)
================================
Internal FW 8.33.12.0

Fixes:
------
 1. Problem:    CQ99434 - RH7.5 kernel panic when probing qedr.

    Change:     Initialize dma_device properly according to RH7.5 changes.

    Introduced: RHEL7.5.

    Relevance:  RoCE/iWARP.

Version 8.33.11.0 (Feb 14, 2018)
================================
Internal FW 8.33.11.0

Fixes:
------
 1. Problem:    CQ99061 RoCE: Changed MTU value is not reflected in ibv_devinfo
                if MTU is changed with qedr loaded.

    Change:     Set MTU differently for iWARP and RoCE.

    Introduced: 8.33.2.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Add support for memory windows type 2A. Feature is enabled
                by module parameter.

 2. Request:    Fix sparse warnings about making symbols static.
                Added debug_msglvl to struct qedr_dev.
                Made symbols static.

Version 8.33.10.0 (Jan 15, 2018)
================================
Internal FW 8.33.10.0

Version 8.33.9.0 (Jan 15, 2018)
===============================
Internal FW 8.33.8.0

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

Version 8.33.7.0 (Jan 04, 2018)
===============================
Internal FW 8.33.8.0

 1. Problem:    User space applications fail with the "stack smashing" or
                "Segmentation fault (core dumped)". The latter is accompanied
                with a "unhandled level 3 translation fault" in the dmesg.

    Change:     Limit the amount of data copied to user space to the number of
                allocated bytes.

    Introduced: Day 1.

    Relevance:  RDMA.

 2. Problem:    Modify SRQ fails due to uninitialized max_wr.

    Change:     Initialize max_wr.

    Introduced: Day 1.

    Relevance:  RDMA.

Enhancements:
-------------
 1. Request:    Remove obsolete and redundant dev_caps.

 2. Request:    Support RoCE LAG mode over ethernet LACP bonded device.

 3. Request:    Add support for RDMA SRQ async events.

 4. Request:    Fix warnings found by sparse tool.

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

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

 1. Problem:    iWARP maximum inline is treated as RoCE's maximum. However
                RoCE's maximum inline data is larger than iWARP's.

    Change:     When using iWARP, use iWARP's maximum inline data.

    Introduced: Day 1.

    Relevance:  iWARP.

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

Enhancements:
-------------
 1. Request:    Add SRQ counters.

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

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

Fixes:
------
 1. Problem:    CQ94136 - ipv6 rping over iWARP failing.

    Change:     Fix call to ipv6 destination neighbor lookup.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    Interoperability issues when running with port-mapper enabled.

    Change:     Use mapped port during connection establishment.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ95592 iWRAP: Changed MTU should be displayed in ibv_devinfo
                only after qedr driver reload.

    Change:     Replace ndev->mtu with iwarp_max_mtu.

    Introduced: Day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Add iwarp_cmt module parameter to enable iWARP in CMT mode.

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

Fixes:
------
 1. Problem:    QPs that should be configured with timeout values lower than 1
                msec are actually configured with infinite timeout.

    Change:     Configure timeouts of less than 1 msec to 1 msec.

    Introduced: 8.6.1.0.

    Relevance:  RDMA.

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

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

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

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

Fixes:
------
 1. Problem:    Allocation failure of iWARP user queues didn't return an error.

    Change:     Return "no  memory" indication.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    MAC addresses are not necessarily aligned to 16 bits. This
                means that the use of ether_addr_copy() is less effective.

    Change:     ForceMAC addresses to be aligned to 16 bits.

    Introduced: Day 1.

    Relevance:  RDMA.

 3. Problem:    Failure to add a device due to lack of interrupts/CNQs would
                yield a successful (zero) return code.

    Change:     Set return code to a non-zero value.

    Introduced: Day 1.

    Relevance:  RDMA.

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

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

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

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

Fixes:
------
 1. Problem:    CQ94088 - Server crash running FIO stress with
                iwarp NFSoRDMA.

    Change:     Race condition in poll_cq, fixed by protecting
                variable intialization with lock.

    Introduced: Day 1.

    Relevance:  RDMA.

 2. Problem:    CQ94820 - RoCE rdma_cm tests do not run with VLAN. Getting:
                gsi post send: failed to get cached GID (port=0, ix=0).

    Change:     Parse Correctly VLAN ID.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Opcodes WRITE, SEND with immediate should fail gracefully
                over iWARP.

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

Fixes:
------
 1. Problem:    Cont00093429 - Upstream: Error message displayed with NFSoRDMA
                v3.

    Change:     Fix race in QP state.

    Introduced: Day 1.

    Relevance:  RDMA.

 2. Problem:    Cont00094779 - RHEL7.4/SLES12SP3:OFED applications fail with OOB
                fastlinq driver using inbox libqedr.

    Change:     Return success on doorbell allocation failure.

    Introduced: 8.30.1.0.

    Relevance:  RDMA User space.

Version 8.30.5.0 (June 22, 2017)
================================
Internal FW 8.30.8.0

Enhancements:
-------------
 1. Request:    Publish board's name and revision.
                Publish FW version in older kernels (not supporting the newer
                verb get_dev_fw_str).

Version 8.30.4.0 (June 08, 2017)
================================
Internal FW 8.30.7.0

Fixes:
------
 1. Problem:    IPv6 rping over iWARP failing.

    Change:     Missing define for ipv6.

    Introduced: 8.30.3.0.

    Relevance:  iWARP.

 2. Problem:    CQ94136 - IPv6 rping over iWARP failing for RH7.3.

    Change:     Need to pass correct net structure to ip6 routing functions.

    Introduced: Day1.

    Relevance:  iWARP.

 3. Problem:    Null pointer dereference in an NVMe scenario.

    Change:     Verify network device pointer is valid before checking vlan ID.

    Introduced: Day1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Add support for 64KB kernel page size.

Version 8.30.3.0 (May 24, 2017)
===============================
Internal FW 8.30.5.0

Version 8.30.2.0 (May 04, 2017)
===============================
Internal FW 8.30.4.0

Fixes:
------
 1. Problem:    CQ93256 - Add iWARP IPv6 support on RHEL6.X versions.

    Change:     Implement neighbor lookup for ipv6 on RH6.X.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    uDAPL tests fail to run exposed issue on kernel.

    Change:     Set byte_len parameter correctly in RDMA_READ requests.

    Introduced: Day 1.

    Relevance:  iWARP/RoCE.

 3. Problem:    Dumping qedr statistics may cause kernel crash on when removing
                the module.

    Change:     Fix memory corruption.

    Introduced: 8.10.4.0.

    Relevance:  iWARP/RoCE.

Enhancements:
-------------
 1. Request:    Apply integration testing feedback to DCQCN. Change module
                parameters semantic to standard units.

 2. Request:    Add iWARP doorbell recovery.

 3. Request:    Split the debugfs statistics into multiple files.

 4. Request:    RoCE: add DCQCN statistics support.

Version 8.30.1.0 (Apr 06, 2017)
===============================
Internal FW 8.30.1.0

Fixes:
------
 1. Problem:    NULL pointer dereference during qede recovery.

    Change:     Stop iWARP operations under qede recovery.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    CQ92837 - list del corruption.

    Change:     Increase timeout when waiting for connection complete.
                was not enough for tcp timeout.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ92838 - "No such file or directory" error during the install.

    Change:     Fix copying incorrect file in Makefile.

    Introduced: 8.30.0.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Support Doorbell overflow recovery.

 2. Request:    Expose modules parameters with read permissions under
                /sys/module/qedr/parameters/.

Version 8.30.0.0 (Mar 09, 2017)
===============================
Internal FW 8.30.0.0

Fixes:
------
 1. Problem:    CQ91749 - iWARP-iSER: FW assertion during discovery.

    Change:     Fix driver to handle timeout correctly.

    Introduced: Day 1.

    Relevance:  iWARP.

 1. Problem:    CQ90809/CQ90793 - qed/qede driver fails to load after reboot in
                SLES11sp4 OS and SLES12sp1 OS.

    Change:     Added support to update initrd while installing qed/qede/qedr
                modules.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Atomic capabilities are improperly verified.

    Change:     Check root complex capabilities; Check PCIe device control
                register's atomic egress block is cleared in the path.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ90929 - FW assertion while copying large files using NFSoRDMA.

    Change:     Access flags weren't set properly in FMR wqe.

    Introduced: Day 1.

    Relevance:  iWARP / RoCE fmr.

 4. Problem:    RDMA application hangs.

    Change:     Output the number of WIDs an application can use so the
                application can verify that it is giving a doorbell in the valid
                range.

    Introduced: 8.18.9.0.

    Relevance:  RDMA.

 5. Problem:    MTU change on ethtool should be blocked for iWARP due to
                preallocated resources and the fact that open connections can't
                be updated.

    Change:     Add a log message when mtu is changed and require load/unload
                for qedr for mtu change to take effect.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    Remote graceful disconnect is always replied with abortive
                disconnect.

    Change:     Fix driver to respond graceful to remote graceful disconnect.

    Introduced: 8.18.7.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Gracefully fail loading iWARP device over 100g configuration.

 2. Request:    Add rx unalign statistic for iWARP.

 3. Request:    iWARP - set default receive window size to 256K instead of 1M.

 4. Request:    Add qedr statistics for send and recv verbs.

 5. Request:    Insert UDP source port to RoCE v2 packets. This is controllable
                via a module parameter.

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

Enhancements:
-------------
 1. Request:    Add user-space support for doorbell per CPU.

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

Version 8.18.7.0 (Dec 29, 2016)
===============================
Internal FW 8.18.9.0

Enhancements:
-------------
 1. Request:    Set a QP's max_inline_data to the maximum.

 2. Request:    iWARP support for MPA reject flow.

 3. Request:    iWARP support for RTR type read.

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

Fixes:
------
 1. Problem:    Even if the doorbell BAR isn't configured to accomodate EDPM
                doorbells, the library can still try to produce EDPM packets.

    Change:     Added a mechanism to detect if the doorbell BAR was configured
                to support EDPM packets. The library will use it to determine
                if to attempt sending a packet via EDPM.

    Introduced: Day 1.

    Relevance:  EDPM.

 2. Problem:    NFSoRDMA crashed the server. It seems that the IRQ handler of
                the associated CNQ was invoked after the CQ was destroyed and
                called the completion handler of the CQ.

    Change:     Don't invoke completion handlers for a destroyed CQ. And wait
                for all relevant CNQ interrupts before freeing the CQ.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

 3. Problem:    Missing support send+invalidate in poll CQ.

    Change:     Added such support.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

Enhancements:
-------------
 1. Request:    iWARP: Add support for Read with invalidate.

 2. Request:    Use variable of type __u8/16/32/64 for driver/library API.
                This aligns the library with the upstream version hence
                increasing the ABI version to 8 (as in upstream).

Version 8.18.5.0 (Dec 05, 2016)
===============================
Internal FW 8.18.6.0

Fixes:
------
 1. Problem:    Memory allocation in the user queue flow (SQ/RQ/CQ) isn't
                checked for failure.

    Change:     Check if memory allocation was successful, if not - fail the
                function.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    RoCE error statistics appear on iWARP device.

    Change:     Don't print RoCE error statistics over iWARP devices.

    Introduced: 8.18.3.0.

    Relevance:  iWARP.

 3. Problem:    Destroying a QP in ERROR, INIT or RESET would execute the wrong
                flow because the QP state was checked against an ORed bitmap of
                the states, even though they are not 2^n.

    Change:     Check each QP state explicitly.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    A READ verb with IB_SEND_INLINE may be illegally configured.

    Change:     Don't configure READ verb with inline.

    Introduced: Day 1.

    Relevance:  All.

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

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

Enhancements:
-------------
 1. Request:    iWARP: Add support for MPA Rev2. Additional module parameters
                added for configuring MPA mode ( peer2peer, rtr_type,
                mpa_enhanced. (See description in README file ).

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

Fixes:
------
 1. Problem:    The 'cqe' field in the 'cq' is not configured.

    Change:     Configure the number of CQEs when creating a CQ.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

Enhancements:
-------------
 1. Request:    Support RoCE error statistics.

Version 8.18.2.0 (Nov 13, 2016)
===============================
Internal FW 8.18.3.0

Fixes:
------
 1. Problem:    Memory leak on GSI QP creation failure.

    Change:     If GSI QP creation fails release QP resource.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

 2. Problem:    On SRQ creation error, the input parameters to the function
                destroying the SRQ from QED were badly reset before invoking it.

    Change:     Zero the input parameters correctly.

    Introduced: 8.10.3.0.

    Relevance:  SRQ.

 3. Problem:    On PD deallocation if PD is NULL no error is returned.

    Change:     Return error if PD is NULL.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

Enhancements:
-------------
 1. Request:    Configure PBL table during configuration rather than run-time.

 2. Request:    iWARP: Add rxmit statistics.

Version 8.18.1.0 (Oct 30, 2016)
===============================
Internal FW 8.18.1.0

Fixes:
------
 1. Problem:    Server hangs when running iWARP applications on RH6.8.

    Change:     Driver decreased neighbor reference count even though it was
                not increased causing kernel to hang when trying to destroy
                the neighbor object.

    Introduced: iWARP Day 1.

    Relevance:  iWARP.

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

Fixes:
------
 1. Problem:    Private data not passed with cm event.

    Change:     Fix implementation to pass the private data in cm event.

    Introduced: iWARP Day 1.

    Relevance:  iWARP.

 2. Problem:    MTU value returned when querying the QP was lower than it should
                be.

    Change:     Use a proprieteary function to translate the number of MTU bytes
                to the supported MTU enum value.

    Introduced: Day 1.

    Relevance:  RoCE.

 3. Problem:    Trying to open more QPs than device supports results in NULL
                pointer reference.

    Change:     Fix driver code to correctly set return code on failure.

    Introduced: 8.14.1.0.

    Relevance:  RoCE and iWARP User applications.

 4. Problem:    Memory leak if failed to allocate PD.

    Change:     Free allocation on failure.

    Introduced: Day 1.

    Relevance:  RoCE and iWARP User applications.

 5. Problem:    Memory leak if failed to allocate FRMR page list.

    Change:     Free allocation on failure.

    Introduced: Day 1.

    Relevance:  RoCE and iWARP User applications.

 6. Problem:    WC status is returned with status OK if the CQE status was not
                recognizes.

    Change:     Configure WC status to general error.

    Introduced: Day 1.

    Relevance:  RoCE and iWARP User applications.

 7. Problem:    WC error vendor field contains junk.

    Change:     Set it to zero.

    Introduced: Day 1.

    Relevance:  RoCE and iWARP User applications.

Enhancements:
-------------
 1. Request:    iWARP: expose module parameters to control keep alive, delayed
                ack, timestamp, receive window scale and crc.

 2. Request:    Support upstream get_dev_fw_str() verb.

Version 8.14.4.0 (Sep 18, 2016)
===============================
Internal FW 8.14.7.0

Version 8.14.3.0 (Sep 07, 2016)
===============================
Internal FW 8.14.6.0

 1. Problem:    QEDE recovery will hang if a RoCE application is running.

    Change:     Don't attempt de-registering from OFED during qede recovery. But
                do stop QEDR operations, wait for the user to close the
                application and remove and re-probe the driver to normal
                operations (see also feature below).

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Posting of send requests didn't conform to the protocol.

    Change:     Allow post send only if in RTS, SQD or ERR QP state.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Basic user space QEDR recovery handling.

 2. Request:    Remove redundant completion handler lock (CQ completion handler
                won't run in parallel anyhow).

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

Fixes:
------
 1. Problem:    RDMA CM scenarios consistenly failed on function 0, and
                reloading qedr or setting the enet device down and then up
                resolves the issue.

    Change:     Dispatch port active event from QEDR, if required.

    Introduced: Day 1.

    Relevance:  RDMA CM.

 2. Problem:    Disabling an NVMf namespace hangs the application.
                Pulling the interface down during iSER traffic hangs the
                application.

    Change:     Allow posting WR even if the WQ is in error state and don't
                supress the flush indications (CQEs).

    Introduced: Day 1.

    Relevance:  ULPs.

Version 8.14.1.0 (Aug 14, 2016)
===============================
Internal FW 8.14.3.0

Enhancements:
-------------
 1. Request:    Add support for iWARP (phase-1).

Version 8.14.0.0 (Jul 31, 2016)
===============================
Internal FW 8.14.1.0

Enhancements:
-------------
 1. Request:    Improving robustness by checking QP signature before using a QP
                handle received from the FW.

 2. Request:    Remove unused parameter of loopback indication from RoCE API.

Version 8.10.8.0 (Jul xx, 2016)
===============================
Internal FW 8.10.8.0

Fixes:
------
 1. Problem:    NVMf crashed the server while using Shared receive queue.

    Change:     Configure qp->rq_cq and rq_cq_id even though shared receive
                queue is used by ULP. Initially these value were set only
                for regular QP's.

    Introduced: 8.10.3.0.

    Relevance:  Shared receive queue.

Enhancements:
-------------
 1. Request:    Add support for RDMA CM loopback.

Version 8.10.7.0 (Jun 10, 2016)
===============================
Internal FW 8.10.8.0

Fixes:
------
 1. Problem:    NFSoRDMA crashed the server; NVMf crashed the server.

    Change:     Always configure the the wr_id fields in the Work Completion
                (WC) since it seems even if the work completed with an error the
                verb consumer expects this value to be valid.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Removed the roce_ll2_mode module parameter.

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

Fixes:
------
 1. Problem:    The MR (TID) registration function returned to the user before
                the registration was complete in the FW (the ramrod was sent
                in a non-blocking manner so the verb consumer was informed of
                success before a completion was received from the FW).

    Change:     Removed the possibility for non-blocking a.k.a. concurrent
                registration of TID registration. The latency issue that started
                this effort to begin with was mitigated by lowering the ramrod
                completion wait time in ecore SPQ.

    Introduced: 8.7.0.0.

    Relevance:  Verbs consumers that register MRs.

 2. Problem:    QEDR registration with OFED is performed before the IRQs are
                configured.

    Change:     First request the IRQs and only then register QEDR with OFED.

    Introduced: 8.4.0.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Added the roce_ll2_module parameter to configure if LL2 roce
                mode should be configured to RoCE v1/v2 IPv4/6.

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

Fixes:
------
 1. Problem:    iSER initiator crashes in remote invalidate  even though remote
                invalidate flag wasn't set in the WC.

    Change:     Clear the WC flags. Just in case used memset to zero on other
                non fast path flows in query verbs.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    RoCE v2 support for upstream kernel (and removed "Experimental
                RoCE v2").

Version 8.10.4.0 (May 26, 2016)
===============================
Internal FW 8.10.5.0

Enhancements:
-------------
 1. Request:    GSI offload feature - from now QEDR GSI traffic will be
                offloaded by the FW.

 2. Request:    Allow the user to dump driver information. Specifically the roce
                mode - RoCE v1, RoCE v2 IPv4 and IPv6.

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

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

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

Enhancements:
-------------
 1. Request:    Support RoCE counters.

 2. Request:    Allocate SQ, RQ and CQ from user space rather than kernel space.

 3. Request:    Add support for RDMA Queue Statistics.

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

Fixes:
------
 1. Problem:    CQ00084183 - E4 2015-U2: iSER - Maim I/O stops on running with
                "-Q16" option on RHEL7.2.
                CQ00084228 - E4:iSER: Target system crashes while running IO
                traffic for different test scenarios.

    Change:     Create an SQ larger than requested to handle scenario where
                iSER pushes more WRs than were originally requested on QP
                creation.

    Introduced: 8.7.6.0.

    Relevance:  All.

 2. Problem:    Cont0084907 - E4 2015-U2 RoCE: qedr compilation failed in
                SLES11-SP4 with outbox OFED 3.18-1.
                Cont0080073 - E4:RoCE: qedr compilation failed in SLES12 with
                outbox OFED-13.2-1/3.18GA/3.18-1GA.

    Change:     Added missing includes to Makefile.

    Introduced: Day 1.

    Relevance:  SLES11SP4, SLES12.

 3. Problem:    CQ84544 - E4-iSER:2x25G: "error: WQ is full. Post send on QP
                ffff880fda2d8c00 failed", PAIN IO failed for specific
                combination of Targets, block sizes and Threads.

    Change:     Added module parameter wq_multiplier with a default of 3. Number
                of WR in SQ is multiplied by it.

    Introduced: 8.7.6.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Comment out fast path debug prints.

 2. Request:    Remove obsolete module parameters oversized_cq, oversized_sq
                and oversized_rq.

 3. Request:    Add LL2 statistics.

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

Enhancements:
-------------
 1. Request:    Enforce a CNQ size limit according to ECORE.

 2. Request:    Comment out fast path debug prints.

Version 8.7.7.0 (Jan 07, 2016)
==============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    Cont0084053 - E4 2x25G 2015U2: ib_read_bw exits with
                "Segmentation fault (core dumped)" when "--run_infinitely"
                option is used.

    Change:     Created a larger ECORE chain for the CQ.

    Introduced: 8.7.4.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Pass build and modprobe in RHEL 6.2.

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

Enhancements:
-------------
 1. Request:    Pass modprobe with RHEL 7.2.

 2. Request:    Introduce QEDR attributes, that are derived from QED RoCE
                Attributes.

 3. Request:    Increase WQ size from u16 to u32.

 4. Request:    Increase MAX CQE size to maximum possible.

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

Fixes:
------
 1. Problem:    Improper storage of doorbell size (a 32 bit field is stored in
                a 16 bit field).

    Change:     Store doorbell size in a 32 bit field.

    Introduced: Day 1.

    Relevance:  All.

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

Fixes:
------
 1. Problem:    The number of allocated CQ elements was larger than requested by
                one CQE.

    Change:     Allocate the exact number of CQ elements requested.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    A WQ was created with depth less than requested.

    Change:     When a user requests a WQ that is larger than the maximum
                supported depth the actual WQ that will be generated will have
                the maximum possible capacity.
                Two module parameters have been added to control this behavior:
                oversized_sq and oversized_rq.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    NULL pointer dereference when using a pointer returned from FW.

    Change:     Check the pointer before derefenecing it.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    RoCE v2 support.

 2. Request:    Pass compilation with RHEL 7.2.

 3. Request:    Pass compilation with SLES 12 SP1.

 4. Request:    Use 32 bit completion queue instead of 16 bit. Note that this
                makes module parameter oversized_cq obsolete, hence it was
                removed.

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

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

Version 8.7.1.0 (Nov 09, 2015)
==============================
Internal FW 8.7.0.0

Fixes:
------
 1. Problem:    Cont00082495: E4 40gb RDMA qperf Crashing the client.

    Change:     A minimal SQ/RQ is created even if the user requested a zero
                sized queue.

    Introduced: Day 1.

    Relevance:  All.

Version 8.7.0.0 (Nov 05, 2015)
==============================
Internal FW 8.7.0.0

Enhancements:
-------------
 1. Request:    Reintroduce enhancement for Cont00081796 - speed up NFS over
                RoCE mount time. Configure ecore roce tid to be invoked in non-
                blocking mode.

Version 8.6.1.0 (Oct 29, 2015)
==============================
Internal FW 8.6.1.0

Fixes:
------
 1. Problem:    Cont00082856: E4 drivers are not getting installed through
                source tarball installtion when there are other instance of
                driver present on RHEL distro.

    Change:     On RHEL distro check for "extra" instead of extra/qlgc-fastlinq
                before placing module in appropriate location.

    Introduced: 8.5.3.0.

    Relevance:  RHEL.

 2. Problem:    Cont00081344: E4:RoCE: rping traffic stops if interface is down,
                traffic should resume once interface is up.

    Change:     Configured 'ack_timeout' according to protocol and HSI
                requirements.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Cont00081507: E4:RoCE:Ramrod stuck while sending bi-directional
                traffic using large QP's:512 or more.

    Change:     Do not allow creating CQs with more than 65,000 entries. This
                can be overridden by the module parameter force_cq.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    Cont00081507: L2 bonding with RoCE:RDMA_CM applications are not
                working over bonding interface.

    Change:     Update LLH MAC filter via LL2.

    Introduced: Day 1.

    Relevance:  All.

Version 8.6.0.0 (Oct 14, 2015)
==============================
Internal FW 8.6.0.0

Version 8.5.9.0 (Oct 08, 2015)
==============================
Internal FW 8.5.6.0

Fixes:
------
 1. Problem:    Driver crashes when non MSI-X interrupts are in use.

    Change:     Fail gracefully when non MSI-X interrupts are in use.

    Introduced: day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    remove support for module parameter "roce_100g" since Everest 4
                revision B0 resolves the issue that was in revision A0, and now
                L2 traffic isn't limited in in throughput when qedr is loaded.

Version 8.5.8.0 (Sep 21, 2015)
==============================
Internal FW 8.5.6.0

Enhancements:
-------------
 1. Request:    Support for returning qp-id to userspace.

Version 8.5.7.0 (Sep 02, 2015)
==============================
Internal FW 8.5.5.0

Enhancements:
-------------
 1. Request:    Support for RoCE asynchronous un-affiliated errors.

Version 8.5.6.0 (Aug 26, 2015)
==============================
Internal FW 8.5.4.0

Fixes:
------
 1. Problem:    Cont00081378 - E4 drivers are placed in wrong location,
                loading from broadcom folder instead of qlogic folder.

    Change:     Place the driver module under qlogic folder.

    Introduced: 8.4.0.0.

    Relevance:  Module installation.

 2. Problem:    Work requests transmitted by EDPM packets weren't signaled
                unless requested specifically. This would happen even if the QP
                was configured to "signal all".

    Change:     Configure EDPM packet to signal either if specifically requested
                or if QP was configured to signal all.

    Introduced: day 1.

    Relevance:  All.

Version 8.5.5.0 (Aug 13, 2015)
==============================
Internal FW 8.5.3.0

Version 8.5.4.0 (Aug 10, 2015)
==============================
Internal FW 8.5.3.0

Enhancements:
-------------
 1. Request:    Update qedr according to ECORE RoCE v2 API changes i.e. rename
                fields.

Version 8.5.3.0 (Jul 26, 2015)
==============================
Internal FW 8.5.2.0

Enhancements:
-------------
 1. Request:    For non SLES distros install the module in the same location as
                rpm would do to set the correct hierarchy of installed modules
                i.e. under extra/qlgc-fastlinq.

Fixes:
------
 1. Problem:    In kernel verb implementation, once req_notify_cq is called,
                every poll_cq call following will lead to a re-arm of the CQ.

    Change:     Reset arm flags once irq is called, and don't re-arm until an
                additional call to req_notify_cq is made.

    Introduced: 8.3.2.0.

    Relevance:  Apps using kernel verbs. iSER however is not affected due to
                they way that iSER works.

 2. Problem:    Kernel crashes when loading qedr.

    Change:     Dispatch IB event only after the device is registered.

    Introduced: 8.5.2.0.

    Relevance:  All.

 3. Problem:    CQ80996 - qedr failed to get installed on SLES11SP4.

    Change:     Add Module.supported file in driver sources.

    Introduced: Day 1.

    Relevance:  SLES11SP4.

Enhancements:
-------------
 1. Request:    EDPM is now enabled by default (support of  environment
                variable QEDR_ENABLE_EDPM has been removed).

Version 8.5.2.0 (Jul 14, 2015)
==============================
Internal FW 8.5.1.0

Fixes:
------
 1. Problem:    qp allocation is not freed in destroy_qp and in error flow in
                create_qp.

    Change:     free qp in destroy_qp and in create_qp error flow.

    Introduced: day 1.

    Relevance:  All.

 2. Problem:    Sometimes a warning appears when modifying a QP about, about
                unexpected flags being set.

    Change:     Don't print anything since the flags being checked aren't
                relevant when modifying a QP, and it is allowed that they'll be
                junk.

    Introduced: day 1.

    Relevance:  All.

 3. Problem:    A GID change doesn't raise the matching OFED GID event.

    Change:     Raise event on GID add and delete.

    Introduced: day 1.

    Relevance:  All.

 4. Problem:    The IB GRH flag is set redundantly.

    Change:     Set the IB GRH flag only in GSI related code.

    Introduced: day 1.

    Relevance:  All.

Version 8.5.1.0 (Jul 05, 2015)
==============================
Internal FW 8.4.2.0

Fixes:
------
 1. Problem:    CQ80509: driver module on SLES 11 SP4 does not load
                automatically after a reboot.

    Change:     lsinitrd related help message pop-up on SLES ditros when
                performing make install with FastLinQ Linux drivers package.
                So first check if initramfs file itself exists before checking
                for the kernel module in initrd image.

    Introduced: 8.4.0.0.

    Relevance:  SLES.

Enhancements:
-------------
 1. Request:    Add support for module installation on Ubuntu.

Version 8.5.0.0 (Jun 25, 2015)
==============================
Internal FW 8.4.2.0

Fixes:
------
 1. Problem:    Memory Leak.

    Change:     Free SGID table when freeing QEDR resources.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Interoperability issue with other vendor when running ib_read_bw
                app.

    Change:     max_qp_rd_atom / max_qp_init_rd_atom capabilities should be
                a power of 2.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Failed to compile on Ubuntu 14 (32 bit).

    Change:     Patched code to support 32 bit pointer conversions. Avoid using
                the writeq function in 32 bit.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    High CPU usage observed while running iSER.

    Change:     Implement performance optimization for FMR flow. Decreases
                CPU utilization in several cases.

    Introduced: 8.3.2.0.

    Relevance:  iSER.

Enhancements:
-------------
 1. Request:    VLAN support.

 2. Request:    CNQ Affinity.

 3. Request:    Module installation enhancements - Install under "updates" in
                case of SuSE and "extra" in case of rest of the distros. Use
                qedr.conf file to override previous driver loads (inbox or thru
                source code). Update the initramfs if driver is already a part
                of it before installation.

Version 8.3.5.0 (May 20, 2015)
==============================
Internal FW 8.3.7.0

Fixes:
------
 1. Problem:    MTU size of 256 wasn't allowed.

    Change:     Allow MTU size of 256.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Failure to registering user memory region can cause
                segmentation fault.

    Change:     Avoid freeing unallocated memory.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Fail loading qedr module over 100g link if specific module
                parameter was not given. This is because loading qedr module
                over 100g link will cause L2 degradation. To load qedr module
                over 100g link run: modprobe qedr roce_100g=1

Version 8.3.4.0 (May 07, 2015)
==============================
Internal FW 8.3.7.0

Fixes:
------
 1. Problem:    OFED performed a read from NULL a address.

    Change:     Update Work Request ID before calling the OFED TX command.

    Introduced: Day 1.

    Relevance:  LL2 clients.


 2. Problem:    RoCE traffic won't work on a system with IOMMU VTD enabled.

    Change:     update driver / lib interface to work with physical addresses
                (rather than bus address). This fixes ONLY RoCE traffic and not
                RDMA-CM.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ79457 - Observed system crash while running rdma_cm
                applications or with "-R" option using Outbox OFED.

    Change:     Memory overrun in driver caused corruption in ofed data
                structures.

    Introduced: 8.3.0.0.

    Relevance:  RDMA-CM.

Version 8.3.3.0 (Apr 29, 2015)
==============================
Internal FW 8.3.6.0

Version 8.3.2.0 (Apr 21, 2015)
==============================
Internal FW 8.3.5.0

Fixes:
------
 1. Problem:    Removed obsolete RoCE HSI field (parent_itid)

    Change:     Update ramrod structure.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    RoCE w/ NPAR scenario failed TX/RX.

    Change:     Updated LLH with MAC addresses on qed_ll2_start().

    Introduced: Day 1.

    Relevance:  LL2 clients.

Enhancements:
-------------
 1. Request:    iSER Support: Initial implementation of all features required
                to support iSER. Tested with tgtd, lio (targetcli).

Version 8.3.1.0 (Apr 08, 2015)
==============================
Internal FW 8.3.4.0

Version 8.3.0.0 (Mar 24, 2015)
==============================
Internal FW 8.3.3.0

Fixes:
------
 1. Problem:    qedr doesn't compile on RH6.6, Fedora, Oracle7, Sles11

    Change:     Fix compilation on these distros.

    Introduced: Day 1.

    Relevance:  RH6.6, Fedora, Oracle7, Sles11

 2. Problem:    CQ78275 - ib_atomic_lat causes crash on setups with no pci
                atomic support.

    Change:     Fail atomic send verbs if atomic is not supported on pci.

    Introduced: Day 1.

    Relevance:  RoCE, atomic.

 3. Problem:    CQ78365 - RoCE: rping traffic stops in Persistent mode/loop.

    Change:     Fix prod/cons comparison in gsi cq poll.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    Loss of L2 connectivity after running RoCE apps with rdma cm.

    Change:     Change hw configuration to use separate internal cache indices
                for l2 packets going to RoCE CM and l2 regular packets.

    Introduced: Day 1.

    Relevance:  RoCE-CM / L2.

Version 8.2.4.0 (Feb 26, 2015)
==============================
Internal FW 8.2.7.0

Version 8.2.3.0 (Feb 12, 2015)
==============================
Internal FW 8.2.4.0

Fixes:
------
 1. Problem:    RDMA-CM based apps don't work with inbox OFED.
                (rdma_server / rcopy etc... )

    Change:     Add support for IP-Based GIDs


    Introduced: Day 1.

    Relevance:  Inbox drivers on CentOS 7.0 and RedHat 7.0

 2. Problem:    rcopy failed for large files.

    Change:     RQ consumer wasn't updated correctly for zero sge
                wqes

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Qedr doesn't compile on net-next

    Change:     Take into account changes done to ib_umem structure

    Introduced: Day 1.

    Relevance:  All.
