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

                          QLogic FastLinQ Ethernet VBD
                For Windows Server 2012, 2012R2, 2016 and 2019

                        Copyright (c) 2010-2020 Marvell.
                              All Rights Reserved.

Version 8.53.1.0 (Jun 03, 2020)
===============================
Internal FW 8.50.16.0

Fixes:
------
 1. Problem:    CQ108835 - Host CPU usage with VMMQ is very high.

    Change:     Default values for RX/TX L2 intrrupts timeouts are updated.

    Introduced: Day 1.

    Relevance:  L2.

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

Fixes:
------
 1. Problem:    CQ105691 - Memory growth occurs on SUT while running traffic
                between max vmmqs and peer.

    Change:     When Promiscuous packet filter is enabled, set loopback packet
                filter to matched UCAST instead of all UCAST.

    Introduced: Day 1.

    Relevance:  VMQ, SRIOV.

Enhancements:
-------------
 1. Request:    Add new Marvell device support.

Version 8.50.11.0 (May 08, 2020)
================================
Internal FW 8.50.16.0

Fixes:
------
 1. Problem:    CQ108678 - Incorrect PSN reported while sending NAKs.

    Change:     [FW] Always report updated PSN to MStorm in Rx-Write paths.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    Case 59059/57286 - PXP error while transmitting using
                PVRDMA's namespaces.

    Change:     [FW] Fix namespace assignment in QP Responder creation.

    Introduced: Day 1.

    Relevance:  RoCE PVRDMA.

 3. Problem:    CQ108564 - FW may assert if RDMA packet, destined to a VF, is
                received during RDMA_RAMROD_FUNC_CLOSE ramrod processing.

    Change:     [FW] Made CFC-delete error assert a non-fatal in case of VF RDMA
                connection.

    Introduced: Day 1.

    Relevance:  VF RDMA.

Version 8.50.10.0 (Apr 28, 2020)
================================
Internal FW 8.50.15.0

Fixes:
------
 1. Problem:    CQ108799 - System Crash while reboot.

    Change:     Skip clearing of IGU FIFO during driver load.

    Introduced: Day 1.

    Relevance:  Miniport bind process.

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

Fixes:
------
 1. Problem:    CQ108705 - Link down on 100G with 8.52.x MFW.

    Change:     Notify Link status from HWFN0 only.

    Introduced: Day 1.

    Relevance:  BB 100G Link.

Version 8.50.8.0 (Apr 21, 2020)
===============================
Internal FW 8.50.15.0

Fixes:
------
 1. Problem:    Crash after unloading and reloading only roce driver.

    Change:     Save the ecore_int_dummy_comp_cb() address to p_hwfn
                to avoid stale entries in pi_info_arr[].

    Introduced: 8.40.5.0.

    Relevance:  All.

 2. Problem:    CQ108553 - System crash in overnight reboot test on multiple
                VMs.

    Change:     Clear VF Timer ILT during FLR.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 3. Problem:    Tx Path stops processing additional packets, effectively timing
                out the Tx Path, in a degenerative (illegal, yet possible) non
                LSO scenario in which
                BD0.data.pkt_len > ETH_TX_MAX_NON_LSO_PKT_LEN.

    Change:     [FW] Fix FW Tx Path flow logic so as to assert on the described
                illegal scenario.

    Introduced: Day 1.

    Relevance:  ETH.

 4. Problem:    CQ108494 - iWARP report generic error in case of incoming send
                that is larger than the RqWqe.

    Change:     [FW] Aligned with RoCE to report a more specific error.

    Introduced: Day 1.

    Relevance:  iWARP.

 5. Problem:    CQ108331 & CQ108266 - Second fix for leaking CIDs when closing
                QPs that haven't exchanged any data.

    Change:     [FW] Fix iWARP QP init flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    FW_ASSERT on failure to translate internal error code to HSI
                one.

    Change:     [FW] Add missing translation for internal error code.

    Introduced: Day 1.

    Relevance:  iWARP.

 7. Problem:    CQ108555 - VF RDMA System crash on multiple reboots of VMs with
                VFs. LL2 VF queues counter not decremented on VF FLR. FW assert
                due to VF queues counter wrap-around.

    Change:     [FW] Fix LL2 VF queues classification enable logic.

    Introduced: 8.50.0.0.

    Relevance:  VF RDMA.

 8. Problem:    If update_rss_ind_table flag set and RSS disable, update has
                no effect. Unused indirect table updated instead.

    Change:     [FW] In case of RSS disable, use rss_id from ramrod data to
                update RSS block configuration.

    Introduced: Day 1.

    Relevance:  ETH (Windows only).

 9. Problem:    CQ108621 - If RQ WQEs contains 3 SGEs and RQ PBL contains more
                than 1 page, crossing RQ page might result in QP error.

    Change:     [FW] Fix how FW handles misc RQ WQE sizes.

    Introduced: Day 1.

    Relevance:  RoCE.

10. Problem:    CQ108450 - RoCE DcQcn could get stuck in for loop in function
                yRoceDcQcnNpSetCnpTimer.

    Change:     [FW] Changing slotidx type to uint16.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Add RDMA reset stats interface to RDMA Provider.

 2. Request:    Add HwID without revision to client PNP node.

 3. Request:    Add API to reset RDMA stats of specific Stats Queue.

Version 8.50.7.0 (Mar 25, 2020)
===============================
Internal FW 8.50.14.0

Fixes:
------
 1. Problem:    Not able to capture dbus RH data.

    Change:     Do not add trigger state when trigger is not enabled.

    Introduced: 8.50.4.0.

    Relevance:  Debug tool.

 2. Problem:    CQ108147 - System crash while disable-enable of VMQ from
                advance property with RDMA traffic on SRIOV MOS is running.

    Change:     Initialize mapping MSI-X messages and SBs on miniport's bind.

    Introduced: Day 1.

    Relevance:  Virtual switch with VMQ disabled.

 3. Problem:    Potential false printouts of TLVs in the SRIOV channel.

    Change:     Fix a mismatch between the channel TLV's array and its
                corresponding string array.

    Introduced: 8.50.2.0.

    Relevance:  SR-IOV / VF-RDMA.

 4. Problem:    QM's PQ getters return invalid values during QM reconf.

    Change:     Lock QM info during reconfiguration.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    BZ1724205 - NIC fails to synchronize to Master clock via unicast
                mode.

    Change:     Add support for Timestamping the L2 unicast PTP packets.

    Introduced: Day 1.

    Relevance:  PTP.

Enhancements:
-------------
 1. Request:    Add new OEM device support.

Version 8.50.6.0 (Feb 25, 2020)
===============================
Internal FW 8.50.14.0

Fixes:
------
 1. Problem:    CQ108117 - System crash is seen while upgrading qevbd with
                NPAR_SRIOV_EP mode enabled.

    Change:     Driver omits surprise remove processing, if HW was already
                released.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ108139 - VMs crash randomly upon advanced property
                disable/enable with Max VFs enumerated on all PFs.

    Change:     Unload/Remove VF flow is tollerant to closed SW VF/PF channel.

    Introduced: Day 1.

    Relevance:  Windows VF in Windows Hyper-V environment.

 3. Problem:    Missing bulletin updates after reload of qenda.

    Change:     Reset the flag bulletin_update_wi_closed.

    Introduced: 8.40.12.0.

    Relevance:  VF Bulletin.

 4. Problem:    CQ107784 - Ping drops in Linux VM after PF load unload on SUT.

    Change:     Add support for VF link propagation.

    Introduced: Day 1.

    Relevance:  Non Windows VM.

 5. Problem:    CQ108123 - System crash seen while disabling NDIS driver while
                running RoCEv2 IPv6 traffic on MOS.

    Change:     Always free IRQ/ORQ on rdma_destroy_qp.

    Introduced: VF-RDMA Day 1.

    Relevance:  RoCE.

 6. Problem:    CQ108268 - System crash upon enabling RDMA on MOS vnics created
                on all NPAR PFs.

    Change:     Make sure that the stats ID of a LL2 queue doesn't exceed the
                total amount of statistics counters.

    Introduced: VF-RDMA Day 1.

    Relevance:  LL2.

 7. Problem:    CQ107597: Back-channel time-outs while disabling VF in
                the guest VM.

    Change:     Reset VF back-channel flags at proper place.

    Introduced: Day 1.

    Relevance:  VF driver unload.

 8. Problem:    Fix firmware assert caused due to an improper ramrod sent
                by the PF on vport stop requested by the VF and there are
                no active vports for that VF.

    Change:     Validate active vports before sending ramrod to FW.

    Introduced: Day 1.

    Relevance:  SR-IOV.

Version 8.50.5.0 (Feb 18, 2020)
===============================
Internal FW 8.50.14.0

Fixes:
------
 1. Problem:    CQ95819 - Error appear when trying to login to Target.

    Change:     [FW] Avoid verifying the RSP payload length.

    Introduced: Day 1.

    Relevance:  FCoE.

 2. Problem:    Ecn packets may lead to stuck Rx pipe.

    Change:     [FW] Disable nig -> ysem interface.

    Introduced: Day 1.

    Relevance:  BB Ecn.

 3. Problem:    QM reconf fails acquiring MFW lock while mcp is halted.

    Change:     Retry acquiring MFW lock until success/timeout.

    Introduced: 8.50.2.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add interface for tools to get enhanced system lockdown
                capabilities.

 2. Request:    Update OEM device friendly name.

 3. Request:    Expose dif block size and dif on host enable flags to iscsi
                ecore clients.

Version 8.50.4.0 (Feb 04, 2020)
===============================
Internal FW 8.50.13.0

Fixes:
------
 1. Problem:    CQ107550 - WinEdiag:DBG Trigger is not working.

    Change:     Removed undesired block id validation before adding trigger.

    Introduced: Day one.

    Relevance:  Debug tool.

 2. Problem:    CQ107784 - VF-RDMA: Windows2k19 VM crashes on Linux Hypervisor
                while running IO on SMB RAMDisk.

    Change:     Add support to specify starting CNQ SB id from VF driver.

    Introduced: Day 1.

    Relevance:  VF RDMA.

 3. Problem:    CQ107699 - After update Firmware to 08.50.27 some servers fails
                to boot to OS.
                CQ108004 - System crash when SRIOV enabled on few partitions
                and disabled on few partitions using OneView.

    Change:     Reset all the ILT blocks at the beginning of ILT compute - this
                is done in order to prevent memory allocation for irrelevant
                blocks afterwards (e.g. VF timer block after disabling VF-RDMA).

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 4. Problem:    VF QP's are incorrectly set to loopback mode.

    Change:     Reset the QP structure before filling it with information from
                the channel.
                In addition, add force_lb field to the channel_qp structure.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 5. Problem:    CQ107784 - VF-RDMA: Windows2k19 VM crashes on Linux Hypervisor
                while running IO on SMB RAMDisk.

    Change:     Add new field cnq_sb_start_id and a corresponding capability
                VFPF_RDMA_ACQUIRE_CAP_CNQ_SB_START_ID in the rdma_acquire
                request message. This field (together with the capability bit)
                should be set by the VF in order to indicate to the PF what is
                the first status block which will be used for CNQs.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 6. Problem:    ecore_hw_init returns wrong return code when allocating
                fw_overlay_mem fails.

    Change:     Fix return code.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    CFC write-back after ILT lines are freed.

    Change:     [FW] Reinstate CFC delete in VF function close flow as best
                effort.

    Introduced: 8.42.0.0.

    Relevance:  ROCE SRIOV.

 8. Problem:    CQ108160 - Incoming PDUs are being placed in Rx queues causing
                the driver out of order handling.

    Change:     [FW] Change Rx Flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

Enhancements:
-------------
 1. Request:    Percolate vf_id_valid bit to RoCE create requester/responder
                ramrods.

 2. Request:    VF soft FLR support.

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

Fixes:
------
 1. Problem:    CQ107844 - SYN packets keep receiving on the LL2 queue
                constantly when ECN and iWRAP is enabled.

    Change:     [FW] Ignore ECE and CWR flags in loop back iWARP SYN detection
                logic.

    Introduced: FW 8.42.3.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    [FW] Support RoCE PVRDMA DPT.

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

Fixes:
------
 1. Problem:    Register access errors observed in MS block static debug
                related writes.

    Change:     [FW] Skip MS block static debug register writes in debug tools.

    Introduced: 8.18.0.0.

    Relevance:  Debug Data Collection.

 2. Problem:    Incorrect error handle of RX queue producer update fail.

    Change:     [FW] Fix FW flow.

    Introduced: 8.40.25.0.

    Relevance:  LL2.

 3. Problem:    CQ107759 - VFRDMA-Driver compatibility test: RDMA interfaces are
                down on VM with driver 8.42.9.0 and 8.50.12.0 driver on HV.
                CQ107751 - VM-Failed to start VPORT: HV using 8.42.9.0 driver
                and GuestOS using 8.50.12.0.

    Change:     Move SRQ related TLVs to the end of the list.

    Introduced: 8.45.0.1.

    Relevance:  VF-RDMA.

 4. Problem:    ExpCmdSn and MaxCmdSn didn't advance on non-first R2T PDUs.

    Change:     [FW] Fix iSCSI Target Tx flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 5. Problem:    Leaking CIDs when closing QPs that haven't exchanged any data.

    Change:     [FW] Fix iWARP QP init flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    Potential memory leak in case eq_list_lock allocation fails.

    Change:     Release p_sriov structure before returning with error.

    Introduced: Day 1.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    Remove two part ID INF profiles of obsolete devices.

 2. Request:    [FW] Add support for forcing a QP to send data to the loopback.

Version 8.50.1.0 (Nov 12, 2019)
===============================
Internal FW 8.42.4.0

Enhancements:
-------------
 1. Request:    Add support for HW PTP Timestamping.

 2. Request:    Add support for USO.

Version 8.50.0.0 (Nov 06, 2019)
===============================
Internal FW 8.42.4.0

Fixes:
------
 1. Problem:    CQ106711 - DCBx-Remote traffic classes are not displayed when
                DCBx set as CEE and priority set to Strict on switch.

    Change:     Re-map Pri with PG15 to next free strict TC.

    Introduced: Day 1.

    Relevance:  DCBX.

 2. Problem:    CQ107542 - "mcp enable_don" doesn't work over windows driver.

    Change:     Support needed internal tool in bus driver.

    Introduced: Day 1.

    Relevance:  Winediag.

 3. Problem:    Async EQE VF ID was not initiated.

    Change:     [FW] Init eqe.vfId.

    Introduced: Day 1.

    Relevance:  RoCE VF-RDMA / SRQ.

 4. Problem:    ILT dump feature reading wrong memory addresses leading to
                wrong content, possible crash and parse failure.

    Change:     [FW] Correct the calculation of ILT dump size and content.

    Introduced: 8.40.26.0 (ILT Dump day 1).

    Relevance:  Debug data collection.

 5. Problem:    CQ107256 - SYN packets not passing to Ll2 when ECN is enabled.

    Change:     [FW] Ignore ECE and CWR flags in the iWARP SYN flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    VF <-- PF Timeout on the channel.

    Change:     Fix the VF sleep duration on the channel while it waits for PF
                response.

    Introduced: 8.42.4.0.

    Relevance:  SRIOV.

 7. Problem:    In non-LSO-only scenarios, a delay may be formed in the BD
                consumer update frequency to host being too low.

    Change:     [FW] Fix BD Consumer update logic.

    Introduced: 8.42.0.0.

    Relevance:  ETH.

 8. Problem:    CQ106961 - Fatal FW assertion in case of single-frame
                exchange payload overflow.

    Change:     [FW] Detect overflow and report error to the driver.

    Introduced: Day 1.

    Relevance:  FCoE.

 9. Problem:    CQ107318: One time Firmware assertion during load/unload
                after running RoCE traffic.

    Change:     Prevent processing MFW events after unload request is sent.

    Introduced: Day one.

    Relevance:  Unload flow.

Enhancements:
-------------
 1. Request:    Change implementation OSAL_TEST_BIT to atomic.

 2. Request:    Add flag in INF to rename in-use file.

 3. Request:    Add NVM cfg command support for applications.

 4. Request:    Clear CFC WEAK_ENABLE register on graceful VF close, so that
                context loads from parser due to incoming packets will result
                with a load-cancel rather than context load which can clash with
                CFC delete flow which FW instigates on VF close.

 5. Request:    Support VF-RDMA SRQ's.

Version 8.42.10.0a (Oct 23, 2019)
=================================
Internal FW 8.42.1.0

Enhancements:
-------------
 1. Request:    Add new OEM device support.

Version 8.42.10.0 (Sep 25, 2019)
================================
Internal FW 8.42.1.0

Fixes:
------
 1. Problem:    CQ107332 - BSOD seen when VBD and miniport are incompatible.

    Change:     Added proper check in miniport bind to VBD path.

    Introduced: 8.42.8.0.

    Relevance:  Incompatible VBD and Miniport only.

Version 8.42.9.0 (Sep 20, 2019)
===============================
Internal FW 8.42.1.0

Fixes:
------
 1. Problem:    Internal tool: System crash on getting RDMA resource info.

    Change:     Corrected interface mismatch.

    Introduced: 8.33.11.0.

    Relevance:  Debug tool only.

 2. Problem:    Crash on driver load.

    Change:     Do not invoke IOV DB recovery handler before iov struct was
                allocated.

    Introduced: VF Doorbell Recovery day 1.

    Relevance:  All.

 3. Problem:    CQ107255 - FW assertion when RDMA mode is disabled in HII and
                SR-IOV VFs are created in OS.

    Change:     Disable RDMA for VF in case personality isn't RoCE.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 4. Problem:    CCQ107256 - E4 TCP connections failure to VMs when iWARP
                enabled.

    Change:     Fix iWARP SYN packet mac filtering in driver.

    Introduced: 8.40.19.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Update Channel adapter device friendly name.

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

Fixes:
------
 1. Problem:    CQ107135 - PXE VLAN failed even after PXE as boot mode.

    Change:     Return proper value for preboot_generic_config.

    Introduced: 8.40.9.0.

    Relevance:  PXE VLAN.

 2. Problem:    CQ106915 - SRIOV: VM crash with driver verifier.

    Change:     Fix leak in resource memory allocations for VFs.

    Introduced: VF-RDMA Day 1.

    Relevance:  SRIOV.

 3. Problem:    CQ107049 - NPAR-RDMA Bonding: qedr unload causes HW error after
                creating bonding interfaces using NPAR functions.

    Change:     Prevent RDMA bonding for non-default MF modes.

    Introduced: RDMA bonding day 1.

    Relevance:  RDMA bonding.

 4. Problem:    CQ106454 - VF-RDMA - Ramrod stuck while changing vnic on the
                VM while VF RDMA traffic running (Config - 16 VFs enum (4 VMs,
                4 VFs each)).

    Change:     Set the QM according to the max active VFs (instead of to the
                current active number). The max active VFs will be determined
                by the ecore client and will be passed as parameter to
                ecore_iov_pci_enable_prolog().
                In case there aren't enough PQs for VF-RDMA (which ideally
                needs a separate PQ for each VF), a single PQ will be used for
                VF-RDMA and will serve all the VFs.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 5. Problem:    Soft lockup during driver load after failed QM initialization.

    Change:     Avoid accessing the uninitialized eq_list.

    Introduced: 8.40.20.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add changes to VBD driver per changes in Ecore APIs:
                ecore_iov_pci_enable_prolog(), ecore_iov_pci_enable_epilog().

 2. Request:    Make number of VFs same, viz. INF exported value and driver
                calculated value.

 3. Request:    Support VF RDMA even when there aren't sufficeint QM PQs for
                each VF to have one. Provide single PQ for all RDMA VFs in this
                case.

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

Fixes:
------
 1. Problem:    CQ106839 - VF RDMA - "qevbda!ecore_rdma_register_tid_inner"
                assert while VM reboot in sequence.

    Change:     ecore_cxt_free_ilt_range() will also take care of zeroing the
                specific range, in order to prevent future access to old iids
                which don't occupy an entire ILT line.

    Introduced: 8.40.7.0.

    Relevance:  All.

 2. Problem:    CQ106417 - VF RDMA - Continuous VM Crash during reboot cycle
                with 4 Vfs in one VM.

    Change:     Release ll2 core CID's during FLR.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 3. Problem:    VF-Rdma being unnecessarily disabled during driver load.

    Change:     Correct ILT line reservation calculation for VF-RDMA for QM
                (Reserve amount of connections of single VF per VF PQ instead
                of amount of all VFs connections per VF PQ).

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 4. Problem:    VF receive only the first EQ completion.

    Change:     Change EQ completion in the bulletin board from a flag to a
                counter.

    Introduced: 8.40.15.0.

    Relevance:  VF-RDMA.

 5. Problem:    VM crash when driver verifier enabled.

    Change:     ecore_llh_alloc should not be called for VFs.

    Introduced: 8.40.8.0.

    Relevance:  VF.

 6. Problem:    CQ106711 - DCBx-Remote traffic classes are not displayed when
                DCBx set as CEE and priority set to Strict on switch.

    Change:     Use 4 bit mask while reading the PGID from prio_to_tc table.

    Introduced: Day 1.

    Relevance:  DCBX.

Enhancements:
-------------
 1. Request:    Add new OEM device support.

Version 8.42.6.0a (Aug 22, 2019)
================================
Internal FW 8.42.1.0

Enhancements:
-------------
 1. Request:    Add new Channel device support.

Version 8.42.6.0 (Aug 14, 2019)
===============================
Internal FW 8.42.1.0

Fixes:
------
 1. Problem:    CQ106834 - RDMA Statistics is not get updated in iDRAC GUI.

    Change:     Using the correct PF`s assigned stats ids to get the RDMA
                stats.

    Introduced: VF RDMA Day 1.

    Relevance:  RDMA.

 2. Problem:    CQ106943 - Duplicate RDMA perfmon stats when network direct
                disabled.

    Change:     Assign the statistics bucket id properly for non-sriov switch
                case.

    Introduced: 8.42.5.0.

    Relevance:  RDMA.

 3. Problem:    CQ106974 - Hyper-V iWARP traffic is not working and taking L2
                path with latest code.

    Change:     Assign the statistics bucket id properly when VF RDMA isn't
                enabled.

    Introduced: 8.42.5.0.

    Relevance:  RDMA.

 4. Problem:    CQ106626 - vlan indication did not arrive to the driver
                in UFP mode.

    Change:     [FW]Set vlan indication in UFP mode.

    Introduced: 8.30.5.0.

    Relevance:  FCoE (Windows only).

Enhancements:
-------------
 1. Request:    Add new OSAL API support for safe string copy.

Version 8.42.5.0 (Aug 06, 2019)
===============================
Internal FW 8.42.0.0

Fixes:
------
 1. Problem:    CQ106658 - system assert while rebooting VM when VF RDMA
                traffic running when QM2 configured for 16 partition
                configuration.

    Change:     Fixed check condition for avaialble SBs (Status Blocks)
                resources.

    Introduced: 8.18.13.0.

    Relevance:  VMMQ/RSSv2.

 2. Problem:    CQ106644 - VF RDMA: 8 out of 16 supported VFs get instantiated
                from base partition when 16 partitions set on QM2.

    Change:     Added code to reduce IOV QPs in proportion to VF RDMA CNQs
                being reserved.

    Introduced: VF RDMA Day 1.

    Relevance:  VF RDMA.

 3. Problem:    Crash in error handling during driver load.

    Change:     Check whether the context manager information for aquired VFs
                isn't NULL before resetting it.

    Introduced: SRIOV day 1.

    Relevance:  SRIOV.

 4. Problem:    CQ106588 - Firmware assertion upon booting VMs with max VFs
                enumerated on all NPAR PFs.

    Change:     Enable timer scan for VFs only in case rdma_enable flag is on
                (should be off in NPAR environment).

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 5. Problem:    CQ106833 Memory leak of Timers ILT.

    Change:     Do not reset the Timers ILT client information in ILT free.

    Introduced: 8.40.24.0.

    Relevance:  VF-RDMA unload.

Enhancements:
-------------
 1. Request:    Add new OEM device support.

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

Fixes:
------
 1. Problem:    CQ106590 - System crash while installing iSCSI
                driver on OEM adapter.

    Change:     Avoid initializing VF doorbell bar in non-SRIOV setups.

    Introduced: VF RDMA Day 1.

    Relevance:  All.

 2. Problem:    CQ106361 - Assert while setting up port-mirroring on VF.

    Change:     [FW]Fix RoCE VF function close flow.

    Introduced: Day 1.

    Relevance:  RoCE VF-RDMA.

 3. Problem:    CQ106698 - Assert while Configuring many XRC SRQs
                on more than 1 PF.

    Change:     [FW]Fix SRQ cache-out flow.

    Introduced: Day 1.

    Relevance:  RDMA SRQ.

 4. Problem:    CQ106698 - Assert while Configuring many XRC SRQs
                on more than 1 PF.

    Change:     [FW]Fix SRQ cache-in flow.

    Introduced: Day 1.

    Relevance:  RDMA SRQ.

 5. Problem:    CQ106671 - Assert while iWARP handles READ WQEs and ROCE
                VF is FLRed.

    Change:     [FW]Fix iWARP ORQ cache seizing flow.

    Introduced: Day 1.

    Relevance:  iWARP together with RoCE SRIOV.

Version 8.42.3.0 (Jul 16, 2019)
===============================
Internal FW 8.40.32.0

 1. Problem:    CQ106583 - Incorrect VBD device friendly name for OEM adapters.

    Change:     Corrected friendly name in INF.

    Introduced: Day1.

    Relevance:  Device friendly name.

 2. Problem:    CQ105665 - VF RDMA: NVMe login failed over VFs.

    Change:     Reduce the VF sleep intervals while it waits for the PF
                response on the channel.

    Introduced: VF RDMA Day 1.

    Relevance:  VF-RDMA.

 3. Problem:    CQ106380 - VF RDMA - VM Crash while Host reboot when
                RDMA Traffic with Max 128 QPs running in VM.

    Change:     Set IRQ and ORQ to NULL after freeing them, in order to avoid
                double free.

    Introduced: VF RDMA Day 1.

    Relevance:  VF-RDMA.

Enhancements:
-------------
 1. Request:    Add new Channel device support.

 2. Request:    In case RDMA is not supported for VFs, don't waste SBs on VF
                CNQs.

Version 8.42.2.0 (Jul 05, 2019)
===============================
Internal FW 8.40.32.0

Enhancements:
-------------
 1. Request:    Address code analysis warnings.

 2. Request:    Fix LL2 error flows.

 3. Request:    Add support for Timestamping the unicast PTP packets.

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

Fixes:
------
 1. Problem:    CQ106348 - VF RDMA - BB - VF RDMA only enabled for one PF for
                Dual Port QM2.

    Change:     Fixed check condition for port base function.

    Introduced: 8.42.0.0.

    Relevance:  VF RDMA for UFP/OVLAN.

 2. Problem:    CQ105666 - In case of PF down scenario (ifconfig down/no cable)
                L2 link is up after "VF state enabled" but not for RDMA devices.

    Change:     In VF query port, the port state and the link speed are taken
                from the bulletin board.

    Introduced: VF RDMA Day 1.

    Relevance:  VF-RDMA.

 3. Problem:    CQ106089 - 100G: Failed to create VF-RDMA interfaces.

    Change:     Request num_vf_cnqs also for the second hw function.

    Introduced: VF-RDMA Day 1.

    Relevance:  VF-RDMA.

 4. Problem:    CQ106237 - VF RDMA - System crash while running VF RDMA traffic
                in max VFs configuration.

    Change:     Increase num_vf_pqs to the maximum possible number VFs can use.
                In case ILT compute fails, try to recompute after disabling
                VF-RDMA.

    Introduced: VF-RDMA Day 1.

    Relevance:  VF-RDMA.

 5. Problem:    CQ106382 - crash while running load/unload iWARP.

    Change:     Fix race between iWARP syn processing and termination.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    1. When VMs exist, HV crash during driver unload.
                2. RDMA traffic doesn't work on VMs after qedr unload on HV.

    Change:     1. Use the correct rdma_info in the RDMA functions.
                2. Set RDMA async event callback to NULL on PF down flow.
                3. Do not clear PRS_REG_ROCE_DEST_QP_MAX_VF, as it can stop
                RDMA traffic on VMs when removing qedr on HV.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

Enhancements:
-------------
 1. Request:    Avoid disabling the parser registers during
                ecore_hw_stop_fastpath(), in order to allow VFs to run RDMA
                traffic from a VM even if the PF interface is down.

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

Fixes:
------
 1. Problem:    CQ103978 - WS2019: RoCE interface with NDKPI
                mode-3 cannot be enabled.

    Change:     Add support for RoCEv2 for VF interfaces.

    Introduced: Day1.

    Relevance:  SRIOV VF's RoCEv2 support.

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

Fixes:
------
 1. Problem:    CQ106196 - FW false alarms - invalid FC payload.

    Change:     [FW]Fix FCoE payload validation flow.

    Introduced: Day 1.

    Relevance:  FCoE.

 2. Problem:    CQ106101 -  System crash while collecting GRC dump.

    Change:     [FW]Skip NWS static debug dump.

    Introduced: 8.40.0.0.

    Relevance:  All.

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

Fixes:
------
 1. Problem:    Complete (removed/missing) fix for CQ101904.

    Change:     [FW]Fix the Tx Drop flow.

    Introduced: 8.40.0.0.

    Relevance:  ETH.

 2. Problem:    CQ105995: grcDump during traffic harms the traffic.

    Change:     [FW]Introduce "cau_ext" memories (separated from "cau")
                including fsm table and agg unit descriptor memories. cau_ext
                memories can harm traffic during GRC dump, hence separated.
                1. With -crash parameter to grcDump command, cau_ext is dumped
                and parsed (containing the crash-specific memories).
                2. Without -crash parameter to grcDump command, cau_ext is Not
                dumped (thus not harming traffic).
                3. cau_ext can be included specifically regardless of -crash
                parameter.
                4. By default, so as to not harm traffic, cau_ext memories are
                not dumped.

    Introduced: Day 1.

    Relevance:  All (Debug Tools Only).

 3. Problem:    CQ106100, CQ106094: Multiple FW asserts and HW attentions during
                RDMA VF FLR.

    Change:     [FW]Fix FW internal resource handling and graceful termination
                following VF FLR.

    Introduced: Day 1.

    Relevance:  RoCE SRIOV.

Version 8.40.20.0 (May 22, 2019)
================================
Internal FW 8.40.30.0

Fixes:
------
 1. Problem:    CQ106059 - SRIOV ping doesn't work from 44th VF onwards.

    Change:     Change the code to avoid u32 overflow.

    Introduced: Day1.

    Relevance:  SRIOV, when VF DB bar is greater than 512K.

 2. Problem:    CQ105379 - VF RDMA-VM Crash when rdma traffic tries to
                failback after 16 IOV queue pairs are set.

    Change:     Limit the number of status blocks to 16 per VF.

    Introduced: Day1.

    Relevance:  SRIOV VF with more than 14 RSS queues.

 3. Problem:    CQ105711 - Host system crash after VM having VF is rebooted.

    Change:     Add necessary checks in CHANNEL_TLV_RELEASE and FLR path for
                pending bulletin board post.

    Introduced: Day1.

    Relevance:  SRIOV VF FLR/reset/reboot/shutdown.

 4. Problem:    Crash in ll2 code due to uninitialized lock.

    Change:     Register the callbacks after initializing the lists and locks.

    Introduced: Day 1.

    Relevance:  LL2.

 5. Problem:    Potential RAM corruption when updating CNQ producer for VF.

    Change:     Write 16 bits instead of 32 bits.

    Introduced: VF-RDMA Day 1.

    Relevance:  VF-RDMA.

 6. Problem:    CQ105980 System crash while upgrading qevbd driver in NPAR EP.

    Change:     Don't treat Grc attentions which are not grcTimeout as Fatal.

    Introduced: Day 1.

    Relevance:  All.

Version 8.40.19.0a (May 10, 2019)
=================================
Internal FW 8.40.30.0

Fixes:
------
 1. Problem:    CQ106003 - Few OEM Adapters shows generic VF friendly name
                on device manager.

    Change:     Added OEM specific friendly names for these devices.

    Introduced: Day1.

    Relevance:  Friendly name.

Version 8.40.19.0 (May 02, 2019)
================================
Internal FW 8.40.30.0

Fixes:
------
 1. Problem:    CQ106004, CQ105873, CQ105896, CQ105873, CQ105824 - crashes in
                VF unload flows.

    Change:     clear/release ILT for CDU and Timers blocks on VF unload/flr,
                disable timers scan for unloading VFs.

    Introduced: VF-RDMA Day 1.

    Relevance:  VF-Rdma vf unload/flr flows, with more than 320 connections.

 2. Problem:    "TLV of length 0 found" printouts.

    Change:     Add list termination tlv to CHANNEL_TLV_TERMINATE_LL2_CONN
                response.

    Introduced: VF-RDMA Day 1.

    Relevance:  VF-RDMA.

 3. Problem:    CQ105920 - Missing solicited and cleanup completions for
                iSCSI Target R2T task.

    Change:     [FW]Fix the iSCSI target write task cleanup flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 4. Problem:    Query QP Ramrod returns PSN shifted by 8 bit to the left.

    Change:     [FW]Fix the returned PSN value.

    Introduced: Day 1.

    Relevance:  RoCE.

 5. Problem:    CQ104912 - System crash while running load-unload tests.

    Change:     [FW]Fix the closing QPs flow.

    Introduced: 8.40.24.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Backport doorbell recovery changes from upstream.

Version 8.40.18.0 (Apr 25, 2019)
================================
Internal FW 8.40.28.0

Fixes:
------
 1. Problem:    CQ105939 - System crash while uninstalling the bus drivers
                after RDMA traffic is run.

    Change:     Increase RDMA interface version due to change in rdma stats
                structure and compatability with previous versions.

    Introduced: 8.40.2.0.

    Relevance:  RDMA.

 2. Problem:    CQ105862 - E4 AH driver 8.40.17.0 fail HLK 2019 under NDK Logo
                Test for PF.

    Change:     Reserve RDMA stats_queue per vport, instead of per
                adapter_instance, and increase number of per PF RDMA
                stats_queues for non-sriov switch.

    Introduced: 8.40.15.0.

    Relevance:  RDMA.

Version 8.40.17.0 (Apr 20, 2019)
================================
Internal FW 8.40.28.0

Fixes:
------
 1. Problem:    System crash with driver verifier on qevbd driver.

    Change:     Add checks during memory release.

    Introduced: Day1.

    Relevance:  All.

 2. Problem:    Cont00105841 : WS2019: FW assertion while running iWARP
                traffic.

    Change:     Add appropriate locking and barriers around ep_list and
                listener_list.

    Introduced: Day 1.

    Relevance:  RDMA.

 3. Problem:    C105839 : Windows system crash in VF driver on BB.

    Change:     Corrected doorbell size initialization.

    Introduced: Day 1.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    Add channel_qp structure in order to pass the QP fields
                implicitly through the channel.

 2. Request:    Modify RDMA TLV structures in order to eliminate holes.

Version 8.40.16.0 (Apr 11, 2019)
================================
Internal FW 8.40.28.0

Fixes:
------
 1. Problem:    CQ105660 - SRIOV-VM crashes during disable enable ndis for max
                VF’s created.

    Change:     Reject the OID requests if Yanked in progress.

    Introduced: Day 1.

    Relevance:  VF Surprise removal.

 2. Problem:    CQ105696 - Observing Bugcheck after enabling
                driver verifier on qend and qevbd drivers.

    Change:     Force repeating omitted DCBX notification on init
                done callback.

    Introduced: 8.40.14.0.

    Relevance:  QOS/DCBX.

 3. Problem:    RDMA stop returns with success even though iWARP/RoCE stop
                fails.

    Change:     Return the appropriate error code in case of a failure.

    Introduced: day 1.

    Relevance:  RDMA.

 4. Problem:    CQ105723 System crash during function close after connection
                moved to error state.

    Change:     [FW]Fix Flush SQ flow.

    Introduced: 8.40.26.0.

    Relevance:  RoCE.

 5. Problem:    CQ105732 - System crash during heavy load of OOO iWARP packets.

    Change:     [FW]Increase OOO & unaligned reservation thresholds to be
                aligned with core LL2 verifications.

    Introduced: 8.40.24.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Add SELECT_PF support for nvm_get/set_cfg APIs.

 2. Request:    [FW]iSCSI and FCoE - set vf_id field in EQE to 0xFF.

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

Fixes:
------
 1. Problem:    CQ105422 - Max QPs from VF to external peer not working.

    Change:     Increase the number of tasks/TIDs per VF.

    Introduced: Day1.

    Relevance:  VF RDMA.

 2. Problem:    CQ105659 - VF RDMA - Issue #21 - Host crash while trying to
                start RDMA traffic after VM Reboot.

    Change:     Free RDMA's ILT when VF is FLRed.

    Introduced: VF-RDMA day 1.

    Relevance:  RoCE SRIOV.

 3. Problem:    CQ103151 - Driver provides incorrect FCoE capabilities to MFW.

    Change:     Disregard get_fcoe_caps request if it's recieved on non-fcoe pf.

    Introduced: day 1.

    Relevance:  FCoE.

 4. Problem:    CQ105742 - WS2012R2 FW Assert when creating Max QPs.

    Change:     PF RDMA tasks bitmap size should only take into account the PF
                task segments, not the VFs'.

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

 5. Problem:    CQ105566 - System crash when set Iwarp on PF and trying to boot
                VM with RDMA capable VFs.

    Change:     Enable VF timer scan when personality is RoCE instead of RDMA
                (for iWARP we should avoid it).

    Introduced: VF-RDMA day 1.

    Relevance:  VF-RDMA.

Enhancements:
-------------
 1. Request:    Return memory chuncks in lookaside lists after using.

 2. Request:    Forbid VF RDMA when personality is iWARP.

 3. Request:    Add num_vf_tasks field to pf_params in order to control the max
                number of MRs which can be allocated for a VF.

 4. Request:    Do not check RDMA bitmaps during FLR because we stop receiving
                events from the device.

 5. Request:    Reduce amount of bulletin posts by not posting identical boards.

 6. Request:    Forbid VF RDMA on NPAR environment.

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

Fixes:
------
 1. Problem:    CQ105298 - Get-NetadapterQos cmd not listing the Operational
                DCBX configuration of the card intermittently.

    Change:     Force repeating omitted DCBX notification.

    Introduced: Day1.

    Relevance:  QOS/DCBX.

 2. Problem:    CNQ not being affinitized in VF when 16 RSS queues assigned.

    Change:     Allow PF to increase MSIX PCI table size for a VF.

    Introduced: Day 1.

    Relevance:  VF RDMA.

 3. Problem:    PF RDMA stats don`t work without vSwitch.

    Change:     Fix PF rdma stat id info.

    Introduced: 8.40.12.0.

    Relevance:  RDMA.

 4. Problem:    CQ105566 - System crash when set iWarp on PF and trying to boot
                VM with RDMA capable VFs.
                CQ105644 - System crash while unloading VF driver with rdma
                traffic running.
                CQ105645 - System crash while doing PF load unload with VF RDMA
                traffic running.
                CQ105678 - Host crash while trying to create VF in NPAR mode.

    Change:     Make sure that REAL-CID bitmap is cleared before sending
                RDMA_CLOSE ramrod.
                Disable timer scan on VF unload.

    Introduced: 8.40.12.0.

    Relevance:  RoCE SRIOV.

Enhancements:
-------------
 1. Request:    Use auto mechanism for non execute memory allocation.

 2. Request:    Fix compilation errors for ESX.

 3. Request:    Clear VF_DISABLED_ACCESS error after PCI passthrough.

 4. Request:    Add max_syn_rt to iSCSI pf params.

 5. Request:    Add num_vf_qps field to pf_params in order to control the
                number of VF connections.

 6. Request:    Padded the cxt size to the nearest power of 2 (from 1280 bytes
                to 2KB) in order to reduce the alignment factor of the number
                of VF connections.

Version 8.40.13.0 (Mar 24, 2019)
================================
Internal FW 8.40.27.0

Fixes:
------
 1. Problem:    CQ105582 - System crash while trying to create vswitch in
                NPAR mode.

    Change:     Don't report max_rdma_vfs to miniport driver for NPAR case.

    Introduced: Day one.

    Relevance:  VF RDMA with NPAR.

 2. Problem:    FW attentions due to some LL2 flows.

    Change:     Revert LL2 error flows fix.

    Introduced: 8.40.19.0.

    Relevance:  LL2.

 3. Problem:    CQ105591 PB2 interrupt generatated when default VLAN is enabled
                for RoCE SRIOV.

    Change:     [FW] Fix PB2 command in Pstom to properly include the added tag
                vid and its length queue creation.

    Introduced: 8.40.26.0.

    Relevance:  RoCE SRIOV.

Enhancements:
-------------
 1. Request:    Add OSAL_NUM_FUNCS_IS_SET which indicates that the number of
                PFs is available for ecore clients.

 2. Request:    Add an ecore API that returns the number of PFs.

 3. Request:    [FW] Added 'enforce_security_flag' field to
                core_tx_start_ramrod_data. Used for LL2 VF TX queue to limit
                functionality. If set, disable_stag_insertion flag must be
                clear in TX BD. If set and anti-spoofing enable for associated
                VPORT, only packets with self destination MAC can be forced to
                LB.

 4. Request:    [FW] Added 'illegal_bd_flags' field to eth_tx_err_vals. Define
                VF TX queue error behavior when TX BD flags not valid. Used for
                LL2 TX queue when enforce_security_flag and
                disable_stag_insertion flag set. Used for LL2 TX queue when
                tx_dst in TX BD invalid.

Version 8.40.12.0 (Mar 15, 2019)
================================
Internal FW 8.40.26.0

Fixes:
------
 1. Problem:    CQ104663 - System crash when run roce max (4k) QP test on 4
                port AH.

    Change:     Change the number of times DB recovery is called, and other
                optimizations.

    Introduced: Day one.

    Relevance:  RDMA Max QP tests.

 2. Problem:    Potential memory leak in ecore_rdma_start().

    Change:     Free partially allocated rdma structs.

    Introduced: Day 1.

    Relevance:  RDMA.

 3. Problem:    FW may assert if using MAX aggregative DORQ command for setting
                L2/LL2 TX BD producer, after reusing an existing TX connection.

    Change:     [FW] Clear BD producer in XCM Aggregative context on L2/LL2 TX
                queue creation.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    If GRC Dump is given a corrupt binary buffer, it can result in
                stack overflow (due to unlimited recursion).

    Change:     [FW] Add a limit to the recursion depth. If the limit is
                reached, the recusrion aborts and an error is logged.

    Introduced: Day 1.

    Relevance:  All (Debug Tools only).

 5. Problem:    LL2 RX queue fail when more than 256 CFC contexts used.

    Change:     [FW] Fix lcid field size.

    Introduced: 8.40.25.0.

    Relevance:  LL2.

 6. Problem:    VF LL2 RX ramrod stuck.

    Change:     [FW] Return EQ completion with error, when fail load VF data.

    Introduced: 8.40.25.0.

    Relevance:  LL2 SRIOV. 

Enhancements:
-------------
 1. Request:    Add support for Guest VF RoCE RDMA.

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

 3. Request:    VF-RDMA - Add VF PQs support.

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

 5. Request:    VF RDMA - Add LL2 support.

 6. Request:    VF RDMA - Add EQ support.

 7. Request:    VF RDMA - Add statistics support.
 
 8. Request:    [FW] Support CDUC/CDUT ILT Dump. HSI changes:
                - Added the HSI functions dbg_ilt_get_dump_buf_size and
                  dbg_ilt_dump.
                - Added the ilt_clients enum to HSI structs. The existing
                  definition of this enum in ecore should be removed.

 9. Request:    [FW] Added a new generated HSI Function file called
                ecore_hsi_func_common.h. This file contains definitions that are
                common to all HSI Functions (currently the phys_mem_desc and
                virt_mem_desc structs), and is automatically included from all
                HSI Function header files.

10. Request:    [FW] Removed static debug arrays from HSI Functions, and assume
                they're defined in the HW function struct as follows:
                virt_mem_desc dbg_arrays[MAX_BIN_DBG_BUFFER_TYPE]

11. Request:    [FW] Moved dbg_tools_user_data struct definition from
                user_dbg_fw_funcs.c to user_dbg_fw_funcs.h.

12. Request:    [FW] Changed field 'active_phys_tcs' in structure
                'init_qm_port_params' (given to HSI function qm_common_rt_init)
                from u8 to u16.

13. Request:    [FW] Removed various defines with E4 suffix.

14. Request:    [FW ETH] Comments updates (clarification only):
                - "tunn_inner_ipv6" ("ETH_TX_DATA_2ND_BD_TUNN_INNER_IPV6" in
                  "eth_tx_data_2nd_bd.bitfields1").
                - "tcp_hdr_len_dw" ("ETH_TX_DATA_3RD_BD_TCP_HDR_LEN_DW" in
                  "eth_tx_data_3rd_bd.bitfields").
                - "ETH_L4_PSEUDO_CSUM_ZERO_LENGTH" value of
                  "eth_l4_pseudo_checksum_mode" enum.

15. Request:    [FW RDMA] event_ring_entry - Renamed vfId to vf_id in order to
                comply with Linux conventions.

16. Request:    [FW RDMA] Added HSI changes for PVRDMA Suspend-Resume support.

17. Request:    [FW RDMA] Added vport_id to structs
                roce_create_qp_resp_ramrod_data/roce_create_qp_req_ramrod_data.

18. Request:    [FW RoCE] VF-RDMA - Add support for TX switching.

19. Request:    [FW RoCE] Add support for default Vlan.

20. Request:    [FW iSCSI] Added 'max_syn_rt' field (4 bits) to
                'iscsi_spe_func_init' - maximum syn packet retransmissions
                during Tcp connect. If this field isn't initialized the FW
                will set to default (5 retransmissions).

Version 8.40.11.0 (Mar 06, 2019)
================================
Internal FW 8.40.25.0

Fixes:
------
 1. Problem:    CQ104885 - Mismatch in marketing name displayed in windows
                device manager.

    Change:     Updated friendly name as per spec.

    Introduced: 8.40.9.0.

    Relevance:  Device friendly name.

 2. Problem:    Fix ILT free for clients.

    Change:     Avoid endless loop in ILT free for clients which don’t use
                ILT.

    Introduced: Day 1.

    Relevance:  SRQ.

 3. Problem:    CQ105285 - NPAR-WS2016 - System Crash while running
                multiprotocol traffic.

    Change:     Reduce acquired ptt time while waiting for blocking ramrod
                completion.

    Introduced: 8.40.12.0.

    Relevance:  All.

 4. Problem:    VF driver attempted to write doorbells outside the mapped BAR.

    Change:     Correctly detect whether there is a dedicated doorbell bar or
                not (based on the doorbell bar size).

    Introduced: VF Doorbell Recovery (8.40.14.0).

    Relevance:  SRIOV on boards with no dedicated doorbell bar.

 5. Problem:    CQ104942 - rping fails on base interface in OV.

    Change:     Set dont_add_vlan0 field in all the applicable MF modes.

    Introduced: Day 1.

    Relevance:  UFP/OV.

Enhancements:
-------------
 1. Request:    Fix testing the doorbell address in doorbell recovery sanity.

Version 8.40.10.0 (Feb 16, 2019)
================================
Internal FW 8.40.25.0

Fixes:
------
 1. Problem:    Maximum number of I/Os per connection is not reflected in
                FCOE capabilities.

    Change:     Fix trasferring parameters between miniport and bus driver.

    Introduced: 8.40.9.0.

 2. Problem:    CQ105045 - 4 traffic classes gets configured in non willing
                mode on a 4 port, while only 3 are supported in willing mode.

    Change:     Number of TCs in 4 port mode is strictly limited by 3.

    Introduced: Day one.

 3. Problem:    CQ104751 - RSSv2: checked qevbd may asserts on sequential
                (with short intervals) updates of same ITE.

    Change:     Correct driver behavior.

    Introduced: RSSv2 day one.

    Relevance:  RSSv2.

 4. Problem:    CQ104972 - multiple nodes in cluster crash.

    Change:     Increase buffers on ll2 syn queue to be MTU.

    Introduced: 8.18.9.0.

    Relevance:  iWARP enabled.

 5. Problem:    CQ104579 - Rping fails in switched configuration after changing
                MTU.

    Change:     Validate the mac address on SYN packet.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    Fix error handling in LL2.

    Change:     Avoid double free and mark sent ramrods.

    Introduced: Day 1.

    Relevance:  LL2.

Enhancements:
-------------
 1. Request:    Add OSAL support for non atomic bit operation (set).

 2. Request:    Add OSAL_READ_ONCE support.

 3. Request:    Add new OEM device support.

 4. Request:    Add FEC mode configuration support at OS level.

 5. Request:    Add OSAL for non-atomic set bit - OSAL_NON_ATOMIC_SET_BIT.
                For Linux, make the current OSAL_SET_BIT atomic.

 6. Request:    During DORQ attention handling, reset doorbell overflow sticky
                indication to minimize doorbell drops, but do not run full
                doorbell recovery to minimize the chance of another overflow
                during the attention. Executing the recovery after a small delay
                is sufficient since doorbells are aggregative.
                Periodic doorbell recovery handler is scheduled on all PFs and
                on every attention, in case of an overflow during the attention
                handler of a spurious interrupt.

Version 8.40.9.0 (Jan 31, 2019)
===============================
Internal FW 8.40.25.0

Fixes:
------
 1. Problem:    CQ103316 - Link down when there is a speed mismatch between
                preboot and driver controlled and iSCSI miniport/VBD is
                disabled/enabled.

    Change:     Maintain information about L2 link settings.

    Introduced: Day 1.

    Relevance:  Link Handling.

 2. Problem:    CQ104257 - Quack: Locally Administrated MAC Address (TLV)
                seen reverse in AHS logs.

    Change:     Change the endianness while reporting MAC address.

    Introduced: 8.33.2.0.

    Relevance:  Management TLVs.

 3. Problem:    Dynamic bandwidth configuration is not working.

    Change:     Used new ecore API.

    Introduced: 8.33.2.0.

    Relevance:  Bandwidth allocation on NPAR.

 4. Problem:    CQ104885 - Mismatch in marketing name displayed in windows
                device manager.

    Change:     Updated friendly name as per spec.

    Introduced: Day1.

    Relevance:  Device friendly name.

 5. Problem:    CQ104824: System crash while setting up vlan id on adapter in
                UFP mode.

    Change:     Correct the dbg_assert causing the issue.

    Introduced: Day one.

    Relevance:  Debug driver, RX path.

 6. Problem:    CQ104666 - VF RX queue start ramrod stuck.

    Change:     [FW] Return EQ completion with error, when fail load VF data.

    Introduced: Day 1.

    Relevance:  SRIOV.

 7. Problem:    Fix stack out of bounds bug in ecore_init_qm_get_idx_from_flags.

    Change:     Fix type of argument "pq_flags" passed to it.

    Introduced: Day 1.

    Relevance:  All.

 8. Problem:    ecore_db_rec_handler crashes on non-SRIOV setups.

    Change:     IS_PF_SRIOV sanity before accessing pf_iov_info.

    Introduced: 8.40.8.0.

    Relevance:  non SR-IOV.

Enhancements:
-------------
 1. Request:    Add support to collecting IHV diagnostic data.

 2. Request:    OSAL_GET_FCOE_CAPABILITIES is implemented.

 3. Request:    Add more boot cfg detail in internal ioctl to clients.

 4. Request:    [FW] E45->E4 Solution rollback. Including:
                - HSI datatypes renaming - removed all e5 datatypes and renamed
                  all e4 datatypes to be prefixless/suffixless.
                - HSI funcs - removed iscsi/fcoe e4/e5 prefixes/suffixes.
                - Removed E5 RFs.

 5. Request:    [FW] Replace constant conditional expressions with pre-compiler
                conditional expressions in HSI functions.

 6. Request:    [FW Core] Added 'opaque_data' field to core_rx_gsi_offload_cqe
                (for PVRDMA).

 7. Request:    [FW Core]Changes:
                - Changed core_ll2_rx_prod struct – removed reserved field.
                  Now it 32 bit.
                - MAX_NUM_LL2_RX_QUEUES constant – reduced to 32 and renamed
                  to MAX_NUM_LL2_RX_RAM_QUEUES.
                - MAX_NUM_LL2_RX_CTX_QUEUES constant added – Now equal to 112,
                  will be increased in the future.
                - MAX_NUM_LL2_RX_QUEUES constant now define as
                  (MAX_NUM_LL2_RX_RAM_QUEUES + MAX_NUM_LL2_RX_CTX_QUEUES).
                - Added CORE_RAMROD_QUEUE_STATS_QUERY ramrod to collect context
                  statistics. Use core_queue_stats_query_ramrod_data struct for
                  ramrod data.
                - Added zero_prod_flg to core_rx_start_ramrod_data struct.

 8. Request:    [FW ETH] Added ETH_RX_QUEUE_FAIL_LOAD_VF_DATA to eth_error_code
                enum.

 9. Request:    [FW RDMA] Added HSI changes for Searcher Mode and PVRDMA
                Namespace support.

10. Request:    [FW ROCE] Added HSI changes for Searcher Mode and PVRDMA
                Namespace support.

11. Request:    [FW] Support RDMA Searcher Mode and PVRDMA Namespace.

12. Request:    [FW]Support Ll2 SRIOV queues.

13. Request:    Added ecore API for checking whether the device allows DSCP to
                TC mapping or not.

14. Request:    Added Ecore API ecore_mcp_set_bandwidth() for configuring
                min/max BW values.

15. Request:    Add support for read/write dcbx mbc (macsec bypass cap) value.

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

Fixes:
------
 1. Problem:    CQ104551 - E4: Host DCB not functioning with OVLAN and NPAR
                configuration.

    Change:     Allow DCB for OVLAN and NPAR cases as well.

    Introduced: Day 1.

    Relevance:  DCB with OVLAN and NPAR.

 2. Problem:    OSAL_SET_PLATFORM_STR incorrect works on DISPATCH_LEVEL.

    Change:     Evaluate platform version during driver load and only copy
                to string in OSAL_SET_PLATFORM_STR.

    Introduced: Day 1.

    Relevance:  Crash dumps building.

 3. Problem:    Possible race between zeroing the LL2 PI producer and reading
                the producer from the completion callback.

    Change:     Make sure that the cookie is set and that the PI producer is
                zeroed before setting the callback.

    Introduced: Day 1.

    Relevance:  LL2.

 4. Problem:    CQ103874 - when VF removed from running VM, fails to
                get probed on hypervisor.

    Change:     Add retry mechanism by VF if VF acquire might get time out
                due to VF is being disabled at the same time.

    Introduced: Day 1.

    Relevance:  SR-IOV.

 5. Problem:    CQ88460 - ECC error statistics is always 0 using the api
                "ecore_mcp_mem_ecc_events".

    Change:     Fix the API to return the retrieved value from the MFW.

    Introduced: 8.33.2.0.

    Relevance:  ECC error statistics.

 6. Problem:    CQ104157 - ICPL error appears in dmesg when loading qede.

    Change:     Supress the log as it's not an harmful device state/scenario.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    Ringing a LL2 Rx doorbell might happen before its RX producer
                is updated.

    Change:     Add a missing write memory barrier before the doorbell.

    Introduced: Day 1.

    Relevance:  LL2.

 8. Problem:    FW Out-Of-Order resource handling caused FW assertion.

    Change:     [FW]Fixed Out-Of-Order resource handling checks.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    CQ103473 - FW assertion may happen in case a connection
                is uploaded while there are pending operations.

    Change:     [FW]Fix the connection upload FW flow.

    Introduced: Day 1.

    Relevance:  FCoE.

10. Problem:    CQ103476 - FW assertion may happen in case an exchange cleanup
                was performed after a middlepath exchange completed.

    Change:     [FW]Fix the middlepath FW flow.

    Introduced: Day 1.

    Relevance:  FCoE.

11. Problem:    FW assertion may happen in rare case when slow-start retransmit
                phase is initiated and then canceled before single packet gets
                actually retransmitted.

    Change:     [FW]Fix retransmit FW flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

12. Problem:    CQ103621 & CQ103605 - Connection drop may happen in case of
                treating incoming OOO packed DDPs.

    Change:     [FW]Verify MPA CRC correctly in case of OOO packed DDPs.

    Introduced: Day 1.

    Relevance:  iWARP.

13. Problem:    CQ104123 - FW assert hit when DIF is enabled and using
                non-typical MTU values (Where typical MTU values are 1500 or
                9000).

    Change:     [FW]Fix Tx DIF Workaround calculations.

    Introduced: Day 1.

    Relevance:  iSCSI DIF.

14. Problem:    CQ103784 - System crash when run RDMA max QPs test on Austion.

    Change:     Call DORQ attnention handler on every attention.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add new Channel device support.

 2. Request:    Added Ecore API ecore_mcp_send_raw_debug_data() to allow upper
                layer drivers to report to the MFW about critical errors.

 3. Request:    [E5 FW] Set PCIe RO flag in all L2 PBF read requests, to
                reduce the risk of doorbell overflow.

 4. Request:    [FW]Support USO for non-tunneled UDP packets.

Version 8.40.7.0 (Nov 27, 2018)
===============================
Internal FW 8.40.23.0

Fixes:
------
 1. Problem:    CQ101673: LinuxVM-SRIOV- VF not getting enumerated after
                removing and assigning again, but gets enumerated
                after rebooting VM.

    Change:     Fix evaluation next active VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

 2. Problem:    CQ104237 - Mailbox sleep implementation during SFP access.

    Change:     Add a short sleep between successive accesses to the SFP.

    Introduced: Day 1.

    Relevance:  SFP.

 3. Problem:    Computation of excess tasks to fit the ILT lines number doesn't
                take into account a larger value than max tasks number.

    Change:     Add a check for the correct range of values.

    Introduced: Day 1.

    Relevance:  RDMA.

 4. Problem:    CQ103151 - FC/FCoE capabilities should come from host driver and
                not from firmware.

    Change:     Add interface for FCoE upper drivers for setting the FCoE
                capabilities.

    Introduced: Day 1.

    Relevance:  FCoE, NC-SI.

 5. Problem:    CQ103621 & CQ103605 - Connection drop may happen in case of
                treating incoming OOO packed DDPs.

    Change:     Set correct tc for MPA ll2 connections.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    Wrong calculation of CDUT ILT lines.

    Change:     Fix the calculation.

    Introduced: Day 1.

    Relevance:  RDMA, VF.

 7. Problem:    Try freeing unallocated DMA-able memory for FW overlay when
                ecore_resc_alloc() fails.

    Change:     Avoid freeing the DMA-able memory if was not allocated.

    Introduced: 8.40.3.0.

    Relevance:  All.

 8. Problem:    CQ104015 - Pause flood detected while bring up all the 16 ports.

    Change:     Fix RSS engine allocation of old MFW versions.

    Introduced: Day 1.

    Relevance:  ETH.

 9. Problem:    MFW is considered by ecore as running on an adapter with only
                ROM.

    Change:     Decide whether the MFW is running based on the value of
                MCP_REG_CACHE_PAGING_ENABLE.

    Introduced: Day 1.

    Relevance:  E5.

10. Problem:    CQ102447 - OV Mode: Windows: No Fcoe npiv devices numerated.

    Change:     Updated npiv table read logic as per spec change.

    Introduced: Day1.

    Relevance:  FC NPIV.

11. Problem:    Dynamic release of ILT lines might free lines that are used by
                CIDs/TIDs which are not within the requested range.

    Change:     Avoid freeing lines which are only partially used by the
                requested range.

    Introduced: Day1.

    Relevance:  RDMA.

Enhancements:
-------------
 1. Request:    Add new Channel device support.

 2. Request:    Add support for FCoE fabric name update.

 3. Request:    Add support for 512 SBs in E5.

 4. Request:    Add support for getting the permanent VF MAC addresses from the
                NVRAM.

 5. Request:    Add new OSAL - OSAL_GET_FCOE_CAPABILITIES().

 6. Request:    Send debug data to the MFW upon a detection of HW error.

 7. Request:    Add support for SRIOV on E5.

Version 8.40.6.0 (Oct 08, 2018)
===============================
Internal FW 8.40.23.0

Fixes:
------
 1. Problem:    Mistaken CPU is used changing RSSv2 queue affinity.

    Change:     Fixed.

    Introduced: RSSv2 day 1.

    Relevance:  RSSv2.

 2. Problem:    CQ102171 - Intermittent observed FW assert while
                reboot in loop with SET Configuration.

    Change:     Added synchronization while setting filters.

    Introduced: Day 1.

    Relevance:  Setting Filters.

 3. Problem:    CQ103525 - Not all devices visable in Server with 256+
                logical cores.

    Change:     Storage enumeration on systems with more than 256 CPUs
                is allowed.

    Introduced: Day 1.

    Relevance:  FCoE/iSCSI.

 4. Problem:    CQ103743 - Observing BSOD Continuously in R740XD system WIN
                2019 OS during Dec FY19 Chipset driver(W9RXT) installation.

    Change:     Fixed error flow in case of IoConnectInterrupt/Ex failure.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    CQ103334 - KD break when turning ON VMs with max VF
                configuration.

    Change:     When relocating SB from PF to VF, perform SB cleanup with PF`s
                Opaque before assigning it to VF.

    Introduced: 8.37.21.0.

    Relevance:  SRIOV.

 6. Problem:    CQ103283 - Connection drops observed in RoCE traffic when both
                rocev1 and rocev2 tlvs are not defined on Arista switch (7060x).

    Change:     Do not set offload_tc for non APP TLV protocols.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add APIs for nvm config access. APIs added are
                ecore_mcp_nvm_get_cfg() and ecore_mcp_nvm_set_cfg().

 2. Request:    Add OSALs for transceiver events handling functions:
                OSAL_TRANSCEIVER_TX_FAULT and OSAL_TRANSCEIVER_RX_LOS.

 3. Request:    Add mcp Ecore APIs to control MFW attentions.

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

Fixes:
------
 1. Problem:    CQ103179 - System crash upon driver disable/enable with
                verifier on.

    Change:     Set the number of ports before sending a GET_MFW_FEATURE_SUPPORT
                mailbox command.

    Introduced: 8.33.10.0.

    Relevance:  All.

 2. Problem:    CQ102977 - One time system crash seen while disable-enable
                NDIS devices.

    Change:     Set empty completion callback when unregister callback
                in order avoid race.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Ramrods are not posted after a blocking ramrod was stuck.

    Change:     Save the posted entry and return it to the pool in error flow.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    SPQ entries leak in error flows.

    Change:     Return acquired SPQ entries to the pool in error flows.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    CQ103186 - Pause flood - grcdump from Linux server.

    Change:     Configure PRS_REG_TASK_ID_MAX_INITIATOR/TARGET_PF to max tid
                rather than tid count.

    Introduced: Day 1.

    Relevance:  FCoE.

Enhancements:
-------------
 1. Request:    Add an option to ignore SPQ completion for testing purposes.

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

Fixes:
------
 1. Problem:    Since in Emulation there’s not really PHY link speed has
                invalid value in Emulation.

    Change:     Set default value to 1G in case of Emulation.

    Introduced: Day 1.

    Relevance:  Link establishment.

 2. Problem:    CQ101805 - DORQ drop issue causing ramrod stuck.

    Change:     Implement OSAL for triggering periodic doorbell
                with an reduced period.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ101610-iSCSI BFS MPIO reboot will BSOD in WindowsOS.

    Change:     Fixed flow control settings for "Preboot Controlled" link.

    Introduced: Day 1.

    Relevance:  BFS/Link.

 4. Problem:    CQ103063 - VM crash when changed IOVQueuePairs on SRIOV VF.

    Change:     Fixed for VF driver the resource num of msix which is passed
                to client during bind.

    Introduced: 8.37.7.0.

    Relevance:  SRIOV VF.

 5. Problem:    CQ102896 - Miniport asserts on exhausting resources (VMMQ
                queues) by OS.

    Change:     Added lock for acquiring SBs for VMMQ when dynamically
                increasing number of queues.
                Fixed indirection table update when dynamically reducing the
                number of queues.

    Introduced: Day 1.

    Relevance:  VMMQ/RSSv2.

 6. Problem:    CQ101997 - Get-netadapterVMQ output shows the 
                NumberofReceiveQueues as 0.

    Change:     Notifying Hardware capabilities correctly.

    Introduced: Day 1.

    Relevance:  VMQ.

 7. Problem:    Regression of CQ101997 - Get-netadapterVMQ output shows the 
                NumberofReceiveQueues as 0.

    Change:     Notifying Hardware capabilities correctly.

    Introduced: Version 8.37.17.0.

    Relevance:  VMQ.

 8. Problem:    Bytes received count has minor differece.

    Change:     Correctly added aggregated packet bytes.

    Introduced: Day 1.

    Relevance:  Debug tools.

 9. Problem:    CQ102927 - System crash while enabling "Virtual Switch RSS" on
                PFs after turning off VMs with max VFs enumerated on all
                functions.

    Change:     Cleanup SB after relocation of SB.

    Introduced: Day 1.

    Relevance:  ETH.

10. Problem:    Advertised wrong page size capability.

    Change:     Fix ECORE_RDMA_PAGE_SIZE_CAPS value.

    Introduced: Day 1.

    Relevance:  All.

11. Problem:    The PPFID to PFID mapping is not restored when LAG is
    destroyed.

    Change:     Restore the mapping to use the slave PFID.

    Introduced: RDMA Bonding Day 1.

    Relevance:  RDMA Bonding.

12. Problem:    In case of high doorbell load in multiple QPs environment
                latency optimization for inline flow may cause
                incorrect transmission.

    Change:     [FW] Change latency optimization flow for inline WQEs.

    Introduced: Day 1.

    Relevance:  RDMA.

13. Problem:    Assert appear when updating dcqcn params dynamically.

    Change:     [FW] Fix tstorm update dcqcn ramrod.

    Introduced: FW 8.40.21.0.

    Relevance:  ROCE Dcqcn.

14. Problem:    NWS parity when grcDump is collected and MFW is not responding.

    Change:     [FW] Fix Parity masking.

    Introduced: Day 1.

    Relevance:  Debug Tools.

15. Problem:    Might miss a timeout expiry when waiting the MFW to initialize
                the SHMEM.

    Change:     Fix the loop counter decrement to be pre instead of post.

    Introduced: 8.30.12.0.

    Relevance:  All.

16. Problem:    NWS parity when grcDump is collected
                (when MFW is not responding).

    Change:     Fix Parity masking.

    Introduced: Day 1.

    Relevance:  AH.

17. Problem:    Errors when setting max txq rate when pacing is not enabled.

    Change:     Do not allow to set max txq rate when pacing is not enabled.

    Introduced: Day 1.

    Relevance:  L2.

Enhancements:
-------------
 1. Request:    Enhancement to RoCEv2 DCQCN and RDMA DSCP support.

 2. Request:    Added OEM and Channel devices.

 3. Request:    Added PRAM caching support.

 4. Request:    In case dscp_pfc mapping is set, override VLAN priority in RoCE
                according to DSCP value.
                RoCE qp's TC is determined in the following order:
                1. Global VLAN priority, 2. Derived from DSCP value,
                3. QP's VLAN priority, 4. Default 0.

 5. Request:    Remove "num_r2tq_pages_in_ring" from "ecore_iscsi_pf_params".

 6. Request:    Add Ecore prefix to all defines/structures in ecore_tcp_ip.h.

 7. Request:    Add CONFIG_ECORE_OOO compilation flag.

 8. Request:    Remove ecore_dcbx_get_priority_tc() from ecore APIs.

 9. Request:    [FW iSCSI] Support configuration of different page size for
                connection queues.

10. Request:    Added ecore API for checking whether FIP discovery fallback
                special mode is enabled.

11. Request:    Fix getting bad values from DCBX APIs in emulation without MFW.

12. Request:    Add different chain page size support. Ecore API changes in
                ecore_chain_alloc() which receives chain parameters struct,
                initialized in another Ecore API - ecore_chain_params_init().

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

Fixes:
------
 1. Problem:    CQ102665 - wrong port number getting set for iscsi app tlv
                when setting using QoS CLI.

    Change:     Flow of TCP port processing is fixed.

    Introduced: qevbd 8.33.1.0.

    Relevance:  QOS.

 2. Problem:    CQ101753 - BB 100G fails with BRB hardware assertion.

    Change:     [FW] BRB init fix.

    Introduced: Day 1.

    Relevance:  BB 100G.

 3. Problem:    Memory leak after extracting MCP Trace (meta data is not
                released).

    Change:     [FW] Separated regular and continuous MCP Trace:
                - Modified the regular MCP Trace to release its meta data.
                - Added the HSI Function print_mcp_trace_results_cont to
                  initiate a continuous MCP Trace, and the HSI Function
                  mcp_trace_free_meta_data to free its meta data when done.

    Introduced: FW 8.40.9.0.

    Relevance:  Debug Tools.

 4. Problem:    CQ101253 - parity issue due to update RSS indirection table
                via RBC interface.

    Change:     [FW] RSS indirection table update via RBC interface not
                supported under traffic. Removed update_eth_rss_ind_table_entry
                HSI function. Added FW interface for update RSS indirection
                table.

    Introduced: FW 8.40.10.0.

    Relevance:  ETH (RSS update).

 5. Problem:    CQ102505 - Cannot run GRE tunnel traffic when RDMA ennoblement
                is set to iWARP.

    Change:     [FW] Do not forward tunneled SYN packets to LL2.

    Introduced: Day 1.

    Relevance:  ETH.

 6. Problem:    If the MCP Trace meta data wasn't dumped together with the MCP
                trace data (e.g. due to NVRAM access issues), and the user
                provided a non-matching meta data on parsing, and the trace
                contains a message that uses a format index which is equal to
                the number of formats defined in the meta data (i.e. an invalid
                format), the MCP Trace code will access a non-allocated memory.

    Change:     [FW] Fixed MCP Trace parsing format index check.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 7. Problem:    CQ102478 - perftest BW tests fails when using inline data.

    Change:     [FW] Fixed retransmit flow.

    Introduced: FW 8.40.17.0

    Relevance:  RoCE.

 8. Problem:    If the dumped MCP Trace data contains invalid data in which
                the trace buffer size is 0 (e.g. due to corruption of the
                dumped data), the MCP Trace parsing performs modulo 0, causing
                an undefined behavior.

    Change:     [FW] Return a parsing error if the dumped MCP Trace trace buffer
                size is 0.

    Introduced: Day 1.

    Relevance:  Debug Tools.

Enhancements:
-------------
 1. Request:    Add support for the tenth 32 output bits of the AEU in E5.

 2. Request:    Add new OSAL - OSAL_DBG_ALLOC_USER_DATA().

 3. Request:    [FW SCSI] Support Xon/Xoff mechanism in E5.

 4. Request:    Add ecore_update_eth_rss_ind_table_entry() api to update FW RSS
                indirection table entry according to new interface.

 5. Request:    Fix possible memory leak in ecore_sp_init_request().

 6. Request:    E5 - Searcher/RGFS/TGFS T1 and T2 databases initialization.

Version 8.40.2.0 (Jul 04, 2018)
===============================
Internal FW 8.40.21.0

Fixes:
------
 1. Problem:    CQ100464 - Enable SR-IOV cause hyper-V guest OS Win2016 BSOD.

    Change:     PF sanity check for adequate VF BAR resources is added.

    Introduced: Day 1.

    Relevance:  SRIOV.

 2. Problem:    CQ101364 - Driver fail VMQTestingOIDS test under HLK 1607.

    Change:     Fix number of MSIX report as part of RSS capability.

    Introduced: Day 1.

    Relevance:  RSS/VMMQ.

 3. Problem:    RSSv2 - RSS indirection table might not updated correctly.

    Change:     When enabling RSS update indirection table to the latest state.

    Introduced: RSSv2 Day 1.

    Relevance:  RSSv2.

 4. Problem:    CQ94546 - list corruption can occur during driver unload.

    Change:     Handle race in ll2 connection tear down.

    Introduced: Day one.

    Relevance:  Protocols using ll2 OOO (RDMA,iSCSI).

 5. Problem:    CQ101210 - TCP Traffic from VNIC to VNIC of
                different VF of same pf not working.

    Change:     Fix tx promiscuous mode setting.

    Introduced: Day one.

    Relevance:  L2.

 6. Problem:    XRC and SRQ can't run simultaneously.

    Change:     Fix xrc/srq id allocation to be unique.

    Introduced: Day one xrc.

    Relevance:  XRC and SRQ simultaneously.

 7. Problem:    CQ101594 - System crash while disable-enable vbd interfaces
                with L2 traffic in legacy interrupt mode.

    Change:     Add DPC sync after PF stop to allow clean up of async events.

    Introduced: Day1.

    Relevance:  All.

 8. Problem:    HW error (ramrod stuck) when unloading driver with DCQCN
                enabled.

    Change:     Get a valid pq in ll2 when DCQCN enabled.

    Introduced: Day 1 Multi-TC RoCE.

    Relevance:  RDMA with DCQCN enabled.

 9. Problem:    CQ101466 - FCoE connection is not establish on vport 2 after
                previously having a mismatch fcoe vport with the same vlan.

    Change:     Clear stag config on PF when MFW invalidates the stag value.

    Introduced: Day one.

    Relevance:  FCoE/RoCE in UFP mode.

10. Problem:    CQ101779 - System crash while creating max QPs 4096 for RDMA
                traffic.

    Change:     Doorbell recovery await usage depletion only when EDPM is
                enabled.

    Introduced: Day one Doorbell Recovery.

    Relevance:  Windows / EDPM disabled.

11. Problem:    Reading wrong information from nvram.

    Change:     Update nvram info when reading after writes.

    Introduced: 8.33.11.0.

    Relevance:  Writes to nvram.

12. Problem:    If GRC Dump is taken during Debug Bus recording, no space is
                reserved in the GRC Dump buffer for static debug data.

    Change:     [FW] Always reserve space in GRC Dump buffer for static debug
                data.

    Introduced: Day 1.

    Relevance:  Debug Tools.

13. Problem:    CQ101251 - Xon/Xoff mechanism causes error for PFs on port > 0.

    Change:     [FW] Fix Xon/Xoff flow.

    Introduced: Day 1.

    Relevance:  iSCSI, FCoE.

14. Problem:    QP with infinite local ack timeout that stops receiving acks
                might not complete previous acked SQ WQEs.

    Change:     [FW] Fix SQ completion flow when local ack timeout is infinite.

    Introduced: Day 1.

    Relevance:  RoCE.

15. Problem:    CQ101512 - FW transmits packet larger than the MTU when
                Time-stamp option is enabled on both sides and either DIF or
                Data Digest are enabled.

    Change:     [FW] Fix Tx flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

16. Problem:    CQ101567: perftest BW tests hang when using inline data.

    Change:     [FW] Fix optimization flow made for inline.

    Introduced: Day 1.

    Relevance:  RoCE.

17. Problem:    CQ101533 - In case of AHS length connection error, the FW
                incorrectly incremented the CMDQe count value which is passed to
                the driver as part of the termination ramrod.

    Change:     [FW] Fix Rx flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

18. Problem:    Application cannot use page sizes above 2GB (while standard
                permits up to 8MB).

    Change:     [FW] Support page sizes up t 8GB.

    Introduced: Day 1.

    Relevance:  RDMA.

19. Problem:    CQ95208 - Remote invalidate fails due to ongoing old
                retransmission.

    Change:     [FW] RDMA remote invalidate Re-design.

    Introduced: Day 1.

    Relevance:  iWARP, RoCE.

20. Problem:    CQ101766 - RoCE function close may fail with FW assert after
                running RoCE with mixed IO sizes.

    Change:     [FW] Fixed relevant RoCE flow.

    Introduced: Day 1.

    Relevance:  RoCE.

21. Problem:    If the crash mode parameter is set before any other debug-tools
                HSI function is called, the dump buffer size calculated for
                crash mode can be wrong.

    Change:     [FW] Take device info (e.g. emulation build type, number of
                ports per engine, etc.) from the driver instead of from the
                chip.

    Introduced: FW 8.40.7.0.

    Relevance:  Debug Tools.

22. Problem:    CQ101291 - Application that uses RDMA READ may stuck in a lossy
                environment.

    Change:     [FW] Arm a timer for every packet that is sent to the wire.

    Introduced: Day 1.

    Relevance:  RoCE.

23. Problem:    If enabling tx-switching during vport_update - FW assert
                occurred.

    Change:     [FW] Fix in FW regarding the problem.

    Introduced: FW 8.40.20.0.

    Relevance:  ETH.

Enhancements:
-------------
 1. Request:    Address Binskim errors.

 2. Request:    MBI upgrade via MFW. New command is added.

 3. Request:    Add E5 simulation specific functionality.

 4. Request:    Add debug printouts to crash handler in order
                to expand visibility during bug investigation.

 5. Request:    Add OSAL_SET_PLATFORM_STR stub implementation.

 6. Request:    Add new TLV to change MTU through vport update.

 7. Request:    Added Ecore API ecore_dcbx_get_priority_tc() to get the TC
                mapped to a given priority. Added ecore_dcbx_get_dscp_state()
                which checks if DSCP is enabled.

 8. Request:    Removed Configuration of NIG, duplicate to host and storm as
                Init tool is taking care of it.

 9. Request:    Added Multi-TC RoCE support. Modified QM initialization, and
                added QM APIs for RoCE that return pqs with a requested TC.

10. Request:    Add support for MBI image upgrade.

11. Request:    Add debug platform string support for debug dumps.

12. Request:    [FW ETH] Support any VNI in RX classification.

13. Request:    [FW] Support multiple debug bus per block.

14. Request:    [FW ETH] VF Representer support.

15. Request:    [RoCE] DCQCN interoperability with other vendor.

16. Request:    Add new OSAL - OSAL_SET_PLATFORM_STR().

17. Request:    Add new OSAL - OSAL_GET_EPOCH().

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

Fixes:
------
 1. Problem:    CQ100792 - AH-LinuxVM-SRIOV - SUT crash while adding/removing
                VF in Linux VM
                CQ100767 - AH-Linux_VM_over_Windows_Host-SRIOV VF details shows
                status as degraded
                CQ100836 - LinuxVM over Windows - SRIOV VF doesn't bind to
                hypervisor once Linux driver is unloaded/loaded or
                VM is rebooted.
                CQ100833 - AH-LinuxVM-SRIOV- SUT FW Assert while rebooting
                Linux VM after assigning VF
                CQ100830 - AH-SRIOV-Windows VM Crashing while enabling
                SRIOV on VF.

    Change:     Fix invalid handling VF-PF message in case of Linux VM.

    Introduced: Day 1.

    Relevance:  SRIOV on LinuxVM.

 2. Problem:    Slave PF will get QM reconfigured unnecessarily (waste pqs).

    Change:     reconfigure QM only on Master PF.

    Introduced: Rdma Bonding day 1.

    Relevance:  RDMA bonding.

 3. Problem:    CQ101081: Loading/unload driver with RDMA-bonding leads to
                crash.

    Change:     Always allocate memory for rdma bond physical queues for roce
                personality.

    Introduced: 8.33.10.0.

    Relevance:  RDMA bonding.

 4. Problem:    The calculation of the number of ports per engine is wrong for
                BB with a single operational engine.

    Change:     Change the calculation to be based on MISC_REG_PORT_MODE.

    Introduced: 8.40.0.0.

    Relevance:  BB 1x40G.

 5. Problem:    DCQCN may slow down the wrong qp (when low latency queue is
                used or when qp index is above greatest power of two which is
                still lower than amount of available rate limiters.

    Change:     Get the LLT queue from PQ_FLAGS_GRP instead of PQ_FLAGS_RLS.
                Set number of RLs in DCQCN to be a power of 2.

    Introduced: 8.33.10.0.

    Relevance:  RDMA bonding + DCQCN.

 6. Problem:    DCQCN Reaction point does not respond to CNP packets.

    Change:     Set NIG's duplicate to host and storm to always duplicate.

    Introduced: 8.37.7.0.

    Relevance:  Roce DCQCN.

Enhancements:
-------------
 1. Request:    Add FEC support.

 2. Request:    Delete unused p_hwfn/p_ptt from ecore_mcp_nvm_resp().

 3. Request:    Enforce GET_FIELD/GET_MFW_FIELD macros.

 4. Request:    Warnings fixes for qmaal.

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

Fixes:
------
 1. Problem:    CQ100732: Loading driver with DCQCN + RDMA-bonding leads to
                crash.

    Change:     Avoid configuration of QM block according to DCQCN paradigm on
                slave PF of the bond.

    Introduced: 8.33.10.0.

    Relevance:  RDMA bonding + DCQCN.

 2. Problem:    ecore_chain_set_prod/cons() set the wrong page index in chains
                with non power of 2 page count.

    Change:     Calculate the right page index according to current indexes.

    Introduced: 8.30.12.0.

    Relevance:  L2, RDMA.

 3. Problem:    CQ100625 - Vlan priority configured on the switch is not used by
                CNA.

    Change:     Override OS priority with the UFP TC value when dcbx TLV is not
                available for the assoicated traffic.

    Introduced: Day 1.

    Relevance:  UFP.

 4. Problem:    Incorrect initialization of T10 PI(DIF) context.

    Change:     [FW] Fix initialization offsets.

    Introduced: Day 1.

    Relevance:  iSCSI (E5 only).

 5. Problem:    HW attention.

    Change:     [FW] Support 56 ThreadIds.

    Introduced: Day 1.

    Relevance:  E5.

 6. Problem:    Reduced performance due to under-utilization of PBF command
                queue.

    Change:     [FW] Fixed PBF command queue lines allocation to use 512b units.

    Introduced: Day 1.

    Relevance:  E5.

 7. Problem:    TPA continue message arrive without TPA start.

    Change:     [FW] Fix lock order in TPA flow.

    Introduced: FW 8.40.0.0.

    Relevance:  E5 ETH.

 8. Problem:    The wrong block name can be printed when parsing attention
                results in debug tools.

    Change:     [FW] Fixed conversion from block ID to block name.

    Introduced: FW 8.40.6.0.

    Relevance:  Debug Tools.

 9. Problem:    Negative byte value could potentially be returned to QM when
                both (mutually exclusive) 'vlan_insertion' and 'default_vlan_en'
                are set and packet is dropped (VF).

    Change:     [FW] Fixed FW Flow.

    Introduced: Day 1.

    Relevance:  ETH.

10. Problem:    VF RX queue start ramrod stuck.

    Change:     [FW] Use VF FID in RX queue start ramrod.

    Introduced: FW 8.40.13.0.

    Relevance:  SRIOV.

11. Problem:    HW attention happens on responder when sending large RDMA Read
                IOs (64K and above).

    Change:     [FW] Fix RDAM Read firmware flow.

    Introduced: FW 8.40.14.0.

    Relevance:  RoCE.

12. Problem:    L2 Tx Timeouts.

    Change:     [FW] Fix L2 P-Storm Event-IDs numbering.

    Introduced: Day 1.

    Relevance:  E5 ETH.

13. Problem:    Due to a HW bug, data that remains in the SEMI sync FIFO after
                an RH recording is added to the next recording.

    Change:     [FW] Before ending an RH recording, wait until the SEMI sync
                FIFO gets empty (can fail in case of back-pressure from PCI/NW).

    Introduced: Day 1.

    Relevance:  E5 Debug Tools.

14. Problem:    CQ100625 - Vlan priority configured on the switch is not used by
                CNA.
                CQ101185 - Cannot have different priorities configured on
                multiple vports on the same port of a CNA.

    Change:     Revert the prior change of enabling the dcbx for eth protocol.
                Use ufp-tc value as stag priority, and enabling of stag priority
                change shouldn't be dependent on the dcbx state.

    Introduced: Day 1.

    Relevance:  UFP.

15. Problem:    PORT_PF split registers are not read correctly in GRC Dump.

    Change:     [FW] Fixed pretend/DMAE parameters when reading PORT_PF split
                registers.

    Introduced: Day 1.

    Relevance:  Debug Tools.

16. Problem:    CQ99953 – L2B RX ramrod fail, if sent under traffic. Issue
                happens if LLH classification fails for all traffic.

    Change:     [FW] Initialize TCM_REG_IA_ARB_SP_TIMEOUT to 0.

    Introduced: Day 1.

    Relevance:  All.

17. Problem:    BMB RAM is read as part of full GRC Dump in order to extract
                packets. The RAM is read indirectly, by repeatedly writing to
                an address register and reading from a data register.
                The address register is protected, so a GRC protection error
                occurs when GRC Dump writes to it.

    Change:     [FW] Excluded BMB RAM from GRC Dump.

    Introduced: Day 1.

    Relevance:  Debug Tools.

18. Problem:    CQ100285 - Tx FW flow may transmit extraneous data.

    Change:     [FW] Skip T10 DIF HW workaround logic in FW when no data should
                be transmitted due to TCP window closed.

    Introduced: Day 1.

    Relevance:  iSCSI.

19. Problem:    Traffic without inner IP does not match GFT filter when
                GFT_PROFILE_TYPE_TUNNEL_TYPE profile used.

    Change:     [FW] Allow GFT search for non IP traffic when
                GFT_PROFILE_TYPE_TUNNEL_TYPE profile is used.

    Introduced: FW 8.40.11.0.

    Relevance:  ETH.

20. Problem:    Due to a HW bug, when recording RH to PCI, and the PCI is
                blocked when the recording ends, the SEMI sync FIFO may fail
                to be emptied, and consequently the Storms will remain stalled,
                and the next RH recording will be corrupted.

    Change:     [FW] When failing to empty the SEMI sync FIFO into the PCI,
                empty it into the DBG block internal buffer instead.

    Introduced: Day 1.

    Relevance:  Debug Tools.

21. Problem:    CQ100770 - Host crashes upon booting VM with VFs enumerated.

    Change:     Excessive assertion is removed.

    Introduced: Day 1.

    Relevance:  SRIOV, RWS2016 RS5/vNext, Checked version.

22. Problem:    Wrong chip and revision number in FCoE.

    Change:     Corrected chip number in internal IOC to client drivers.

    Introduced: 8.30.1.0.

    Relevance:  All.

23. Problem:    CQ100464 - Enable SR-IOV cause hyper-V guest OS Win2016 BSOD.

    Change:     Sanity check for adequate VF resources is added.

    Introduced: Day 1.

    Relevance:  SRIOV/VF.

Enhancements:
-------------
 1. Request:    Add CHANNEL_TLV_BULLETIN_UPDATE_MAC to allow trusted VF to
                update MAC address in bulletin board.

 2. Request:    Make ecore_eth_tx_queue_maxrate() an ecore API.

 3. Request:    Add initial support for E5.

 4. Request:    [FW] Add IOR/PBUF dump, and extend number of LTIDS to 384.

 5. Request:    [FW iWARP] Add iWARP EDPM support for E5.

 6. Request:    [FW RoCE] Improve ACK latency.

 7. Request:    Initial GFS/GFT configuration support for E5.

 8. Request:    Lock entire QM configuration flow.

 9. Request:    Update friendly name of OEM devices.

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

Fixes:
------
 1. Problem:    The max number of PPFIDs on the first 2 ports on AH 4-ports is
                limited to 4.

    Change:     Ensure that no more than 4 PPFIDs are used on only ports 2 and
                3.

    Introduced: 8.37.1.0.

    Relevance:  AH 4-ports.

 2. Problem:    CQ99043: performance is degraded when delayed ACK is enabled.

    Change:     [FW]Fixed FW flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    FW hit HQ Scan assertion while running iSCSI with ROCE.

    Change:     [FW]Aligned iSCSI HQ write and read flows to use the same VQ.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    CQ99802: Consume 1 CMDQ element when CMDQ is full.

    Change:     [FW]Fix CMDQ flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 5. Problem:    DMAE command fails when reading PF/port split registers in GRC
                Dump.

    Change:     [FW]Modified GRC Dump to read PF/port split registers using DMAE
                without pretend.

    Introduced: FW 8.40.14.0.

    Relevance:  All (Debug Tools only).

 6. Problem:    DCQCN doesn't work properly on function other than 0.

    Change:     [FW]Fix DCQCN firmware flow.

    Introduced: Day 1.

    Relevance:  RoCE DCQCN.

 7. Problem:    CQ100088: Three CQEs were written for a certain task after
                cleanup while only two were expected due to a FW race between
                Fast-Path and Cleanup flows.

    Change:     [FW]Fix Fast Path flow for writing CQE.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    CQ100034: Cleanup timeout was hit and no CQE was written due to
                a FW race between Cleanup and Clear-SQ flows.

    Change:     [FW]Fix Cleanup flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    SFP routines for getting Rx_LOS, Tx_Disable, Tx_Fault
                and for setting Tx_Disable not working properly.

    Change:     Fix the logic for accessing these control/status bits.

    Introduced: Day 1.

    Relevance:  All.

10. Problem:    CQ99052: BZ125305 FCoE slow to link up on Jawa.

    Change:     Configure the header select of an LLH filter based on the usage
                of S-Tag.

    Introduced: 8.33.3.0.

    Relevance:  UFP.

11. Problem:    Dcqcn doesn't work on port 1.

    Change:     Use new offset/count FW api to indicate which RLs should be
                used.

    Introduced: Dcqcn day 1.

    Relevance:  Roce Dcqcn.

12. Problem:    CQ99053: System crash with max QPs after vRss param is
                disabled and enabled for few iterations.

    Change:     Avoid affinity all processors for VMQ/VMMQ chains.

    Introduced: 8.33.4.0.

    Relevance:  VMQ/VMMQ.

Enhancements:
-------------
 1. Request:    Update friendly name of Channel device.

 2. Request:    Add new Channel device support.

 3. Request:    Address code analysis issues.

 4. Request:    Remove SR-IOV from 100G devices.

 5. Request:    Limit the number of FCoE queues to 64 due to a FW HSI
                limitation.

 6. Request:    [FW E5] Remove CQ98558 workaround.
                SEM_REG_INT_STS_2.dra_int_grc_no_alloc_thrd_error_a and
                SEM_REG_INT_STS_2.dra_int_grc_no_alloc_thrd_error_b interrupts
                should be unmasked.

 7. Request:    [FW iWARP] Support for Memory Windows.

 8. Request:    [FW ETH] Support no-inner-L2 VXLAN UDP port configuration.

 9. Request:    [FW RoCE] Support T10DIF on MW.

10. Request:    Allow a ratio of 2:1 between storage CQs/CmdQs and SBs in case
                a of target.

11. Request:    Ecore API ecore_mcp_phy_read()'s len parameter was changed to
                u32* since it is an output parameter.

12. Request:    Ensure that only PPFIDs of PFIDs on the same port are used on BB
                4-ports.

13. Request:    Modify QM physcial queue getter functions to return a queue
                within legal range when request is out of range by wrapping the
                requested index according to Maximum. For DCQCN PQs this is
                expected behavior.

14. Request:    Reduce the verbosity in ecore_pglueb_rbc_attn_handler() while
                logging error message during HW init.

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

Fixes:
------
 1. Problem:    CQ99402 - Crash while reboot after doing load unload
                with iwarp traffic.

    Change:     Interface change for iWARP Listener pause.

    Introduced: Day 1 iWARP.

    Relevance:  iWARP.

 2. Problem:    CQ99558 - Host DCB settings don't take effect with adapter
                in Non-Willing mode.

    Change:     A number of traffic classes provided to MFW is fixed.

    Introduced: 8.33.3.0.

    Relevance:  QOS.

 3. Problem:    CQ99084: VEB ov-eswitch mode was set by default during hw-init.

    Change:     Set VEB ov-eswitch mode only when sriov is enabled.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    CQ99423 - Windows device friendly name does not match with HII
                device name.

    Change:     Updated INF with correct device friendly name.

    Introduced: Day 1.

    Relevance:  Device Name.

 5. Problem:    CQ99401 - System crash while running RDMA+L2 traffic on MOS.
                CQ99177 - System crash when run load unload on PF with traffic
                running on MOS.

    Change:     5 seconds timeout for slow path operation is to get restored.

    Introduced: 8.33.1.0.

    Relevance:  All.

 6. Problem:    CQ99107: ib_write performance for single QP is degraded.

    Change:     [FW] Optimized the FW flow.

    Introduced: 8.33.5.0.

    Relevance:  RoCE.

 7. Problem:    Firmware may assert when hosts posts malformed RQ WQE.

    Change:     [FW] Added error handling to RQ validation.

    Introduced: Day 1.

    Relevance:  iWarp.

 8. Problem:    CQ99043: performance is degraded when delayed ACK is enabled.

    Change:     [FW] Fixed FW flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 9. Problem:    FW hit HQ Scan assertion while running iSCSI with ROCE.

    Change:     [FW] Aligned  iSCSI HQ write and read flows to use the same VQ.

    Introduced: Day 1.

    Relevance:  iSCSI.

10. Problem:    CQ99153: Modified BW does not reflect in OS speed displayed.

    Change:     Made changes to communicate update bandwidth event to clients.

    Introduced: Day 1.

    Relevance:  ALL.

11. Problem:    CQ97859: Interop with Chelsio lead to kernel panic.

    Change:     Handle mpa header split over two fpdus correctly.

    Introduced: 8.18.9.0.

    Relevance:  iWARP.

12. Problem:    CQ97859: Interop with Chelsio lead to kernel panic.

    Change:     Fixed chain element left calculation in NEXT_PTR mode.

    Introduced: 8.30.6.0.

    Relevance:  ALL.

13. Problem:    CQE with error will appear when using large memory windows.

    Change:     [FW] Fix memory window firmware flow.

    Introduced: 8.33.8.0.

    Relevance:  RoCE (Memory Windows).

14. Problem:    CQ99802: Consume 1 CMDQ element when CMDQ is full.

    Change:     [FW] Fix CMDQ flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

15. Problem:    DCQCN doesn't work properly on function other than 0.

    Change:     [FW] Fix DCQCN firmware flow.

    Introduced: Day 1.

    Relevance:  RoCE DCQCN.

16. Problem:    CQ100067: iSCSI BFS fails to boot into OS after driver update.
                Reading nvm image shadow before it was populated.

    Change:     Move nvm image shadow population function to hw_prepare.

    Introduced: 8.37.0.0.

    Relevance:  iSCSI BFS.

17. Problem:    CQ100072: System crash while installing driver with old MFW.
                Mailbox DRV_MSG_CODE_BIST_TEST is not supported.

    Change:     Do not fail the population function when mailbox is not
                supported.

    Introduced: 8.37.0.0.

    Relevance:  All.

18. Problem:    iSCSI BFS fails to boot into OS after driver update.

    Change:     Changes are made to pass increased buffer size as expected by
                ecore API change to accomodate CRC while reading NVM image.

    Introduced: 8.37.0.0.

    Relevance:  BFS.

Enhancements:
-------------
 1. Request:    Restricted driver load on unsupported device configuration.

 2. Request:    IOCTL (miniport - bus driver) collecting queue statistics
                is supported.

 3. Request:    Add support for new Channel device.

 4. Request:    Move OEM device to future program.

 5. Request:    Monitored hardware address by ecore_rd()/ecore_wr().

 6. Request:    Fix sparse warnings about making symbols static.
                Added parameters to ecore_hw_prepare_params and ecore_dev.

 7. Request:    Deleted redundant ETH_ALEN defines, and fixed compilation
                issues for diag.

 8. Request:    Added reg_offset and db_offset to ecore_hwfn for non-linux.

 9. Request:    Enforce GET_FIELD/GET_MFW_FIELD macros.

10. Request:    Create a nvm image info shadow, to save mcp commands.

11. Request:    Add a parameter in hw_init_params to set SPQ block timeout.

12. Request:    Update the NIG_REG_ACPI_PAT registers of only the default PPFID.

13. Request:    Remove obsolete registry parameters.

14. Request:    Internal code cleanup. No functional change.

15. Request:    Provide interface to iSCSI miniport do disable
                stats collection in FW.

16. Request:    Add support for new Channel device.

17. Request:    Fix sparse warnings about making symbols static.
                Added LNX_STATIC for functions only static in Linux.

18. Request:    Add 3 nvram image types to ecore_mcp APIs.
                ecore_mcp_get_nvm_image() reads the whole nvram image,
                including the CRC.

19. Request:    Ensure that no more than 4 PPFIDs per port are used on AH
                4-ports.

20. Request:    [FW RoCE] Support T10DIF on MW.

21. Request:    [FW iWARP] Support for Memory Windows.

22. Request:    Limit the number of iSCSI queues to 64 due to a FW HSI
                limitation.

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

Enhancements:
-------------
 1. Request:    Update driver version.

Version 8.33.15.0 (Jan 29, 2018)
================================
Internal FW 8.33.10.0

Fixes:
------
 1. Problem:    CQ99222 - HLK OffloadMisc test fail under Windows 2016.

    Change:     Fix error flow.

    Introduced: 8.33.7.0.

    Relevance:  All.

 2. Problem:    [HW bug] The NIG accesses the DSCP_TO_TC_MAP_ENABLE PORT_PF
                registers with the PFID instead of with the PPFID.

    Change:     Disable the DCSP to TC mapping when the problem cannot be
                bypassed. Add a workaround for other configurations.

    Introduced: Day 1.

    Relevance:  AH, DSCP.

 3. Problem:    fw assertion may happen in rare cases when destroying a QP.

    Change:     [FW]Fix DESTROY-QP handling.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    remote invalidate on Memory Window always completes with error
                indication.

    Change:     [FW]Fix remote-invalidate handling for Memory Windows.

    Introduced: Day 1.

    Relevance:  RDMA.

 5. Problem:    HW attention occur when FW mis-handle iSCSI command containning
                immediate data when immediate data cannot be placed into host
                memory and the data start on the TCP packet following the
                packet of the header.

    Change:     [FW]Fix handle iSCSI command arrival with AHS and with immediate
                data FW flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 6. Problem:    Cont00098565: FW assertion - sched problem due to a wrong opt
                of branch following a 'fins' wakeup.

    Change:     [FW]Fix branch after wakeup opt in BinaryBuilder.

    Introduced: 29/05/2014.

    Relevance:  iSCSI.

 7. Problem:    Traffic class is always set to 0 in IPv6 header.

    Change:     [FW]Use traffic class given for the connection.

    Introduced: Day 1.

    Relevance:  TCP over IPv6.

 8. Problem:    When ECN is enabled the ECN bits are or'ed with low 2b of given
                traffic class.

    Change:     [FW]Override ECN bits completely when ECN is enabled.

    Introduced: FW version 8.30.1.0.

    Relevance:  TCP over IPv4 with ECN enabled.

Enhancements:
-------------
 1. Request:    Add support for DCQCN and Low Latency Queues in Rdma Bonding
                environment.

 2. Request:    [FW ETH] Support VLAN remove action in steering flow.

 3. Request:    Fix warnings found by sparse tool.

Version 8.33.14.0a (Jan 23, 2018)
=================================
Internal FW 8.33.9.0

Enhancements:
-------------
 1. Request:    Add new devices for channel and OEM.

Version 8.33.14.0 (Jan 19, 2018)
================================
Internal FW 8.33.9.0

Fixes:
------
 1. Problem:    ESWITCH mode is set as VEB by default.

    Change:     Set the mode as ESWITCH_NONE and let ecore client configure it.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    OOO allocation fails in case the number of connections on the
                non-affinitized hwfn is zero.

    Change:     Avoid calling the alloc/setup/free functions of on the
                non-affinitized hwfn.

    Introduced: 8.33.2.0.

    Relevance:  Storage in 100G.

 3. Problem:    Completer abort seen on PCIe bus on Power8 system due to
                wrong physical address in ILT entry.

    Change:     Fix the mask which is used to fill ILT entry to handle
                64 bit physical address.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    AH - Packet pacing doesn't work for port 1.

    Change:     Fix ecore_get_qm_vport_idx_rl() to normalize pqs and
                make use of relative queue id in relevant APIs.

    Introduced: 8.33.7.0.

    Relevance:  All.

 5. Problem:    Allocation/setup operations are done according to the affinity
                configuration, before it is actually received from the MFW.

    Change:     Always perform the operations on both engines.

    Introduced: 8.33.8.0.

    Relevance:  Storage in 100G.

 6. Problem:    NULL pointer dereference in case ecore_spq_add_entry() frees a
                pointer to a SPQ entry.

    Change:     Access the pointer only on the flow in which the SPQ entries are
                not freed.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    CQ98861: FW assert may happen during load-unload scenario.

    Change:     Fix race in MODIFY-QP handling.

    Introduced: Day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Add support to configure tunnel type GFT profile.

 2. Request:    Add support to configure src ip type GFT profile.

 3. Request:    Add support for iWARP SRQ.

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

 5. Request:    Add new IOCTL to change debug output level from
                User-Mode application. Internal usage.

 6. Request:    Added new channel device.

Version 8.33.13.0 (Jan 08, 2018)
================================
Internal FW 8.33.8.0

Fixes:
------
 1. Problem:    CQ98905 - "MissingPFDriver" message seen in Get-NetAdapterSriov
                command output in W2012R2.

    Change:     Corrected INF for SRIOV flag.

    Introduced: 8.33.5.0.

    Relevance:  SR-IOV.

 2. Problem:    Running XRC causes a p_glueb error in the XRC TGT QP side. The
                error appears in the dmesg.

    Change:     Fix XRC TGT QP ramrod configuration.

    Introduced: 8.33.4.

    Relevance:  RDMA XRC.

 3. Problem:    When enabling XRC the number of EQEs is larger than expected.

    Change:     Fix number of EQE calculation.

    Introduced: 8.33.4.

    Relevance:  RDMA XRC.

 4. Problem:    Wrong CID was passed to XRC SRQ creation ramrod.

    Change:     Configure CID correctly.

    Introduced: 8.33.4.

    Relevance:  RDMA XRC.

Enhancements:
-------------
 1. Request:    Remove 1G speed from 4X10 Big Bear boards.

 2. Request:    Add new Channel device.

 3. Request:    Fixed fatal system error (double fault abort) when .crash is
                initiated with checked version of driver.

 4. Request:    Fixed the debug assert when PNP rebalance happens.

 5. Request:    Add RDMA Lag support.

 6. Request:    Add GFT drop filter configuration support.

Version 8.33.12.0 (Dec 28, 2017)
================================
Internal FW 8.33.8.0

Fixes:
------
 1. Problem:    HW attention may happen when running application that uses SRQ
                for a long time.

    Change:     Fix SRQ FW flow.

    Introduced: Day 1.

    Relevance:  iWARP, RoCE.

 2. Problem:    CQ98510: RX path may be stuck during error handling.

    Change:     Fix error handling firmware flow.

    Introduced: 8.33.4.0.

    Relevance:  iWARP.

 3. Problem:    CQ98641: uefi fcoe bfs windows install - LUN not detected
                after providing drivers.

    Change:     Set mf_mode field with MF_OVLAN in BD multi-function mode.

    Introduced: Day 1.

    Relevance:  FCoE (Windows only).

Enhancements:
-------------
 1. Request:    Bus driver reports RSSv2 capability.

 2. Request:    RDMA interface version increased due to API change.

 3. Request:    Add tunnel LRO configuration from VFs.

 4. Request:    Add packet pacing support for PFs.

 5. Request:    RDMA: remove redundant dev_caps from the RDMA API.

 6. Request:    [LL2] Support port redirection (for RDMA bonding).

 7. Request:    [iSCSI] Performance improvement for iSCSI Rx flows.

 8. Request:    [RoCE] Support port redirection (for RDMA bonding).

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

Fixes:
------
 1. Problem:    RSSv2: BSOD on update primary CPU.

    Change:     Excessive assertion is removed.

    Introduced: 8.33.4.0.

    Relevance:  RSSv2 / WS2016 RS3.

 2. Problem:    CQ98633 - Driver properties only shows link speed as 10Gbps
                even when set to 1Gbps in HII.

    Change:     Updated INF with supported speeds.

    Introduced: Day 1.

    Relevance:  SpeedDuplex.

 3. Problem:    CQ98559 - system crash while load-unload of VBD driver with
                RoCE traffic.

    Change:     Configure query requester ramrod properly.

    Introduced: 8.33.3.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Support UDP hash for NDIS6.80 / WS2016 RS3.

 2. Request:    CQ90057 - Add affinity vport update handling.

 3. Request:    Remove obsolete DRV_MSG_CODE_SET_SECURE_MODE command.

 4. Request:    Add support for non l2 vxlan configuration from VF.

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

Fixes:
------
 1. Problem:    CQ97129 - ib_read_bw test stalls with mtu size of 256B and
                message sizes larger than 4k.

    Change:     Set dont_add_vlan0 field when port is in UFP mode and dcb is
                enabled.

    Introduced: Day 1.

    Relevance:  UFP.

 2. Problem:    False RQ full error can occur.

    Change:     [FW] Fix BDQ availability checking flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 3. Problem:    256th SGE not properly handled in iSCSI retransmit / FCoE
                sequence cleanup flows.

    Change:     [FW] Fix flow to properly support 256th SGE.

    Introduced: Day 1.

    Relevance:  iSCSI, FCoE (Tape devices).

 4. Problem:    EDPM packet was transmitted with inner vlan when
                dcb_dont_add_vlan0 configuration was set.

    Change:     [FW] Fix initialization of QP according to dcb_dont_add_vlan0
                configuration.

    Introduced: 8.33.5.0.

    Relevance:  RoCE with UFP.

 5. Problem:    Inner IPv4 options not supported for no inner L2 VXLAN tunnel.

    Change:     [FW] Support up to 24 bytes of inner IPv4 options for no
                inner L2 VXLAN tunnel.

    Introduced: 8.33.6.0.

    Relevance:  ETH no inner L2 VXLAN.

 6. Problem:    In 100G mode, RDMA traffic on engine 1 may fail.

    Change:     Fix the DB physical address which is published to a RDMA user.

    Introduced: 8.33.4.0.

    Relevance:  RDMA in 100G.

 7. Problem:    CQ98454 - System crash when running iWARP traffic with VLAN.

    Change:     Don't insert vlan on loopback connections.

    Introduced: 8.33.4.0.

    Relevance:  iWARP with vlan.

Enhancements:
-------------
 1. Request:    Allow ecore client to set the ILT page size (default remains
                unchanged).

 2. Request:    Allow load to succeed even if EQ is not large enough to
                accommodate all elements (use max available in that case).

 3. Request:    [FW ETH] Allow GRE version 1 offloads in RX flow.

 4. Request:    [FW ETH] Allow VXLAN steering.

 5. Request:    ecore supports default RSS queue update.

 6. Request:    Support default processor in RSSv2.

Version 8.33.9.0 (Dec 11, 2017)
===============================
Internal FW 8.33.6.0

Fixes:
------
 1. Problem:    CQ98413 - RSS V2 Receive traffic is not processed by all VMMQs.

    Change:     Fix hash key processing.

    Introduced: 8.33.4.0.

    Relevance:  VMMQ.

 2. Problem:    BSOD might oscucr on VF load.

    Change:     Fix invalid memory access.

    Introduced: 8.33.8.0.

    Relevance:  SR-IOV.

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

Fixes:
------
 1. Problem:    CQ98087 - System crash when Virtual switch RSS param
                is disabled with max QPs enumerated from all ports of AUT.

    Change:     Fix correspondence HW chains and MSI-X vectors.

    Introduced: 8.33.4.0.

    Relevance:  VMQ/VMMQ.

 2. Problem:    Concurrent access to memory bars might cause system crash.

    Change:     Sync access to memroy bars avoid main ptt.

    Introduced: Day 1.

    Relevance:  nvm access, IOCTL's.

 3. Problem:    CQ97721 - Interop issues sending SEND RTR during MPA handshake.

    Change:     Prefer to send WRITE RTR before SEND RTR during MPA handshake.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    QP error may be received when using MW on the responder.

    Change:     Fix a wrong verification.

    Introduced: FW 8.33.4.0.

    Relevance:  RDMA.

 5. Problem:    IPGRE and IPGENEVE performance degradation for mixed inner IPv4
                and IPv6 traffic.

    Change:     Remove IP type from RX classification cache entry.

    Introduced: Day 1.

    Relevance:  ETH.

 6. Problem:    When default VLAN is configured, and DCB is enabled, if VF will
                send a packet with inband VLAN tag, the inband VLAN will be
                transmitted, instead of default VLAN.

    Change:     [FW] Fixed the FW flow.

    Introduced: Day 1.

    Relevance:  SR-IOV.

 7. Problem:    HW attention may happen in case MPA reject is sent.

    Change:     [FW] Fixed the FW flow.

    Introduced: FW 8.33.5.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Support processor group for debug extension.

 2. Request:    [FW LL2] Add support for dcb_dont_add_vlan0 (for UFP).

 3. Request:    [FW iWARP] Support SRQ.

 4. Request:    [FW iWARP] Add iWARP legacy DPM support.

 5. Request:    [FW iWARP] Add "HW QoS_Offload" support.

 6. Request:    Update all allocated PPFIDs when accessing registers which are
                split per PORT_PF.

 7. Request:    [FW L2] Add support for dcb_dont_add_vlan0 (for UFP).

 8. Request:    [FW RoCE] Add support for XRC (not support along with SRIOV).

 9. Request:    [FW ETH] Support no inner L2 VXLAN frame format.

10. Request:    [RDMA] Add SRQ counters.

11. Request:    [RDMA] Add XRC SRQ support.

12. Request:    Add support for 20G link speed.

Version 8.33.7.0 (Dec 06, 2017)
===============================
Internal FW 8.33.4.0

Fixes:
------
 1. Problem:    Report driver state OR MTU regardless 'mf/NPAR mode'.

    Change:     Update state and data regardless mode.

    Introduced: Day 1 of OV/UFP.

    Relevance:  OV/UFP.

Version 8.33.6.0 (Nov 29, 2017)
===============================
Internal FW 8.33.4.0

Fixes:
------
 1. Problem:    Ignored initialization OS structure causes returning
                non proper value.

    Change:     Fixed initialization.

    Introduced: 8.33.4.0.

    Relevance:  VMQ/VMMQ.

 2. Problem:    In 100G mode, the QM rate limiters of the 2nd engine might be
                configured before the QM is being initialized.

    Change:     Make sure the QM configuration happens after both engines are
                initialized.

    Introduced: 8.30.13.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    spinlock/mutex_alloc OSAL has been changed (to return a value).

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

Fixes:
------
 1. Problem:    Code analysis fails.

    Change:     Fixed code analysis issues.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    [Coverity] Using possible uninitialized variable when calling
                DP_VERBOSE() as part of adding/removing an LLH filter.

    Change:     Make sure the variable is initialized.

    Introduced: 8.33.2.0.

    Relevance:  All.

 3. Problem:    Eq full fw assert seen when client bombarding
                with thousands of ramrods.

    Change:     Perform pending posts at the end of ecore_eq_completion()
                instead in ecore_spq_completion().

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    The number of EQ elements didn't reflect the number of RoCE
                SRQs.

    Change:     Increase the number of EQEs by the number of RoCE SRQs.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Add two part IDs in INF.

 2. Request:    Add support for RDMA counters in driver interface.

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

Fixes:
------
 1. Problem:    Debug Bus is not recorded if '-filter' option is set.

    Change:     Changed order of constraints settings.

    Introduced: Day 1.

    Relevance:  Debug Bus recording (Internal debugging).

Enhancements:
-------------
 1. Request:    Introduce RSSv2.

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

Fixes:
------
 1. Problem:    CQ97316 CQ97876: System crash upon reboot while running traffic
                on VMMQs and VFs configured.

    Change:     During VF surprise remove disable MSIX in PCI CFG.

    Relevance:  WS2016 VF surprise remove behavhior.

 2. Problem:    CQ97137 - Adapter not sending proper traffic class information
                in lldp after we come back from misconfiguration.

    Change:     Squeeze ETS parameters to prevent gaps.

    Relevance:  QOS.

 3. Problem:    High probability of Doorbell Queue overflow.

    Change:     [FW] Initialized CDU_REG_CCFC_PXP ccfc_ro_ld bit to 1
                and DORQ_REG_DQ_FULL_CYCLES to 0x1000.

    Introduced: Day 1.

    Relevance:  Protocols that use a large number of CIDs
                (mainly ROCE and IWARP).

 4. Problem:    Chip may be stuck when multiple remote invalidations occur
                during retransmission.

    Change:     [FW] Fix of remote invalidate firmware flow.

    Introduced: 8.33.2.0.

    Relevance:  iWARP.

 5. Problem:    CQ95474 - iWARP: Bugcheck when running AzureStack w/ iWARP.

    Change:     Exposed new API to ecore client - pause listener - that will
                no longer forward MPA requests to upper layer driver, and
                will drop all "in flight" connections.

    Introduced: Day 1.

    Relevance:  IWARP.

Enhancements:
-------------
 1. Request:    [FW IWARP] support for TCP Abort during connection setup.

 2. Request:    Add engine affinity for RoCE/FCoE/iSCSI PFs in CMT mode.

 3. Request:    Add support for multiple PPFIDs.

 4. Request:    Allow to initialize iscsi connection directly.

 5. Request:    [FW iWARP] Sending TERMINATE on errors.

 6. Request:    [FW RoCE] Support for Memory Windows.

 7. Request:    [FW ETH] Support default RSS queue update.

Version 8.33.2.0 (Nov 02, 2017)
===============================
Internal FW 8.33.2.0

Fixes:
------
 1. Problem:    Doorbell overflow spurious interrupt.

    Change:     Add almost full indication case to spurious interrupt handling.

    Introduced: 8.30.1.0 (Doorbell overflow recovery Day 1).

    Relevance:  Doorbell overflow.

 2. Problem:    CQ97267 - SUT crashes while changing RDMA mode while
                running RDMA traffic.

    Change:     Link change and update bandwidth code paths are synchronised
                now to avoid configuring zero min bandwidth scenario.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add support for newly requested management TLVs.

 2. Request:    Add support for OEM device.

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

Fixes:
------
 1. Problem:    CQ96751 - When SRIOV enabled system can't boot into Windwos.

    Change:     Changes are made to handle the increased MSIX resources on a
                100G adapter with SRIOV turned on.

    Introduced: MFW 8.18.8.0.

    Relevance:  100G with SRIOV enabled.

 2. Problem:    CQ92295 - system hung when adapter's
                temperature reaches above threshold.

    Change:     Prevent HW access at this device state.

    Introduced: Day 1.

    Relevance:  Surprise Removal path with concurrent traffic.

 3. Problem:    Device is configured with incorrect values when UFP config is
                invalid.

    Change:     Discard the UFP config when it's incorrectly populated in shmem.

    Introduced: Day 1.

    Relevance:  UFP.

 4. Problem:    Priority value in the dcbx app table gets overwritten while
                configuring a new entry.

    Change:     While updating app table, write the bitmask of a given priority
                as expected by the MFW.

    Introduced: Day 1.

    Relevance:  Dcbx app table configuration.

 5. Problem:    DCQCN ECN and CNP packet count statistics will be wrong in case
                using PF that is not 0.

    Change:     [FW] Fix DCQCN flows.

    Introduced: FW 8.30.2.0.

    Relevance:  RoCE.

 6. Problem:    SRQ WQE might not get flushed after and error.

    Change:     [FW] Fix SRQ flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 7. Problem:    Responder 'Local Access Error' might return when SRQ PD ID is
                different from the PD ID of the QP attached to the SRQ.

    Change:     [FW] Fix SRQ flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 8. Problem:    Responder 'Local Access Error' completion might return with type
                of RQ instead of SRQ.

    Change:     [FW] Fix SRQ flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 9. Problem:    CQ95208 - Remote invalidate fails due to ongoing old
                retransmission.

    Change:     [FW] RDMA remote invalidate Re-design.

    Introduced: Day 1.

    Relevance:  RDMA.

Enhancements:
-------------
 1. Request:    Add ecore support for MF mode with 802.1ad tagging.

 2. Request:    Add additional iSCSI connection statistics to the
                ecore_iscsi_get_tcp_stats() API.

 3. Request:    [FW iWARP] Add packed DDPs support.

 4. Request:    iWARP: change rcv window size defaults for AH and BB.

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

Fixes:
------
 1. Problem:    CQ96974 - iSCSI L2 DHCP with VLAN fails.

    Change:     Changes are made to identify the L2 personality properly when
                function protocol is configured as RDMA (both RoCE+iWARP).

    Introduced: Day 1.

    Relevance:  iSCSI-L2 boot with VLAN.

 2. Problem:    CQ96320 - Driver installer hangs on specific upgrade scenario.

    Change:     Fix the flow that cause the hang.

    Introduced: Day 1.

    Relevance:  iSCSI/FCoE miniports from specific versions are active before
                upgrade.

 3. Problem:    CQ96823 - Set management TLV data failed for L4 with invalid
                parameter.

    Change:     Correct the buffer size comparison.

    Introduced: Day 1.

    Relevance:  iSCSI/FCoE/L2 miniports handling management TLVs.

 4. Problem:    CQ96185 - Unexpected L2 traffic might arrived to driver in case
                RoCE V2 traffic is received on non RoCE function.

    Change:     [FW]Fix reception flow.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    Some BB PCIE IP registers are dumped as per-engine instead
                of split per-PF.

    Change:     [FW]Fixed split attribute of some BB PCIE IP registers.

    Introduced: Day 1.

    Relevance:  BB, Debug Tools only.

 6. Problem:    Malicious RoCE applications may be able to attack other
                application via doorbell messages.

    Change:     [FW]Fix transmission flows.

    Introduced: 8.30.12.0.

    Relevance:  RoCE.

 7. Problem:    The Storm Load/store addrress and DRA R/W recording tools
                are not working.

    Change:     [FW]Fixed Storm tools to correctly enable/disable messages.

    Introduced: FW 8.7.3.0.

    Relevance:  Debug Tools only.

 8. Problem:    In connection establishment and teardown states the maximum
                retransmission time used in the maximum between configured
                value and the current RTT.

    Change:     [FW]Use configured maximum retransmission time as lower bound
                in all states.

    Introduced: Day 1.

    Relevance:  TCP option 2.

 9. Problem:    EQ full FW assertion on PF 0.
                The conditions for the bug to happen are:
                iSCSI is running (Doesnï¿½t matter on which PF).
                PF 0 is loaded on the same HW engine. Doesnï¿½t matter what
                the Personality of that PF is (L2, L2+RDMA, iSCSI or FCoE).

    Change:     [FW]Allocate a RAM line (per storm) for the CM message counter.

    Introduced: Day 1.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add ecore_lldp_get_stats() API to get the LLDP statistics.

 2. Request:    Reduce the timeout for ramrods to 1 sec.

 3. Request:    Avoid blocking of mailbox commands in case {,UN}LOAD_REQ fails.

 4. Request:    [FW ETH] Support drop action in steering flow.

 5. Request:    [FW iSCSI] Add new connection counters - Tx Rt, Rx dup ack
                and Rx checksum error.

 6. Request:    Added Channel device support.

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

Fixes:
------
 1. Problem:    CQ95723 - One time Crash seen while disable/enable vbd with
                IPv6 RoCE + l2 traffic running.

    Change:     Prevent submission buffers for not fully initialized LL2 chain.

    Introduced: Day 1.

    Relevance:  iSCSI.

 2. Problem:    CQ96774 - iSCSI L4 BFS LUN detection failure with multiple
                adapters on the server.

    Change:     Preserving and returning BIFT/BFFT boot block is taken care
                now for multiple adapters scenario.

    Introduced: Day 1 - BFS.

    Relevance:  iSCSI-L4/FCoE BFS with multiple adapters on the server.

 3. Problem:    CQ96424 - RoCE latency issues for byte sizes 128 and below in
                UFP mode.

    Change:     Configure the DORQ to use vlan-id/priority for roce EDPM.
                Request MFW for STAG value negotiated prior to the driver load.

    Introduced: Day 1.

    Relevance:  RoCE in UFP mode.

 4. Problem:    Wrong page index might be set when updating a chain's producer.

    Change:     Fix the page index calculation.

    Introduced: 8.30.12.0.

    Relevance:  All.

 5. Problem:    Flurry of prints in verbose mode.

    Change:     Enable doorbell recovery prints only in case of real recovery.

    Introduced: 8.30.6.0.

    Relevance:  All.

 6. Problem:    CQ96185 - Driver enters an infinite ll2 rx/tx loop.

    Change:     iWARP rx packet parsing should validate that packets arriving
                on the ll2 connection are TCP packets.

    Introduced: 8.14.1.0.

    Relevance:  iWARP enabled.

Enhancements:
-------------
 1. Request:    Add support for DCQCN and DSCP.

 2. Request:    Add APIs for dscp priority map configuration. APIs added are
                ecore_dcbx_get_dscp_priority(), ecore_dcbx_set_dscp_priority().

 3. Request:    Add support for the ENCRYPT_PASSWORD mailbox command.

 4. Request:    Add APIs for global configuration of dscp, ecn and vlan
                priority.

Version 8.30.14.0a (Sep 19, 2017)
=================================
Internal FW 8.30.16.0

Enhancements:
-------------
 1. Request:    Add support for new channel devices.

Version 8.30.14.0 (Sep 15, 2017)
================================
Internal FW 8.30.16.0

Fixes:
------
 1. Problem:    CQ96500 - System gets crash in driver upgrade scenario while
                running RDMA+L2 traffic on SET MOS.

    Change:     Increased RDMA interface version to avoid incompatability.

    Introduced: Day 1.

    Relevance:  RDMA.

 2. Problem:    CQ958884 - Host crashes upon reboot while traffic running
                between VFs and peer.

    Change:     Perform "internal" PF FLR on driver load to comply properly
                with "previous driver unload" flow.

    Introduced: 8.18.x.x.

    Relevance:  When previous driver (e.g. preboot) was loaded.

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

Fixes:
------
 1. Problem:    CQ95819 - Error appear when trying to login to Target.

    Change:     [FW]Avoid verifying the RSP payload length in order to honor
                target's behavior.

    Introduced: Day 1.

    Relevance:  FCoE.

 2. Problem:    In case of many consecutive EDPMs FW might get out
                of synchronization.

    Change:     [FW]Fix transmission flow.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    [FW iSCSI] Rx Total PDU function counter will include
                unsolicited PDUs.

Version 8.30.12.0 (Sep 08, 2017)
================================
Internal FW 8.30.15.0

Fixes:
------
 1. Problem:    CQ96018 - ESXi6.5 Windows VM crash while installing VF driver.

    Change:     Set the VF to use a SW/HW channel when acquiring PF.

    Introduced: 8.30.1.0.

    Relevance:  SRIOV/VF running on HW channel.

 2. Problem:    CQ96357 - Max QP for iWARP limits to 512 only as Max CQ is
                exhausted.

    Change:     Fixed num of requested QPs in case of RDMA configuration
                mismatch between user driver settings and adapter capability.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    The driver might read the SHMEM after detecting that an MCP
                reset has occurred, before the MFW has completed the SHMEM
                re-initialization.

    Change:     Temporary use the "sup_msgs" field as an indication that the
                SHMEM data is ready.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    VDMs may cause the was_error indication to be set after the
                driver clears it.

    Change:     Clear the indication after the internal FID_enable for the PF is
                set.

    Introduced: 8.30.6.0.

    Relevance:  All.

 5. Problem:    Updating a chain's producer didn't update its page index.

    Change:     Update the chain index.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    Outputs of destroy QP requested may be checked even if the
                function failed.

    Change:     Check outputs of the function only if function succeeded.

    Introduced: Day 1.

    Relevance:  RDMA.

Enhancements:
-------------
 1. Request:    Add support for NPIV port creation.

 2. Request:    Add support for IOC to retrive Link error stats for smart SAN.

 3. Request:    Add 'link_change_count' to the port statistics.

 4. Request:    Add a function to set a chain's consumer index.

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

Fixes:
------
 1. Problem:    CQ95717 - Unable to connect to FCF in UFP mode.
                CQ95854 - Windows FCoE is not logging into fabric in UFP mode.

    Change:     Set ï¿½remove stagï¿½ on all outgoing FCoE packets in UFP mode.
                Set protocol filter 0x8914 for FCoE connection in UFP mode.

    Introduced: Day 1.

    Relevance:  FCoE traffic in UFP mode.

 2. Problem:    CQ95854, CQ95717 - Offloaded packets are dropped by HW
                in UFP mode.

    Change:     [FW]Don't use the vlan when offloading/uploading the FCoE
                connections in UFP mode.

    Introduced: 8.30.5.0.

    Relevance:  FCoE (UFP only).

 3. Problem:    vlan indication didnï¿½t arrive to the driver in UFP mode.

    Change:     [FW]set vlan indication in UFP mode.

    Introduced: 8.30.5.0.

    Relevance:  FCoE (Windows only).

Enhancements:
-------------
 1. Request:    [FW][Debug Tools] add CM xx_cbyp_tbl memories to GRC Dump.

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

Fixes:
------
 1. Problem:    CQ95957 - Not able to acquire dhcp ip or ping when vlan is set
                on client os Windows10.

    Change:     Changes are made to pass PXE boot info to NDIS clients
                only when OS is WinPE.

    Introduced: 8.14.3.0.

    Relevance:  PXE/iSCSI-L2 BFS with VLAN.

 2. Problem:    CQ96050 - BSOD upgrading driver.

    Change:     Accessing of un-initialised variable was causing the issue
                and it is corrected now.

    Introduced: 8.18.22.0.

    Relevance:  Driver upgrade with SRIOV switch created.

 3. Problem:    CQ96165 - WHCK: SUT hit a bugcheck while running
                NDISTest 6.5 - [2 Machine] - QoSPnPower test.

    Change:     Initialization sequence on resume is fixed.

    Relevance:  Shared pool of resources in RSS mode.

 4. Problem:    Memory.dmp not generated when device is not fully initialzied.

    Change:     Don't use function that violate crash dump callback
                restrictions and do not ASSERT while dump is collected.

    Introduced: Day 1.

    Relevance:  Driver Verifier is enabled and BSOD happens on specific flows.

 5. Problem:    CQ95491 - Peer crashes when RDMA traffic is run after changing
                "RDMA Max QPs Number" parameter with unload/load.

    Change:     [FW]When a PF is loaded, clear the pointer table entries of the
                QM queues that are associated with the PF.

    Introduced: Day 1.

    Relevance:  PF reload with fewer connection (any protocol).

 6. Problem:    CQ95960 - Assert on running higher Block IO with Data
                Digest enabled.

    Change:     [FW]Fix retranstmit with data digest flow.

    Introduced: label 8.30.10.0.

    Relevance:  iSCSI.

 7. Problem:    CMDQ full error received with CMDQ PBL size of 512.

    Change:     [FW]Fix command receiving flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    CQ 96074 - Firmware assert may happen when there are many
                connections or in a stressed system.

    Change:     [FW]Fix TCP connection cleanup.

    Introduced: Day 1.

    Relevance:  TCP.

Enhancements:
-------------
 1. Request:    [FW RoCE] Performance improvement for RDMA write with single
                QP.

 2. Request:    Add DMAE sanity check within the engine phase of the init tool
                and before the PF phase.

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

Fixes:
------
 1. Problem:    The engine phase of the init tool is run with ANY_PHASE_ID and
                may lead to incorrect matches in the init values.

    Change:     Use the path ID as the phase ID.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ95240 - Firmware may give tcp completion event twice in
                stressed systems.

    Change:     [FW]Fix cleanup flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    RQ producer corruption.

    Change:     [FW]Fix the CMDQ RAM mapping.

    Introduced: 8.30.10.0.

    Relevance:  iSCSI Target.

Enhancements:
-------------
 1. Request:    Enable performing DMAE transactions from interrupt context.

 2. Request:    [FW ETH] Support direct update of RSS indirection table entry.

 3. Request:    [FW iSCSI] Support 8KB Page Size for CQ PBL.

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

Fixes:
------
 1. Problem:    OSAL_MSLEEP doesn't really sleep but only spining.

    Change:     Fix the code to really sleep.

    Introduced: Day 1.

    Relevance:  Various flow though mostly we never really sleep in the code.

 2. Problem:    Management TLVs for Storage protocol is broken.

    Change:     Fix the broken path.

    Introduced: 8.30.6.0.

    Relevance:  Management TLVs for Storage protocols.

 3. Problem:    CQ94920 - Link-flap due to mismatching EEE capabilities.

    Change:     If EEE isn't to be enabled, don't ask MFW for any EEE config.

    Introduced: 8.30.2.0.

    Relevance:  Non BaseT adapters.

 4. Problem:    CQ95717 - UFP: Unable to connect to FCF in UFP mode.

    Change:     Enable remove_tag flag for FCoE traffic with vlan tag.

    Introduced: Day 1.

    Relevance:  UFP.

 5. Problem:    The dynamically allocated mcp_info->mfw_mb_cur is not verified.

    Change:     Add a verification of the allocated memory.

    Introduced: 8.3.4.0.

    Relevance:  All.

 6. Problem:    Malicious RoCE applications may be able to attack other
                application via doorbell messages.

    Change:     [FW]Fix transmission and receive flows.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Add new Channel device support.

 2. Request:    Add stat members of iscsi to the structure to support
                management TLVs for storage protocols.

 3. Request:    Remove 64 QP limitation from DCQCN scenarios.

 4. Request:    [FW ETH] Support steering by IP destination port.

 5. Request:    [FW iSCSI] Added new TCP function counters.

Version 8.30.7.0 (Aug 02, 2017)
===============================
Internal FW 8.30.11.0

Fixes:
------
 1. Problem:    CQ95553 - RDMA Nic doesnt list under perfmon when NIC adv param
                "iWARP Recv Window Size" is changed to 1048576(max) And system
                crash when the value is changed to 1024 (Default).

    Change:     Fix default init value of OOO rx buffers.
                Fix initialization of RDMA state in case of failure.

    Introduced: 8.22.1.0.

    Relevance:  iWARP.

 2. Problem:    CQ95227 - There's a race where link-state is up && speed == 0.

    Change:     (speed == 0) -> (link-state is down).

    Introduced: 8.30.3.0.

    Relevance:  All.

 3. Problem:    CQ95484 - System asserts for qevbd during rebooter.

    Change:     Increase the retry interval when trying to acquire the resource
                lock.

    Introduced: 8.18.7.0.

    Relevance:  NPAR.

Enhancements:
-------------
 1. Request:    Add needed IOCs for the storage clients to support
                Smart SAN feature.

Version 8.30.6.0 (Jul 27, 2017)
===============================
Internal FW 8.30.11.0

Fixes:
------
 1. Problem:    BSOD when loading old released ndis miniport.

    Change:     Fixed usage of proper binding info variable.

    Introduced: 8.22.2.0.

    Relevance:  All.

 2. Problem:    CQ94890 - NPAR: System crash during system reboot.

    Change:     Increased the load time to address this issue and
                work with current version of MFW as well as new MFW.

    Introduced: Day 1.

    Relevance:  NPAR.

 3. Problem:    CQ95168 - NPAR: RDMA traffic taking L2 path.

    Change:     Initialize MSI-X vector after requiring resources for RDMA in
                shared resources pool mode.

    Introduced: 8.22.2.0.

    Relevance:  RDMA.

 4. Problem:    CQ95151 - System crashes upon booting VM with VMQ enabled
                vSwitch attached to it.

    Change:     Releasing status blocks procedure is fixed.

    Relevance:  NPAR.

 5. Problem:    VF qevbd crashes the VM.

    Change:     Chip init code path is not taken care for VF.
                It is corrected now.

    Introduced: 8.22.4.0.

    Relevance:  SRIOV.

 6. Problem:    VF does not provide connectivity.
                Attempt of disable VF miniport stucks VM Device Manager.

    Change:     VF bus driver properly identifies HW doorbel bar or its absent.

    Introduced: 8.30.3.0.

    Relevance:  SRIOV, VF.

 7. Problem:    Receiving ISCSI_EVENT_TYPE_ASYN_MAX_KA_PROBES_CNT event after
                establishing an iSCSI connection.

    Change:     Add missing assignments to some 'tcp_offload_params_opt2'
                fields.

    Introduced: 8.30.4.0.

    Relevance:  iSCSI.

 8. Problem:    RDMA user application hangs when using Legacy DPM.

    Change:     Publish Legacy DPM support so user library won't post legacy DPM
                packets if the FW doesn't support them.

    Introduced: 8.18.8.0.

    Relevance:  RoCE.

 9. Problem:    CQ94578 - Client crashed while running 1000 sessions using
                perftest.

    Change:     Limit number of CQs to number of actual connections.

    Introduced: iWARP Day 1.

    Relevance:  iWARP.

10. Problem:    CQ95208 - iWARP iser FW assert.

    Change:     Increase EQ size for iWARP/RoCE to accommodate for all
                possible async events.

    Introduced: Day 1.

    Relevance:  RDMA.

11. Problem:    CQ95187 - L2 traffic is not getting tagged in UFP mode.

    Change:     Populate ethertype value in the required registers.

    Introduced: Day 1.

    Relevance:  UFP.

12. Problem:    Doorbell recovery counter incremented needlessly.

    Change:     Do not increment the counter for periodic 'once' executions.

    Introduced: Day 1.

    Relevance:  All.

13. Problem:    ecore_mcp_get_lldp_mac() returns incorrect lldp mac.

    Change:     Perform endian-ness conversion while reading/updating lldp mac.

    Introduced: Day 1.

    Relevance:  lldp mac read/update.

14. Problem:    DCQCN: Incorrect NIG configuration for notification/reaction
                points.

    Change:     Correction in NIG configuration for duplicating packet with
                ECN or CNP packet for notification/reaction points.

    Introduced: Day 1.

    Relevance:  RoCEv2 DCQCN.

15. Problem:    CQ94817 - Iwarp connections may get stuck in a stressed
                system.

    Change:     [FW]Defer reporting of TCP async completion till firmware TCP
                handshake is completed.

    Introduced: Day 1.

    Relevance:  Iwarp.

16. Problem:    CQ94847 - Throughtput of RDMA Read is 25% worse than
                RDMA Write.

    Change:     [FW]Fix the logic that decides where we should transmit
                from (Sq/Irq).

    Introduced: Day 1.

    Relevance:  Iwarp.

17. Problem:    CQ94881 - Performance degradation on some block sizes.

    Change:     [FW]Fine tune the receive TCP window according to buffer size.

    Introduced: Day 1.

    Relevance:  Iwarp.

18. Problem:    Using relaxed ordering with Atomic operation might cause
                data corruption.

    Change:     [FW]Disable relaxed ordering with Atomic operation.

    Introduced: 8.30.10.0.

    Relevance:  RoCE.

19. Problem:    Read requests with zero ORD cause firmware assert.

    Change:     [FW]Gracefully handle as error case.

    Introduced: Day 1.

    Relevance:  iWARP.

20. Problem:    CQ95209 - Retransmission flow in rare cases might cause SQ
                completions not to be written.

    Change:     [FW]Fix retransmission flow.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    CQ95032 - Add new device IDs.

 2. Request:    Add new channel device support.

 3. Request:    Corrected feature support of some OEM and Channel devices.

 4. Request:    Add initial OCBB support for storage protocols.

 5. Request:    Changed device ID of some OEM devices.

 6. Request:    Avoid using a load timeout value which is not default or none in
                case the MFW doesn't support it.

 7. Request:    Add API to enable or disable access to the device.

 8. Request:    Add new management TLVs to support Storage devices.

 9. Request:    Correct Multicast API to reflect existance of 256 approximate
                buckets.

10. Request:    [FW Core] Add Source QP field for GSI offload.

11. Request:    [FW iWARP] Add support for relaxed ordering PCI writes.

12. Request:    iWARP: change rcv window size defaults.

Version 8.30.5.0 (Jul 06, 2017)
===============================
Internal FW 8.30.10.0

Fixes:
------
 1. Problem:    CQ88490/CQ86317 - Inappropriate card names are displayed on
                virtual switch manager while creating virtual switch.

    Change:     Stop appending instance number suffix to client function
                friendly name.

    Introduced: Day 1.

    Relevance:  Friendly name consumer.

 2. Problem:    CQ94767 - No RDMA capability when Max Number of RSS Queues set
                to 16 in NPAR mode.

    Change:     Enabling shared PF-VF resources in NPAR mode to increase
                resources to support the desired configuration.

    Introduced: Day 1.

    Relevance:  NPAR.

 3. Problem:    CQ94764 - Firmware assert during RDMA function close.

    Change:     [FW] Fixed MPA handshake packet handling.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    Parallel driver load/unload of several PFs can lead to a
                deadlock on some systems.

    Change:     Avoid busy-waiting when sending [UN]LOAD_REQ mailbox commands.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    CQ94296 - Doorbell drop occurred.

    Change:     Interim fix in driver. Change in db recovery API to enable
                clients invoke db recovery to hit first registered doorbell
                once.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    The MFW is not informed about a driver init failure, and the
                driver doesn't detect an expiry of the load timeout.

    Change:     Use cancel_load instead of load_done on a driver init failure.
                Check the MFW's response of load_done to detect an expiry of the
                load timeout.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    iSCSI Rx traffic throughput drop.

    Change:     Fixed the TCP window update during OOO.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    Same GFT filter used for steering by UDP destination port
                over IPv4 and IPv6.

    Change:     [FW]Add IP type to GFT filter profile.

    Introduced: FW 8.30.7.0.

    Relevance:  ETH.

 9. Problem:    Function Close ramrod may fail if a connection was modified to
                error state while there were pending RQ WQEs and destroyed
                before the WQEs were completed.

    Change:     [FW]Fix activity counter code race condition.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Add new OEM device support.

 2. Request:    Add auto flow control to a channel adapter.

 3. Request:    [SCSI] Change the SCSI num queues to 128.

    Change:     [FW]Use a dynamic and not constant offset between the SCSI
                CQ and CMDQ.

 4. Request:    [RoCE] Add support for relaxed ordering PCI writes.

 5. Request:    [ETH] Enable PCI Relaxed Ordering for L2 RX data placement.

Version 8.30.4.0 (Jun 27, 2017)
===============================
Internal FW 8.30.8.0

Fixes:
------
 1. Problem:    CQ93835 - System crash while booting into WS2012 OS
                in NPAR mode.

    Change:     Fails to acquire the resc lock. Increased the retry
                count now to suit NPAR scenario.

    Introduced: Day 1.

    Relevance:  NPAR.

 2. Problem:    CQ93930 - SRIOV capability is not available in the VMswitches
                after uninstall and reinstall PF drivers.

    Change:     Corrected un-initialized VF count.

    Introduced: Day 1.

    Relevance:  SR-IOV.

 3. Problem:    Memory.dmp not generated when miniport driver is not loaded
                or unloaded on VBD instance.

    Change:     Collecting the memory dump for active instances of VBD.

    Introduced: 8.30.0.0.

    Relevance:  Crash Dump when miniport is unloaded on first loaded device.

 4. Problem:    The elements left calculation for "next pointer" chains may be
                wrong when the producer is less than the consumer.

    Change:     Fix the calculation.

    Introduced: 8.7.2.0.

    Relevance:  All.

 5. Problem:    Values in DSCP to TC map are swapped.

    Change:     Remove redundant swap.

    Introduced: 8.10.14.0 (DSCP-PFC day 1).

    Relevance:  DSCP-PFC.

 6. Problem:    Previous driver unload may fail after there were more than a
                single PF on an engine, and a PF with the same driver tries to
                load.

    Change:     Modify the load sequence so final cleanup is sent while the
                FID_enable is cleared, and clear the pglue_b was_error
                indication just before enabling FID_enable.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    CQ94417 - ext phy fw upgrade fails over driver.
                CQ94497 - failed to upgrade mbi using powerkit.

    Change:     Treat FW_MSG_CODE_OK as expected response to the
                EXT_PHY_FW_UPGRADE mailbox command.

    Introduced: 8.30.2.0.

    Relevance:  EXT_PHY_FW_UPGRADE.

 8. Problem:    PRS parity is sometimes observed when using GFT logic.

    Change:     Enable GFT in parser only after configuring mask.

    Introduced: Day 1.

    Relevance:  aRFS.

 9. Problem:    Firmware assertion may occur when trying to retransmit MPA
                packet.

    Change:     [FW] Fix MPA re-transmission flow.

    Introduced: Day 1.

    Relevance:  iWARP.

10. Problem:    DIF error bits were not written in Cleanup CQE.

    Change:     [FW] Fix cleanup flow.

    Introduced: Day 1.

    Relevance:  iSCSI DIF.

11. Problem:    Reconnect may end up in FW assertion.

    Change:     [FW] Fix slow path flow.

    Introduced: Day 1.

    Relevance:  iSCSI Option 2.

12. Problem:    FW assert or T10 PI(DIF) error during fast-retransmit.

    Change:     [FW] Fix fast-retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

13. Problem:    Update Tx Queue Ramrod resulted in wrong outer-tag information
                for PF values larger than 0.

    Change:     [FW] Fixed Tx Queue Ramrod flow.

    Introduced: FW 8.30.6.0.

    Relevance:  L2/LL2.

14. Problem:    FIN flag on Syn and Syn-Ack packets is ignored.

    Change:     [FW] In case FIN flag is set during TCP handshake return error
                on this connection.

    Introduced: Day 1.

    Relevance:  TCP option 2.

15. Problem:    RST packet sent in SYN-SENT state has ACK flag set.

    Change:     [FW] Fix RESET packet flow in SYN-SENT state.

    Introduced: Day 1.

    Relevance:  TCP option 2.

16. Problem:    Recovery flow will cause FW assertion.

    Change:     [FW] Fix recovery (clear SQ) flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

17. Problem:    Function Close ramrod may fail if connections previously
                experienced errors.

    Change:     [FW] Fix activity counter code in firmware error handling code.

    Introduced: Day 1.

    Relevance:  RoCE.

18. Problem:    Cont00093097 - [ESX-AH-A2-RoCE]::Get FW assertion while running
                RoCE traffic through RoCE-IOVP tests.

    Change:     Wait for CIDs to be freed before moving QP to RTR.

    Introduced: 8.14.0.0.

    Relevance:  RoCE.

19. Problem:    aRFS doesn't work in NPAR mode as expected due to lack of
                LLH mac configuration.

    Change:     Disable aRFS for NPAR mode.

    Introduced: Day 1.

    Relevance:  L2.

20. Problem:    CQ93835 - System crash while booting into WS2012 OS
                in NPAR mode.

    Change:     Fails to acquire the resc lock. Increased the retry
                count now to suit NPAR scenario.

    Introduced: Day 1.

    Relevance:  NPAR.

21. Problem:    Under high rate of RoCEv2 CNP packets, there could be Tsem
                attention of FIC error.

    Change:     [FW] Added SW workaround - initialized NIG_REG_STORM_CREDIT to
                0xb in AH.

    Introduced: Day 1.

    Relevance:  RoCEv2 DCQCN.

22. Problem:    CQ93832 - Chip may be stuck in case Firmware decides to drop a
                packet during MPA negotiation.

    Change:     [FW] Fix the firmware flow that dropping a packet.

    Introduced: Day 1.

    Relevance:  iWARP.

23. Problem:    CQ93668 - Disabling or enabling DCBX during traffic may result
                in HW attention.

    Change:     [FW] Fix a corner case in DCB update flow.

    Introduced: Day 1.

    Relevance:  TCP, RoCE.

24. Problem:    CQ93929, CQ94152 - Firmware assertion may occur when getting RST
                during MPA negotiation.

    Change:     [FW] Fix a corner case in MPA negotiation flow when getting a
                RST.

    Introduced: Day 1.

    Relevance:  iWARP.

25. Problem:    Using DCQCN with more than 64 QPs will results with incorrect
                CNPS produced.

    Change:     [FW] Fix DCQCN NP flow.

    Introduced: FW 8.30.3.0.

    Relevance:  RoCE.

26. Problem:    PF0/1 fails to initialize with old MFW on IOV-capable device.

    Change:     Don't let the VFs consume all the L2 queues.

    Introduced: 8.18.9.0.

    Relevance:  MFW older than 8.15.

27. Problem:    CQ94175 - DSCP DCB is not working correctly
                for DSCP values > 31.

    Change:     [FW] Fixed DCB DSCP FW flow (support 6-bit DSCP).

    Introduced: Day 1.

    Relevance:  All.

28. Problem:    CQ94123 - HW attention may occur if RST arrives during
                TCP negotiation.

    Change:     [FW] Fix the flow that handled incoming RST during
                TCP negotiation.

    Introduced: Day 1.

    Relevance:  iWARP.

29. Problem:    CQ94236,CQ94221,CQ94228 - HW attention may occur on a
                stressed system.

    Change:     [FW] Fix HW initialization.

    Introduced: FW 8.30.5.0.

    Relevance:  iWARP, iSCSI, RoCE.

30. Problem:    Internal parameter VNIC per port value can be evaluated to 0
                and it forces cause a crash.

    Introduced: Day 1.

    Change:     Replace with value of 1 if evaluated to 0.

    Relevance:  Theoretical bug, happens mainly on bring up phase
                (ASIC emulation).

31. Problem:    CQ94296 - Doorbell drop occurred.

    Change:     Interim fix in driver: Invoke db recovery periodically.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Update device friendly names as per OEM request.

 2. Request:    Add new Channel device support.

 3. Request:    Update VF friendly names to match with PF names.

 4. Request:    CQ93984 - OEM requests to change SVID/SDID for 1x100/2x25/1x25
                SKU in windows driver.

 5. Request:    CQ94479 - WOL parameter missing in advanced properties on some
                OEM adapters.

 6. Request:    Add FW asserts to crash dumps.

 7. Request:    Remove WDF co-installer DLL from package.
                Change KMDF version to 1.11.

 8. Request:    Added qevbd initial support for UFP.

 9. Request:    Added support for indicating SVID change to storage miniports
                in switch dependent network partitioning mode.

10. Request:    Collect minimal debug data if possible even if device not
                fully initialized.

11. Request:    Added new OEM device support.

12. Request:    Add ecore lldp support. APIs added are ecore_lldp_register_tlv()
                ecore_lldp_get_params(), ecore_lldp_set_params() and
                ecore_lldp_set_system_tlvs(). Added support for notification of
                the received LLDP TLVs.

13. Request:    Change offload behavior when protocol app-tlv is not present in
                DCBx negotiation result: FW will not override offloaded traffic
                with vlan tag and or dscp value unless there is an explicit app
                tlv for that protocol.

14. Request:    DCQCN will no longer enable ECN by default. Instead, added a
                separate knob to control ECN value.

15. Request:    Add API to export board's name and revision.

16. Request:    Support L2 classification of flows by UDP port.

17. Request:    [FW FCoE] PCIe transactions of data placement changed to be done
                with relaxed ordering by FW.

18. Request:    [FW ETH/Core] Add "HW QoS_Offload" support.

19. Request:    [FW iSCSI Target] DIF on immediate - control if initial_ref_tag
                will be taken from configuration or from the LBA.

20. Request:    [FW TCP] Add UFP support.

21. Request:    [FW RoCE] Add UFP support.

22. Request:    Ecore API change ecore_mcp_get_media_type().

23. Request:    Support rx data placement configuration for VFs.

24. Request:    Add new API - ecore_recovery_prolog() - which should be called
                as the first step of a recovery handler.

25. Request:    [ETH] Support steering by UDP destination port.

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

Fixes:
------
 1. Problem:    CQ93666 - TM attentions when loading eth driver over rdma
                capable PF.

    Change:     Enable hw timers only if rdma is activated.

    Introduced: 8.30.1.0.

    Relevance:  All.

 2. Problem:    CQ93827 - Firmware assertion while running RoCE V2 traffic
                in NPAR mode.

    Change:     Treat "no action required" in doorbell attention as valid.

    Introduced: 8.30.1.0.

    Relevance:  Npar.

 3. Problem:    ecore_spq_block() returns success if a ramrod is not completed.

    Change:     Return failure in this case.

    Introduced: 8.30.0.0.

    Relevance:  All.

 4. Problem:    The init tool operation doesn't fail in case a
                'INIT_SRC_RUNTIME' write command fails.

    Change:     Return failure in this case.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    ecore_db_recovery_teardown() can be called from the error flow
                of ecore_resc_alloc(), while the db_recovery list is not
                initialized.

    Change:     Move ecore_db_recovery_setup()to the beginning of
                ecore_resc_alloc() of ensure the list is initialized.

    Introduced: 8.30.2.0.

    Relevance:  All.

 6. Problem:    The default GRC Dump in AH doesn't dump PHY data and static
                debug data due to a bug in PHY dump (static debug data can still
                be dumped using the option "-exclude phy").

    Change:     [FW] Fixed PHY dump in GRC Dump.

    Introduced: FW 8.18.8.0.

    Relevance:  All (debug tools only).

 7. Problem:    Receive segmented AHS may cause connection error.

    Change:     [FW] Fix RX flow.

    Introduced: Day 1.

    Relevance:  iSCSI (Target only).

 8. Problem:    PCIe read response with an error in the CFC is expected during
                an unprepared PF FLR. Currently the CFC is configured to be
                disabled in such a case, which is fatal error.

    Change:     [FW] Masked T/CCFC PCIe read response with error (error_mask bit
                5).

    Introduced: Day 1.

    Relevance:  All.

 9. Problem:    in 100g, clearing the DNTFWD_PORT indication during port-phase
                of first engine's initialization may lead to a parity if
                physical link is up.

    Change:     [FW] Changed NIG_REG_BRB_GATE_DNTFWD_PORT to driver runtime. The
                driver should set the runtime value on port init phase.

    Introduced: Day 1.

    Relevance:  All (100G only).

10. Problem:    SEMI debug bus filters are not working.

    Change:     [FW] Fixed SEMI debug bus filters configuration.

    Introduced: FW 8.18.8.0.

    Relevance:  All (debug tools only).

11. Problem:    CQ93730 - Firmware doesn't complete MPA negotiation in case
                of Reject if RST had arrived after the MPA request.

    Change:     [FW] Fix Reject flow in case RST was detected.

    Introduced: Day 1.

    Relevance:  iWARP.

12. Problem:    The QM global rate limiters upper bound is not set properly. As
                a result there is a long delay time from rate configuration
                change to affective rate change.

    Change:     [FW] Set QM global rate limiters upper bound according to link
                speed. link_speed parameter was added to the HSI functions
                qm_pf_rt_init and init_vport_rl.

    Introduced: Day 1.

    Relevance:  RoCEv2 DCQCN.

13. Problem:    GRC Dump of BRB/BTB/BMB RAM with blocks of size 256 bytes
                doesn't work.

    Change:     [FW] Fixed GRC Dump of BRB/BTB/BMB RAM with blocks of size 256
                bytes.

    Introduced: Day 1.

    Relevance:  All (debug tools only).

14. Problem:    CQ93743 - Firmware assertion may happen when getting a RST
                during MPA negotiation.

    Change:     [FW] Fix a corner case in MPA negotiation flow when getting a
                RST.

    Introduced: Day 1.

    Relevance:  iWARP.

15. Problem:    CQ44122 - Ramrod Stuck during RXQ START.

    Change:     [FW] Masked PSWHST hst_incorrect_access interrupt.

    Introduced: Day 1.

    Relevance:  L2.

16. Problem:    DCBX state is set to disabled when configuring multiple
                parameters.

    Change:     Retain the user configurations till the config is applied to
                the hardware.

    Introduced: Day 1.

    Relevance:  DCBX configuration.

Enhancements:
-------------
 1. Request:    Add new Channel devices.

 2. Request:    VFs can support mapped doorbell bar for increased CID count.

 3. Request:    Add support for driver attributes repository in the MFW.

 4. Request:    Add new API - ecore_vf_get_num_cids() communicating number
                of connections available for the VF.

 5. Request:    [FW TCP] Moving to work with high precision timer in timestamps.

 6. Request:    [FW FCoE] Add UFP support.

 7. Request:    [FW] Implement Init Tool portion of 100G system architecture
                spec.

 8. Request:    Link indication now reflects virtual link instead of physical
                [with sufficiently new MFW].

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

Fixes:
------
 1. Problem:    A parity error that is not associated with a HW block is not
                masked when it is asserted.

    Change:     Mask the parity error in this case.

    Introduced: 8.30.0.0.

    Relevance:  All.

 2. Problem:    DCBX setapp implementation configures invalid app entries.

    Change:     Configure only the requested number of dcbx app entries.

    Introduced: Day 1.

    Relevance:  DCBX app configuration.

Enhancements:
-------------
 1. Request:    Update OEM Friendly names as per request.

 2. Request:    Add new Channel devices.

 3. Request:    Restore broken CMT functionality.

 4. Request:    Added Ecore API ecore_mcp_is_smart_an_supported().

 5. Request:    Added support for SmartAN capability/state information.

 6. Request:    Add ecore support for UFP.

Version 8.30.1.0 (May 07, 2017)
===============================
Internal FW 8.30.4.0

Fixes:
------
 1. Problem:    CQ93271 - System crash while running disable enable
                qevbd interface in legacy interrupt mode.

    Change:     LL2 flow is fixed.

    Introduced: Day 1.

    Relevance:  LL2.

 2. Problem:    In case of CMT, the DCBX configuration for the 2nd engine is
                read from a wrong section in the shmem.

    Change:     Always read the configuration from the section of port #0.

    Introduced: Day 1.

    Relevance:  DCBX in CMT.

 3. Problem:    MPA Reject lead to leak of free eps.

    Change:     Return ep object to free list in reject flow.

    Introduced: 8.18.17.0.

    Relevance:  iWARP.

 4. Problem:    The macro that sets a field of the MFW HSI data can lead to
                overriding of other fields.

    Change:     Fix the macro.

    Introduced: 8.18.6.0.

    Relevance:  All.

 5. Problem:    RDMA application hangs when using EDPM.

    Change:     Round up the number of CPUs to the nearest power of 2 so
                the size of the DPI configured in the hardware will be stored
                properly and not truncated.

    Introduced: 8.30.0.0.

    Relevance:  RDMA.

 6. Problem:    CQ92934 - 'ethtool --show-eee' displays EEE status as not
                supported after setting EEE off.

    Change:     Read the value for eee supported capabilities from shared memory
                contents populated by MFW.

    Introduced: Day 1.

    Relevance:  EEE.

 7. Problem:    CQ92765 - Fragment Offset field in IPv4 Packets may be incorrect
                in reused CIDs.

    Change:     [FW] Fix Fragment Offset initialization.

    Introduced: FW 8.18.10.0.

    Relevance:  TCP.

 8. Problem:    CQ92827 - HW attention or data digest error in case data digest
                is enabled.

    Change:     [FW] Fix retransmit flow.

    Introduced: Day 1 (data digest error), 8.30.0.0 (HW attention).

    Relevance:  iSCSI with data digest.

 9. Problem:    CQ92953 - Corrupted retransmit or FW assertion.

    Change:     [FW] Fix unsolicited data flow.

    Introduced: Day 1.

    Relevance:  iSCSI (Target only).

10. Problem:    CQ92301, CQ92431, CQ92465 - Firmware assertion may happen when
                opening or closing many connections.

    Change:     [FW] Fix a race condition in Firmware flow.

    Introduced: Day 1.

    Relevance:  iWARP, iSCSI, FCoE.

11. Problem:    Getting TERMINATE during MPA negotiation when working against
                other adapters.

    Change:     [FW] Fix message offset field on Read request packet.

    Introduced: FW 8.30.1.0.

    Relevance:  iWARP.

12. Problem:    CQ92424 - When peer is unreachable, connection tear-down may
                take ~45 seconds.

    Change:     [FW] Decrease threshold for maximum count of retransmissions
                before reporting an error.

    Introduced: Day 1.

    Relevance:  iWARP.

13. Problem:    CQ92673 - Driver may get stuck when trying to close a connection
                during MPA negotiation.

    Change:     [FW] Support modifying the QP to error during MPA negotiation.

    Introduced: Day 1.

    Relevance:  iWARP.

14. Problem:    Firmware may stop transmitting after some time in a race
                condition that may happen when getting MPA Reject.

    Change:     [FW] Fix MPA transmission Firmware flow.

    Introduced: Day 1.

    Relevance:  iWARP.

15. Problem:    Seeing errors while running OpenMPI against other adapters.

    Change:     [FW] Allow interleaving of different types of DDPs.

    Introduced: Day 1.

    Relevance:  iWARP (interop only).

16. Problem:    Debug bus recording of PCIE block in AH may not work correctly.

    Change:     [FW] Fixed AH PCIE block to use the correct debug bus CSV.

    Introduced: FW 8.18.4.0.

    Relevance:  Debug tools.

17. Problem:    If GRC Dump buffer size is calculated while a debug bus
                recording is in progress, the calculated size doesn't include
                the static debug section. If the dump itself is taken after the
                recording has ended, the static debug section is dumped although
                a buffer wasn't allocated for it.

    Change:     [FW] When calculating the required GRC Dump buffer size, add the
                static debug section size even if a debug bus recording
                is in progress.

    Introduced: Day 1.

    Relevance:  Debug tools.

18. Problem:    Passive side - stuck in connect mode.

    Change:     [FW] Fix connect flow.

    Introduced: Day 1.

    Relevance:  iSCSI (Target only).

19. Problem:    GRC Timeout can occur when reading MCP_REG_FRM_BMB_FIFO_COMMAND
                during traffic.

    Change:     [FW] Excluded MCP_REG_FRM_BMB_FIFO_COMMAND from GRC Dump.

    Introduced: Day 1.

    Relevance:  Debug tools.

20. Problem:    EQ was not allocated to be deep enough to handle iWARP worst
                case of async events.

    Change:     Allocate twice as much elements for iWARP related events.

    Introduced: Day 1.

    Relevance:  iWARP.

21. Problem:    CQ93175 - DIF tags validation error.

    Change:     [FW] Fix retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

22. Problem:    The process of nvm read/write proceeds even if some operation of
                read/write fails.

    Change:     Fail the process in such a case.

    Introduced: 8.7.1.0.

    Relevance:  All.

23. Problem:    DCQCN CNPs packets are not transmitted.

    Change:     [FW] Fix DCQCN NP flow.

    Introduced: FW 8.30.2.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Added Ecore API ecore_get_queue_coalesce to read HW coalesce
                value for every queue.

 2. Request:    Add new optional OSAL - OSAL_MFW_CMD_PREEMPT(), mainly for
                single-threaded systems, to add a preemption within the spinning
                loops while sending a mailbox command to the MFW.

 3. Request:    Apply integration testing feedback to DCQCN.

 4. Request:    [FW] Allow Doorbell on empty SPQ (for doorbell recovery).

 5. Request:    [FW] Allow Doorbell on empty LL2 TX queue (for doorbell
                recovery).

 6. Request:    [FW] iSCSI option 2 - enable max_rt_time option - 20 sec.

 7. Request:    Register the SPQ doorbell with the doorbell recovery mechanism.

 8. Request:    Force user roce_edpm user configuration to 0 if an invalid
                value was configured by the driver.

 9. Request:    Allow PF to control whether to use SW/HW channel for VF
                communication of a per-VF basis.

10. Request:    [FW L2] Add support for outer IPv4 TX CSO with unknown tunnel
                type (in addition to inner header CSO).

11. Request:    [FW L2] Support flow ID in aRFS flow.

12. Request:    [FW L2] Add UFP support.

13. Request:    [FW RoCE] DCQCN support for unlimited number of QPs (instead of
                just 64).

14. Request:    RoCE: add DCQCN statistics support.

15. Request:    Added support of Linux Integration Services (LIS)
                4.1.3-2 as Linux guests under Hyper-V virtualization
                on Windows Host.

16. Request:    Added INF profiles for OEM board.

17. Request:    Clear Static and SDV Code Analysis warnings.

Version 8.30.0.0 (Apr 21, 2017)
===============================
Internal FW 8.30.0.0

Fixes:
------
 1. Problem:    CQ91188 - VM crashes upon PF load unload while jumbo traffic
                is running between vfs on different pfs.

    Change:     VF detects forced or available speed, even if PF link is down.

    Introduced: MFW 8.18.10.0.

    Relevance:  SRIOV/VF.

 2. Problem:    CQ91189 - One time crash seen while load-unload of VBD driver
                due to bad register access to device.

    Change:     Fix register accessing policy mechanism.

    Introduced: 8.18.15.0.

    Relevance:  All.

 3. Problem:    CQ91213 - system crush while resuming from Hibernate when
                one of the miniport is disabled but VBD of same PF is enabled.

    Change:     Fix resume flow to not access hardware.

    Introduced: 8.18.3.0.

    Relevance:  Power Resume flows.

 4. Problem:    CQ91096 - BSOD when running Random test runner(L2) on RDMA
                enabled vNIC on SET.

    Change:     Remove redundant and excessive debug traces.

    Introduced: Day 1.

    Relevance:  Checked build with stress scenario.

 5. Problem:    CQ91335 - AH2x25G iWARP: PFC Broken with latest 8.18.16
                components.

    Change:     Added iWARP DCB implementation.

    Introduced: Day 1 iWARP.

    Relevance:  iWARP.

 6. Problem:    CQ91407 - Speed & Duplex setting doesnï¿½t show Autoneg option
                for OEM adapter.

    Change:     Updated INF accordingly.

    Introduced: Day 1.

    Relevance:  Link.

 7. Problem:    DBUG bus is not created when two PCI functions are connected
                to one engine. The second function loading process
                releases DBUG bus buffer.

    Change:     When device reference count for DBUG bus dump is more than 1
                avoid release dump buffer.

    Introduced: Day 1.

    Relevance:  Crash dumping.

 8. Problem:    CQ89980 - WHLK-Test: StandardizedKeywords test failed on
                multiple scenario.

    Change:     Implemented L2_IOC_WOL in VBD to get current wol state.

    Introduced: Day 1.

    Relevance:  WHLK compliance.

 9. Problem:    CQ91392 - Load QEVBD driver causes BSOD in WinPE.

    Change:     Don't report RoCE/iWARP when running on WinPE OS's.

    Introduced: 8.18.10.

    Relevance:  iWARP/RoCE, Client OS.

10. Problem:    CQ91265 - iSCSI L2 target login fails with VLAN on Win2012R2
                based on OEM Solution.

    Change:     Changes are made to pick up VLAN configuration from iBFT table
                though the adapter pre-boot boot protocol is configured as PXE.

    Introduced: Day 1.

    Relevance:  iSCSI L2 OEM solution with VLAN.

11. Problem:    CQ91266 - Code-10 on VF interfaces when 160+ VFs are
                enumerated from both ports of AUT.

    Change:     PF intercepts access to VF MSIX table size and provide to VF
                a number of MSI-X vectors as number of used VF chains.

    Introduced: Day 1.

    Relevance:  SRIOV.

12. Problem:    CQ91260 - VM crashes upon turning off only when 3 or more vfs
                are assigned to it.

    Change:     Fix device surprise remove flow.

    Introduced: Day 1.

    Relevance:  SRIOV/VF.

13. Problem:    CQ91317 - Enabling NDIS after hibernate cause intermittent system
                crash.

    Change:     Fix hibernate and resume to stop/init hw correctly.

    Introduced: 8.18.3.0.

    Relevance:  Power Resume flows.

14. Problem:    Crash dump generation fails in local boot with page file on
                FCoE target.

    Change:     Avoid extraction of GRC in case of page file mapped to
                iSCSI/FCoE LUN mapped on our device.

    Introduced: Day 1.

    Relevance:  Crash dumping.

15. Problem:    CQ90571 - Uncorrectable PCI Express Error 0x00000024 while
                running reboot test on Nano Server 2016.

    Change:     Fix illegal device access after device is in D3.

    Introduced: iSCSI Day 1.

    Relevance:  Power Down (Or reboot) with iSCSI.

16. Problem:    Memory dump file is not created when driver verifier is
                enabled.

    Change:     Don't use function that violate crash dump callback
                restrictions.

    Introduced: Day 1.

    Relevance:  Driver Verifier is enabled and BSOD happens.

17. Problem:    CQ92093 - FCoE LUN detection failure during install Ws2016 O.S.

    Change:     Update WWN Port/Node in driver structures.

    Introduced: Day 1.

    Relevance:  FCoE LUN when user change default configuration.

18. Problem:    CQ91691 - AH fails HLK WHQL OffloadVMMQ tests under WS2016.

    Change:     Fixed switch caps for non sriov switch.
                Fixed calculation of available queues in shared PF and its VF
                resources mode.

    Introduced: 8.18.12.0.

    Relevance:  VMMQ.

19. Problem:    CQ89918 - The default speed settings of Windows and Linux are
                different.

    Change:     Update default link speed to match with pre-boot link speed.

    Introduced: Day 1.

    Relevance:  Link.

20. Problem:    CQ91969 - Host crashes upon reboot when some of the npars
                are put into legacy interrupt mode.

    Change:     ROCE resource report under INTA is fixed.

    Introduced: Day 1.

    Relevance:  ROCE/INTA.

21. Problem:    System asserts while running diagnostic test using QCC GUI.

    Change:     Allocated required number of queues on 100G.

    Introduced: Day 1.

    Relevance:  Diagnostic.

22. Problem:    CQ92078 - Yellow bang (code 12) on one QEVBD NIC function
                after load/unload for few cycles.

    Change:     Changes are made to approve PNP Query Stop request only
                based on paging_path_cnt instead of BFS enable/disable.

    Introduced: Day 1.

    Relevance:  QEVBD load/unload with storage clients.

23. Problem:    CQ91521 - System hits assertion while trying to modify Jumbo
                MTU settings on PF with VFs enumerated.

    Change:     OSAL_IOV_VF_VPORT_STOP is introduced to allow upper-client to
                execute required operations before closing vport.

    Introduced: Day 1.

    Relevance:  SR-IOV.

24. Problem:    CQ93079 - Unsupported speed 1G seen from Miniport's
                Speed & Duplex properties.

    Change:     Removed unsupported 1G speed from channel devices.

    Introduced: Day 1.

    Relevance:  Link speed.

25. Problem:    CQ90788, CQ90801 - FW assert may happen when a connection is
                re-established after RST had arrived.

    Change:     [FW] Fix error handling flow.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

26. Problem:    Can't open connection with same 4-tuple after previous failed.

    Change:     Fix error handling flow in driver.

    Introduced: FW 8.18.9.0.

    Relevance:  iWARP.

27. Problem:    Use of non-initialized spinlock.

    Change:     Move initialization earlier.

    Introduced: Day 1 of iWARP.

    Relevance:  iWARP.

28. Problem:    CQ91001 - AH: PTP Sync not working.

    Change:     Add workaround for latching the 2-step ptp packets.

    Introduced: Day 1.

    Relevance:  PTP.

29. Problem:    The LL2 RX completion spin lock may be unlocked with a set of
                flags that is different from the ones it was locked with.

    Change:     Unlock the spin lock with the same set of flags it was locked
                with.

    Introduced: Day 1.

    Relevance:  LL2.

30. Problem:    Unsafe use of main ptt in ecore.

    Change:     Refine usage of main ptt in ecore and changes in several APIs
                to receive ptt parameter are:- ecore_hw_stop_fastpath(),
                ecore_hw_start_fastpath(), ecore_get_wake_info(),
                ecore_wol_buffer_clear() and ecore_sp_pf_update_tunn_cfg().

    Introduced: Day 1.

    Relevance:  All.

31. Problem:    CQ91465 - driver disable hits assert.

    Change:     Correctly release tcp cids.

    Introduced: Day 1.

    Relevance:  iWARP.

32. Problem:    CQ91499 - driver crash while unloading RDMA driver.

    Change:     iWARP related bitmaps should only be freed if iWARP is enabled.

    Introduced: 8.18.8.0.

    Relevance:  iWARP.

33. Problem:    CQ91210 - driver assert while unloading during traffic.

    Change:     wait for all cids to be released.

    Introduced: Day 1.

    Relevance:  iWARP.

34. Problem:    Possibly race might lead to VF mistaken as malicious.

    Change:     PF should clear VF->PF channel FW status before reply to VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

35. Problem:    Possible race leading to VF time-out in multiple VF scenarios.

    Change:     Change logic for setting/clear pending events of VFs.

    Introduced: Day 1.

    Relevance:  SRIOV.

36. 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.

37. Problem:    Running a user space RDMA application fails with the message
                "Doorbell mapping failed". This happens when the kernel has a
                page size of 64kB.

    Change:     Align the normal region size to PAGE_SIZE.

    Introduced: Day 1.

    Relevance:  RDMA.

38. Problem:    SYN Packets received with errors aren't handled properly.

    Change:     Check error flags and drop SYN packet if it is received with
                error.

    Introduced: Day 1.

    Relevance:  iWARP.

39. Problem:    Memory leak when SYN packet processing fails.

    Change:     If SYN packet processing failed for any reason, return RX
                buffer to pool.

    Introduced: Day 1.

    Relevance:  iWARP.

40. Problem:    CQ91708 - FW assert when running load/unload during traffic.

    Change:     Wait for connections to close entirely before closing ll2
                connections.

    Introduced: Day 1.

    Relevance:  iWARP.

41. Problem:    Malicious VF can cause assert by using vport-stop.

    Change:     Don't send vport-stop to firmware from malicious VFs.

    Introduced: Day 1.

    Relevance:  SRIOV.

42. Problem:    CQ91871 - "ethtool -T" fails for two out of four Quest ports.

    Change:     Port_id is internal to the engine and ecore shouldn't use it as
                port_num. Ecore need to derive it from the absolute pf-id.

    Introduced: 8.18.11.0.

    Relevance:  PTP.

43. Problem:    Initial WWPN/WWNN values are incorrect.

    Change:     Flip bit-order of lower/upper 32-bit of said fields when read.

    Introduced: Day 1.

    Relevance:  FCoE.

44. Problem:    Possible division by 0 when the number of active ports is 0.

    Change:     Have a default value of 1.

    Introduced: Day 1.

    Relevance:  AH.

45. Problem:    Storage interface init might fail due to lack of ILT lines.

    Change:     Default ILT page size of 64Kb regardless of CONFIG_ECORE_ROCE.

    Introduced: Day 1.

    Relevance:  Storage compiling without CONFIG_ECORE_ROCE.

46. Problem:    AH VFs always have MSI-x table of 17 entries.

    Change:     Make sure all child VFs of the same PF have same MSI-x number.

    Introduced: Day 1.

    Relevance:  AH SRIOV.

47. Problem:    Receive window used for verification when receiving packets is
                wrongfully reduced by scaling it down and up.

    Change:     [FW] Fix receive window calculation.

    Introduced: Day 1.

    Relevance:  TCP.

48. Problem:    Rejecting a connection after MPA reply arrived is not working
                properly.

    Change:     [FW] Fix the flow that aborts the TCP connection without
                changing the QP state.

    Introduced: FW 8.18.11.0.

    Relevance:  iWARP.

49. Problem:    CQ91075 - FW assert may happen during retransmissions.

    Change:     [FW] Fix missing initialization of TCP receive window.

    Introduced: FW 8.18.10.0.

    Relevance:  iWARP.

50. Problem:    Post send before connection is established doesn't work.

    Change:     [FW] Initialize Send-Queue parameters during create QP rather
                than when moving to full mode (after connection is established).

    Introduced: Day 1.

    Relevance:  iWARP.

51. Problem:    CQ90930 - FW assert in case of tcp window edge going backward
                during fast-rxmit.

    Change:     [FW] Fix fast-rxmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

52. Problem:    PF ID not configured correctly in aRFS profile.

    Change:     [FW] Fix set_rfs_mode_enable HSI function.

    Introduced: Day 1.

    Relevance:  L2.

53. Problem:    CQ91241 - Receiving Syn or Syn-Ack packet with MSS option
                smaller than 536 will not be accepted.

    Change:     [FW] Change MSS minimum to 64 in validation.

    Introduced: FW 8.18.5.0.

    Relevance:  TCP.

54. Problem:    RTR may accidentally sent after RST had arrived.

    Change:     [FW] Don't send RTR if we already got RST.

    Introduced: FW 8.18.11.0.

    Relevance:  iWARP.

55. Problem:    Wrong CQE opcode was written during underRun flow with sense
                data.

    Change:     [FW] Change under run flow.

    Introduced: FW 8.10.4.0.

    Relevance:  iSCSI Initiator.

56. Problem:    Firmware may send incorrect sequence number on packets after
                detecting an error.

    Change:     [FW] Sync Tx-path with correct TCP sequence number once error is
                detected.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

57. Problem:    StatSN FW validation error in case of non-first login response
                with Status-Class = 0.

    Change:     [FW] Fix the StatSN validation.

    Introduced: Day 1.

    Relevance:  iSCSI.

58. Problem:    When moving from slow start to congestion avoidance stage the
                cwnd is wrongfully calculated (as if we are still in slow
                start stage).

    Change:     [FW] Fix calculation of cwnd.

    Introduced: Day 1.

    Relevance:  TCP.

59. Problem:    Wrong initial slow start threshold was used after connection
                establishment.

    Change:     [FW] Initialize slow start threshold to 64K.

    Introduced: FW 8.10.4.0.

    Relevance:  iSCSI, iWARP.

60. Problem:    Performing multiple destroy QP ramrods under stress, may cause
                transmission queues getting stuck.

    Change:     [FW] Fixed transmission queues credit calculation.

    Introduced: Day 1.

    Relevance:  RoCE.

61. Problem:    Block name in attentions parsing can be wrong.

    Change:     [FW] Fixed block names.

    Introduced: FW 8.18.10.0.

    Relevance:  Debug tools.

62. Problem:    Conn/Task AC management problems in Rx path.

    Change:     [FW] Fixed AC management, and other RQ WQE problems in Rx error
                paths.

    Introduced: Day 1.

    Relevance:  iWARP.

63. Problem:    CQ91528, CQ91526 - FW assertion or data corruption may occur
                during retransmissions of RDMA READ_RSP.

    Change:     [FW] Fixed retransmission TX path.

    Introduced: Day 1.

    Relevance:  iWARP.

64. Problem:    CQ915210 - FW assertion may occur on a race condition where we
                are getting RST and sending RST at the same time.

    Change:     [FW] Don't handle incoming RST in case we have already sent a
                RST.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

65. Problem:    If the number of unacked PSNs exceeds 2147483647 inline WQEs
                will be dropped.

    Change:     [FW] Fix transmission flow.

    Introduced: FW 8.18.2.0.

    Relevance:  RoCE.

66. Problem:    CQ91393 - Chip may be stuck if Firmware detected an error on TX
                path.

    Change:     [FW] Fix error handling flow in TX path.

    Introduced: FW 8.18.10.0.

    Relevance:  iWARP.

67. Problem:    Chip may be stuck if Firmware detected an error on RX path.

    Change:     [FW] Fix error handling flow in RX path.

    Introduced: FW 8.18.10.0.

    Relevance:  iWARP.

68. Problem:    Benign attention doorbell almost full triggers attention
                handling in driver needlessly.

    Change:     [FW] Mask almost full attention.

    Introduced: Day 1.

    Relevance:  All.

69. Problem:    CQ91527, CQ91654 - Retransmission flow in rare cases might cause
                HW attention.

    Change:     [FW] Fix retransmission flow.

    Introduced: Day 1.

    Relevance:  RoCE.

70. Problem:    Theoretical bug can occur when an unaligned FPDU is split over
                more than 2 tcp segments and a buffer is posted back to rx
                chain before FW completed processing other packets placed on
                the same tcp segment.

    Change:     Change buffer repost flow to go via tx chain to ensure all
                previous data has completed transmission.

    Introduced: 8.18.12.0.

    Relevance:  iWARP unaligned MPA flows.

71. Problem:    CQ92275 - Driver crash when attempting to open more than
                supported number of QPs.

    Change:     Don't assert.

    Introduced: Day 1.

    Relevance:  iWARP.

72. Problem:    CQ92056 - FW assert when performing load/unload during traffic.

    Change:     Handle case where reset arrives for a connection that was not
                yet accepted.

    Introduced: FW 8.18.15.0.

    Relevance:  iWARP.

73. Problem:    CQ91975 - memory leak.

    Change:     Fix memory leaks in destroy qp and driver unload
                flow.

    Introduced: Day 1.

    Relevance:  iWARP.

74. Problem:    CQ92275 - Can't create number of qps requested.

    Change:     When allocating resources take into account additional
                preallocated cids and make sure requested number of qps
                is available.

    Introduced: Day 1.

    Relevance:  iWARP.

75. Problem:    PTP filters are being configured incorrectly for some ptp modes.

    Change:     Fixed the errors in ptp filter config implementation.

    Introduced: Day 1.

    Relevance:  PTP.

76. Problem:    STAG value received from the MFW is not propagated to firmware.

    Change:     Send updated STAG configuration to the Firmware.

    Introduced: 8.18.6.0.

    Relevance:  STAG update from MFW.

77. Problem:    CQ93271 - System crash while running disable enable
                qevbd interface in legacy interrupt mode.

    Change:     LL2 flow is fixed.

    Introduced: Day 1.

    Relevance:  LL2.

Enhancements:
-------------
 1. Request:    Added the following iWARP provider interface api:
                iwarp_send_rtr and iwarp_tcp_abort.

 2. Request:    Added INF profiles for OEM board.

 3. Request:    Add support of fast creation MCP trace.

 4. Request:    Add OSAL_DIV_S64 macro - division 64-bit values for
                compatibility with eCore implementations.

 5. Request:    Update friendly name of OEM device.

 6. Request:    Add support for debug data "igu_fifo" embedded
                in memory dump data.

 7. Request:    Split crash dump creation from WinDbg.

 8. Request:    Clear debug information on chip's initialization.

 9. Request:    Read PCI configuration space from OS APIs, avoid
                hard coded offsets.

10. Request:    Add support for VBD to work with previously certified miniport
                drivers, and in addition, also add support for fallback
                mechanism to basic L2 interface when RDMA client/provider
                interface doesn't match with NDIS miniport driver.

11. Request:    Add EEE support for OEM devices.

12. Request:    Add Event log message in case of Fan Failure or Temperature
                Overheat.

13. Request:    Added support for mdump collect and clear operations.

14. Request:    Add support doorbell recovery.

15. Request:    Added INF profiles for OEM board.

16. Request:    CQ90608 - when setting link via ecore_mcp_set_link(), always
                inform client via OSAL_LINK_UPDATE of current state.

17. Request:    [FW] Add support for iWARP (phase 2).

18. Request:    Add Support for WoL writes via MFW mailbox for AH.

19. Request:    Implement PTP MFW resource locking mechanism. Only PF which
                holds this lock is allowed to use ptp clock on the port.

20. Request:    Add an option to override the default force load behaviour.

21. Request:    Added new API ecore_iwarp_tcp_abort().

22. Request:    Add support for the mdump GET/CLR_RETAIN sub commands.

23. Request:    RoCE/iWARP: On MR de-registration failure, try again after a
                1msec delay, instead of immediately draining the NIG.

24. Request:    Add support for Energy efficient ethernet (EEE) feature.

25. Request:    Added OSAL_DIV_S64() to help 64-bit division
                on 32-bit platforms.

26. Request:    Add a warning printout in case of a DID mismatch between
                nvm-cfg/efuse.

27. Request:    PF ECORE allows to UL to prevent HW overriding VF MSI-X
                table size.

28. Request:    Mask parity errors once they are asserted.

29. Request:    Add support for unaligned MPA packets received over
                more than two tcp segments.

30. Request:    Add unaligned rx packets received statistic for iWARP.

31. Request:    ecore_iov_pf_add_pending_events() is removed.
                ecore_iov_pf_get_and_clear_pending_events() is renamed
                ecore_iov_pf_get_pending_events().

32. Request:    If iWARP receive window size configured is less than the
                minimum 64K, 64K will be set instead of 1M. Remove support for
                configuring a default value in case a value is not provided.

33. Request:    Revise the locking scheme for the access to the MFW mailbox.

34. Request:    Add initial support for E5 DIDs.

35. Request:    Block sending of mailbox commands to the MFW if it is not
                responsive.

36. Request:    Removed the API ecore_mcp_nvm_command(). And moved the API
                declarations ecore_mcp_nvm_rd/wr_cmd() from ecore_mcp.h to
                ecore_mcp_api.h.

37. Request:    Initialize FW parameter for max fin retransmit before
                sending reset.

38. Request:    Restricting iWARP max MSS value for sake of performance.

39. Request:    ecore_ll2_acquire_data is re-factored; New sub-struct named
                ecore_lla_acquire_data_inputs added.

40. Request:    Fix compilation warnings of the following types -
                unused-but-set-variable, unused-variable and unused-function.

41. Request:    [FW] Have de-register MR completing successfully without
                requiring NIG drain for misbehaving applications which
                de-register MR which is under usage.

42. Request:    [FW] Add support for 'drop' destination for LL2 TX packets.

43. Request:    [FW] RoCE - Improving latency for IOs upto 8192 bytes for
                operations read, write, send and atomic.

44. Request:    [FW] Support Resize CQ Ring.

45. Request:    [FW] Add support for DIF on immediate data (Phase I).

46. Request:    Allow configuring RoCEv2 UDP source port by the driver.

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

Fixes:
------
 1. Problem:    Not zeroing the whole union data of the MFW mailbox, and thus
                disabling future extension of existing union members.

    Change:     Zero the whole union data before copying the actual union
                member.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Outbound limit of the initiator isn't reduced in case inbound
                limit of the peer is lower.

    Change:     Reducing the limit accordingly.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ90180, CQ88940, CQ90409, CQ90313 - Condition race between MFW
                attentions and pf stop command during unload flow cause ASSERT.

    Change:     Sync PF stop and MFW UNLOAD Request flow.

    Introduced: Day 1.

    Relevance:  Unload, Power Management.

 4. Problem:    CQ90157 - PTP sync fails after restarting ptp4l application.

    Change:     Reset the Rx-timestamp register when configuring the rx filters.
                This is a work-around till we root-cause the issue of missing/
                FW-dropped PTP packet when the application is restarted.

    Introduced: Day 1.

    Relevance:  PTP.

 5. Problem:    CQ90915 - Cannot start all VFs due to lack of queues.

    Change:     Assign VF-queues and only later the PF-queues.

    Introduced: Day 1.

    Relevance:  L2.

 6. Problem:    Can't set interrupt coalescing of 128+ usecs.

    Change:     Pass igu index instead of protocol index in coalesce flow.

    Introduced: 8.18.7.0.

    Relevance:  All.

 7. Problem:    IPv4 Packets were transmitted with the flag 'dont fragment'
                cleared.

    Change:     [FW] Set the 'dont fragment' flag.

    Introduced: Day 1.

    Relevance:  TCP.

 8. Problem:    SYN-ACK packets with TS option were sent with wrong ts_echo
                value.

    Change:     [FW] Fix extraction of ts_val from SYN packet.

    Introduced: FW 8.10.3.0.

    Relevance:  TCP option 2 with timestamp enabled.

 9. Problem:    In rare cases when running with more than 2 QPs and sending
                read/atomic request, completion error may be generated.

    Change:     [FW] Fix transmission flow.

    Introduced: Day 1.

    Relevance:  RoCE, iWARP.

10. Problem:    Reading DBU_REG_CMD in AH as part of GRC Dump can cause an
                address error.

    Change:     [FW] Excluded DBU_REG_CMD from GRC Dump in AH.

    Introduced: Day 1.

    Relevance:  Debug tools.

11. Problem:    Application may hang when re-establishing a connection after it
                was rejected.

    Change:     [FW] Fix MPA reject flow.

    Introduced: FW 8.18.9.0.

    Relevance:  iWARP.

12. Problem:    Always trying to release the resource lock when the resource
                allocation fails, even when it is not needed.

    Change:     Try to release only when it is required.

    Introduced: 8.18.7.0.

    Relevance:  All.

13. Problem:    CQ91075 - iWARP assert during boot with latest components.

    Change:     Fix driver initialization of default number of ooo buffers.

    Introduced: 8.18.9.0.

    Relevance:  All.

14. Problem:    CQ90379: Driver provides MFW with bad primary MAC when changed.

    Change:     Prepare MAC in native endian order for MFW to read.

    Introduced: Day 1.

    Relevance:  All.

15. Problem:    CQ91156 - VM hitting BSOD upon updating driver software on vfs
                although clean install is successfull.

    Change:     Release resources flow for VF is fixed.

    Introduced: 8.18.12.0.

    Relevance:  SRIOV/VF.

16. Problem:    CQ90925 - PF fails to create Max VF vport with 8.18.xx
                components.

    Change:     L2Q acquiring mechanism is fixed.

    Introduced: 8.18.6.0.

    Relevance:  SRIOV.

17. Problem:    If dbus dump is created in crash handler other
                dumps are not created.

    Change:     Incorrect exit from device enumeration loop is fixed.

    Introduced: 8.18.9.0.

    Relevance:  Crash dumps creation.

Enhancements:
-------------
 1. Request:    Infrastructure changes toward supporting Multiple Txq on same
                queue zone for VF.

 2. Request:    Added new OSAL - OSAL_DPC_SYNC().

 3. Request:    Added ll2 option to limit the number of maximum bds per
                packet. This is to reduce descriptor size when maximum bds per
                packet is low and enable allocating a larger number of tx
                descriptors if needed.

 4. Request:    iWARP Support for packed and unaligned fdpus.

 5. Request:    Remove the un-needed ecore API ecore_ptp_enable_pkt2host().

 6. Request:    Read the BB/AH MAC counters from the suitable statistics bins.

 7. Request:    ecore_int_get_num_sbs() returns more information about SBs.

 8. Request:    Add new API ecore_int_igu_relocate_sb() to be used for moving
                SBs between PF and its child-VFs.

 9. Request:    ecore_queue_start_common_params needs SB reference instead
                of index.

10. Request:    Add new OSAL - OSAL_CRC8().

11. Request:    Add new OSAL - OSAL_CRC8_POPULATE().

12. Request:    [FW] iWARP performance optimization of WRITE & SEND flows.

13. Request:    [FW] RoCE support of Unreliable Datagram QP for GSI offload.

14. Request:    Added new API ecore_iov_pf_configure_vf_queue_coalesce(),
                PF configures the Rx/Tx coalesce values of its child-VFs
                on per Rx/Tx queue basis.

15. Request:    Add new OSAL - OSAL_CACHE_LINE_SIZE.

16. Request:    Add a restriction on the pad to cache line size register.

17. Request:    RoCE support of Unreliable Datagram QP for GSI offload.

18. Request:    Add Support for WoL writes via MFW mailbox for AH.
                For WoL Bitmap Pattern support.

Version 8.18.14.0 (Jan 16, 2017)
================================
Internal FW 8.18.9.0

Fixes:
------
 1. Problem:    VM asserts on VF loading.

    Change:     Setup resources flow for VF is fixed.

    Introduced: 8.18.12.0.

    Relevance:  SRIOV/VF.

Version 8.18.13.0 (Jan 15, 2017)
================================
Internal FW 8.18.9.0

Fixes:
------
 1. Problem:    Fix the issue of bug check callback not able to collect
                grc dump when just PXE boot is enabled.

    Change:     Added check to restrict it for BFS-boot & not for PXE-boot.

    Introduced: When BFS support was added (8.10.15.0).

    Relevance:  GRC dump collection with PXE-boot enabled.

 2. Problem:    CQ90755 - Not able to see the Port level Diagnostics tests in
                E4 Brusells Adapter Port 0.

    Change:     Boot signature present bit is reported to applications as set
                by mistake for PXE-boot enable case. It is corrected now.

    Introduced: When BFS support was added (8.10.15.0).

    Relevance:  Tools interface & BFS determination area.

 3. Problem:    CQ90717 - Diagnostics test failing using both QCC GUI and
                QCS CLI on Windows.

    Change:     Implement missing CRC32 calculation for verification of image.

    Introduced: 8.18.0.0.

    Relevance:  NVRAM diagnostic test.

Enhancements:
-------------
 1. Request:    Corrected the BFS checks in VBD stop flows.

 2. Request:    Support shared resources pool between PF and its child-VFs.

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

Fixes:
------
 1. Problem:    CQ90798 - Assertion occures during system reboot.

    Change:     Accessing pci cfg space after BME is off.

    Introduced: 8.18.0.0.

    Relevance:  If WoL is enabled in NVRAM.

 2. Problem:    CQ90907 - Continuous SGMII 10M/100M interrupts in AN mode.

    Change:     Removed all NWM and NWS initializations from the Init Tool.

    Introduced: Day 1.

    Relevance:  All.

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

Fixes:
------
 1. Problem:    CQ90621 - System crash upon PF enable/disable with verifier on.

    Change:     Missing synchronization and it is taken care now.

    Introduced: 8.10.15.0.

    Relevance:  All.

 2. Problem:    Assert in ecore_sp_vf_start() while installing drivers for VF.

    Change:     Added missing initialisation in case of personality is iWARP.

    Introduced: iWARP Day 1.

    Relevance:  iWARP and SRIOV coexistence.

 3. Problem:    Responder doesn't set peer2peer correctly in MPA rev2 in some
                cases.

    Change:     Fix driver to always respond with peer2peer in MPA rev2 if
                requester requested peer2peer mode.

    Introduced: 8.18.4.0.

    Relevance:  iWARP MPA enhanced mode.

 4. Problem:    CQ90010 - FW may accidentally drop packets when Tx Switching
                Same-as-Last feature is enabled.

    Change:     [FW] Fix Tx Switching Same-as-Last classification logic.

    Introduced: Day 1.

    Relevance:  SRIOV.

 5. Problem:    CQ90198 - Firmware may not give flush on incomplete SQ wqes
                after the QP was moved to error state.

    Change:     [FW] Fix the error handling flow that give flushes to SQ.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

 6. Problem:    Placement to an address out of the MR scope may pass firmware
                verifications.

    Change:     [FW] Fix the calculation of the last byte address of the MR.

    Introduced: Day 1.

    Relevance:  iWARP, RoCE.

 7. Problem:    Destination GID was missing from LL2 RX GSI API.

    Change:     Add it.

    Introduced: Day 1.

    Relevance:  iWARP, RoCE.

 8. Problem:    Assert in ecore_sp_vf_start() while installing drivers for VF.

    Change:     Added missing initialization in case of personality is iWARP.

    Introduced: iWARP Day 1.

    Relevance:  iWARP and SRIOV coexistence.

 9. Problem:    GRC Dump corrupts a debug bus recording that was taken on
                another PF on the same engine.

    Change:     [FW] Skip static debug dump if the DBG block is enabled
                (indicates that a debug bus recording is in progress).

    Introduced: Day 1.

    Relevance:  Debug Tools.

10. Problem:    GRC Dump writes to protected registers, causing error entries
                in REG FIFO.

    Change:     [FW] Modified GRC Dump to avoid taking LED and AVS_WRAP blocks
                out of reset.

    Introduced: FW 8.10.5.0.

    Relevance:  Debug Tools.

11. Problem:    A DPM doorbell can cause a false parity attention.

    Change:     [FW] Initialized the entire DORQ WQE buffer with zeros.

    Introduced: Day 1.

    Relevance:  RoCE.

12. Problem:    CQ90473 ï¿½ DCQCN packets may not be received in BB B0 in 100G,
                2x50G and 4x25G mode.

    Change:     [FW] HW bug workaround - initialize the register to the correct
                value.

    Introduced: Day 1.

    Relevance:  RoCE DCQCN.

13. Problem:    DMAE failure when stopping RDMA during the unload phase of the
                recovery process.

    Change:     Avoid DMAE transactions while a recovery is in progress.

    Introduced: Day 1.

    Relevance:  Error recovery.

Enhancements:
-------------
 1. Request:    VF tunneling ecore support.

 2. Request:    VF ethtool coalescing ecore support.

 3. Request:    Enable mutually exclusive rdma flavor.
                Added API via ecore_rdma_pf_params to configure RDMA flavor.

 4. Request:    iWARP support for MPA reject flow.

 5. Request:    iWARP support for RTR Read (Revision 2).

 6. Request:    Resource allocation interface v2.0 (setting values of soft
                resources).

 7. Request:    Client to provide vport & RSS engine IDs when initializing VFs.

 8. Request:    Add udp ports in bulletin to notify VFs for port change.

 9. Request:    Configure RDMA protocol according to user selection if HW
                supports it. Otherwise, RDMA protocl will be set according
                to the HW capability.

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

Enhancements:
-------------
 1. Request:    Add support of fast creation GRC dump and other command
                (mcp trace) in WinDbg in Live Debug session.

 2. Request:    Add support for override protect command.

 3. Request:    Added the initial support of OCBB for L2.

Version 8.18.8.0 (Dec 19, 2016)
===============================
Internal FW 8.18.7.0

Fixes:
------
 1. Problem:    CQ90214 - Speed of the VF is not same as that of the PF for
                WIN2016 OS.

    Change:     Updated bulletin board with link state during VF
                initialization.

    Introduced: Day 1.

    Relevance:  VF Link.

 2. Problem:    CQ90357 - iWARP wrong ird/ord values published.

    Change:     Set correct maximum ord/ird values for iWARP.

    Introduced: Day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Add support for the new load request flow for handling a
                previous driver unload.

Version 8.18.7.0 (Dec 14, 2016)
===============================
Internal FW 8.18.7.0

Fixes:
------
 1. Problem:    CQ90347 - System hit a bugcheck on disabling both ports from
                switch. System halts if CID resource is not available for
                allocation.

    Change:     Don't cause system halt, just return error code.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    CQ90311 - Disable Nop-Out and login to target, seeing
                "iscsi_error - rq ring full".

    Change:     BDQ resource management is fixed.

    Introduced: 8.18.4.0.

    Relevance:  Storage.

 3. Problem:    CQ90198 - freeing contiguous memory from dpc context.

    Change:     Fix ecore to free memory from passive context.

    Introduced: 8.18.4.0.

    Relevance:  iWARP.

 4. Problem:    CQ90033 - fw assert due to improper out-of-order handling.

    Change:     [FW] fix out-of-order trimming flow.

    Introduced: Day 1.

    Relevance:  iSCSI, iWARP.

 5. Problem:    CQ90098 - FW may not give completions after the connection was
                re-offloaded.

    Change:     [FW] Init all parameters when the connection is offloaded.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    CQ90334 - FW "flr_cleanup_func_invalid_state" Fatal Assert upon
                scenario of consecutive FLR Initial cleanups to function.

    Change:     [FW] Severity of "flr_cleanup_func_invalid_state" reduced to
                Warning (scenario may occur).

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    Firmware may be stuck if it gets a SYN packet with 40B of
                options.

    Change:     [FW] Support such scenario in Firmware.

    Introduced: Day 1.

    Relevance:  iSCSI Target, iWARP.

 8. Problem:    VF isolation problem - VF can cause parity errors by reading
                from X or Y Storm VF Zone.

    Change:     [FW] Fix Zone B configuration in init tool.

    Introduced: FW 8.18.2.0.

    Relevance:  SR-IOV.

 9. Problem:    Device transmitter pipe stuck.

    Change:     Use correct TC for loopback in 4 port environment.

    Introduced: Day 1.

    Relevance:  iWarp/iSCSI Arrowhead 4 port.

10. Problem:    Default number of iWARP OOO RX Buffers is 512 intead of 8K.

    Change:     Fix default value initialization.

    Introduced: Day 1.

    Relevance:  iWARP.

11. Problem:    CQ90310,CQ90311, CQ90219 - Incorrect input buffer thresholds of
                Pause and PFC.

    Change:     [FW] Fixed incorrect input buffer thresholds for better support
                of Pause and PFC.

    Introduced: Day 1.

    Relevance:  iSCSI, iWARP (AH only).

12. Problem:    CQ89928 - Asynchronous message of "QP catastrophic error" return
                during retransmit sequence.

    Change:     [FW] Fix retransmit flow.

    Introduced: Day 1.

    Relevance:  RoCE.

13. Problem:    CQ90121 - FW assertion after unloading will occur if
                register/deregister MR operation failed.

    Change:     [FW] Fix MR register and deregister flows.

    Introduced: Day 1.

    Relevance:  RoCE.

14. Problem:    CQ90472 - System crash while trying to create max Vfs on 1 port.

    Change:     Flow of VF creation/reject is fixed.

    Introduced: 8.18.60.

    Relevance:  SRIOV.

15. Problem:    CQ89963 - iSCSI LUN detection fails when load QEOIS on PORT-2.

    Change:     The way driver is reading nvm configuration is not proper for
                port-2 which is corrected now.

    Introduced: Day-1.

    Relevance:  BFS.

16. Problem:    CQ89958 - AH-10GbaseT-Duluth: System hits bugcheck while
                running WHCK test PCI Root Port Surprise Remove test
                on QEVBD driver.

    Change:     Fix memory leak related to RoCE resource on surprise
                remove test.

    Introduced: Day-1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Revise tunnel struct/APIs.

 2. Request:    Add support for usage of the MFW generic resource lock.

 3. Request:    RSS configuration via vport-update is done using queue-handles.

 4. Request:    New API: ecore_mcp_ov_get_fc_npiv - Read NPIV table from MFW.

 5. Request:    New API: ecore_mcp_update_fcoe_cvid - Send FCoE vlan to MFW.

 6. Request:    New API: ecore_mcp_update_fcoe_fabric_name - Send Fabric name
                to MFW.

 7. Request:    New OSAL: OSAL_HW_INFO_CHANGE to indicate of management changes
                to hw_info fields.

 8. Request:    OSAL_VALLOC is obsolete and is replaced by OSAL_VZALLOC which
                should also zero the memory.

 9. Request:    Change database of connections in OOO from linked list to array
                to improve search time.

10. Request:    Tunnelling APIs simplified.

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

Fixes:
------
 1. Problem:    Initialization fails due to supposed lack of VFs SBs.

    Change:     Correct calculation of first_vf_in_pf for servers with no ARI.

    Introduced: Day 1.

    Relevance:  AH, no ARI.

 2. Problem:    Firmware doesn't set the invalidate flag in RQ CQE when there
                is send w/ invalidate.

    Change:     [FW] Set the invalidate flag and invalidated S-TAG on the RQ CQE
                (when Send W/ Invalidate arrives).

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ89925, CQ90099, CQ90065, CQ90068, CQ90247 - Firmware may avoid
                sending SYN-ACK to the peer and stall the TX path.

    Change:     [FW] Fix the firmware flow on passive side.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    CQ90262 - Parsing SYN options field may cause Tcp offload ramrod
                to stuck.

    Change:     [FW] Fix Tcp options field parsing.

    Introduced: FW 8.10.3.0.

    Relevance:  iSCSI (Target), iWARP.

 5. Problem:    CQ90311 - Disable Nop-Out and login to target, seeing
                "iscsi_error - rq ring full".

    Change:     BDQ resource management is fixed.

    Introduced: 8.18.3.0.

    Relevance:  Storage.

Enhancements:
-------------
 1. Request:    L2 queue APIs changed - require less parameters to open
                queues and move into a handler-based implementation.

 2. Request:    Add ecore support for processing the TLV request from MFW.

 3. Request:    Improve cache-alignment of ecore_chain - place all fields
                required for produce/consume in a single cacheline [64 bytes].

 4. Request:    iWARP support for Read With Invalidate.

 5. Request:    iWARP - Add support for MPA revision 2 (enhanced).

 6. Request:    iWARP - Add support for SYN retransmit timeout indication.

 7. Request:    Added iSCSI-L2-Boot with VLAN support.

Version 8.18.5.0 (Nov 22, 2016)
===============================
Internal FW 8.18.5.0

Fixes:
------
 1. Problem:    Driver does not get completions when entering retransmit flow
                for high functions of an engine.

    Change:     Driver did not initialize a resource correctly.

    Introduced: 8.18.0.0.

    Relevance:  iWARP NPAR and 4-port mode.

 2. Problem:    CQ89024 - while running qperf a tid deregistration fails.
                Cause: after FW requested a NIG drain then the retransmitted
                ramrod is sent without properly configuring the itid.

    Change:     Properly configure the itid in the retransmitted ramrod.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

 3. Problem:    CQ90143 - iSCSI discovery fails if done while FCoE driver is
                loaded.

    Change:     Fail storage driver load if queue/cq request is beyond CQ
                resource allocation.

    Introduced: Day 1.

    Relevance:  iSCSI/FCoE.

 4. Problem:    HW attentions cause idle check failures even when they are
                masked.

    Change:     (FW) Updated idle check to consider attentions masking.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 5. Problem:    Possible garbage in PCIE Trace due to HW reset value bug.

    Change:     (FW) HW bug workaround - initialize the register to the correct
                value.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 6. Problem:    CQ89179 - HW attention may occur due to a HW bug that may
                exposed when there is a traffic with DIF.

    Change:     (FW FCoE) Work-around in FCoE RX path.

    Introduced: Day 1.

    Relevance:  FCoE, DIF.

 7. Problem:    Heavy iWARP traffic that includes retransmissions may cause to
                unexpected behavior.

    Change:     (FW iWARP) Verify there is a place in OOO queue before placing
                there packets.

    Introduced: Day 1.

    Relevance:  iWARP.

 8. Problem:    Parity attention may occur when dumping a debug bus recording
                from the DBG block internal buffer, due to a HW bug.

    Change:     (FW) Masked the parity attention.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 9. Problem:    iWARP Rxmit statistics don't appear properly on high functions.

    Change:     Wrong id passed to FW macro.

    Introduced: 8.18.2.0.

    Relevance:  iWARP rxmit statistics.

10. Problem:    CQ89459 - System hits a bugcheck on setting ND Max QP to 16.

    Change:     Nullify hwfn structures' pointers after being freed.

    Introduced: Day 1.

    Relevance:  All.

11. Problem:    CQ89592 - Assertion changing switch interface from port 2 to 1.

    Change:     Identified that there is collision between VFs queue idx and
                VMQ queue idx. Made the needed corrections in resource handling
                to address this issue.

    Introduced: 8.14.6.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Remove the `ver_str' field that the upper driver should have set
                before calling hw_init().

 2. Request:    Support RoCE event statistics.

 3. Request:    Add ecore interfaces for MFW TLV request processing.

 4. Request:    (FW) Debug Bus tool updates:
                - Modified recording format to allow data synchronization in
                  case of: multiple groups per debug line, debug line split in
                  wrap-around mode, and data drops due to low bandwidth.
                - Improved readability of parsed HW blocks recordings.
                - Automatic detection of 256-bit debug lines.
                - Support specifying debug lines by name.

 5. Request:    (FW iSCSI) iSCSI support for test unit ready (R=0, W=0).

 6. Request:    (FW iWARP) Add support to MPA version2 (enhanced) in iWARP.

 7. Request:    Add new OSAL - OSAL_STRTOUL().

 8. Request:    Use the MFW mailbox for getting BDQ resource allocation
                information.

 9. Request:    Add Wake on LAN magic packet support in VBD.

10. Request:    Use the MFW mailbox for getting BDQ resource
                allocation information.

11. Request:    Add backward compatibility check and event log if loading on
                top of old MFW (resource allocation).

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

Fixes:
------
 1. Problem:    CNIG attentions appear when hitting NWM/NWS attentions.

    Change:     Correct AH aeu bit mapping to HW blocks.

    Introduced: Day 1.

    Relevance:  AH.

 2. Problem:    Modifying QP to IDLE before destroying the QP will cause
                the next connection attempt done with an identical 4-tuple to
                fail.

    Change:     Fix flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ89764 - Observed QEVBDA assert while
                running WHCK test PNP surprise Remove Device Test.

    Change:     If CID bitmap isn't allocated yet, assume there are no QPs.

    Introduced: 8.5.2.0.

    Relevance:  RoCE/iWARP.

 4. Problem:    Newer MFW might cause driver to reach OSAL_ASSERT.

    Change:     Don't do DP_NOTICE() in case of unknown MFW message.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    FW assert may happen during connection establishment when there
                are retransmits.

    Change:     (FW iWARP) Fix ingress processing during connection
                establishment.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    Traffic continues after disable VPORT.

    Change:     (FW L2) Fix VPORT disable FW flow.

    Introduced: Day 1.

    Relevance:  L2.

 7. Problem:    VF isolation problem - VF can access parts of internal RAM of
                Storms in which VF Zone is unused.

    Change:     (FW) Disable VF access to Zone B of unused Storms.

    Introduced: Day 1.

    Relevance:  SRIOV.

 8. Problem:    Malicious VF Flood - Malicious VF driver can cause EQEs flood
                to parent PF by constantly writing to Ustorm VF zone.

    Change:     (FW) Block malicious VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

 9. Problem:    Dropped RDMA read response may cause the RDMA read request to
                be sent multiple times.

    Change:     (FW RoCE) Fix implied NAK implementation to only retransmit
                once.

    Introduced: Day 1.

    Relevance:  RoCE.

10. Problem:    Modifying QP to error state, while there is still traffic
                running, might results with error return on completion queue.

    Change:     (FW RoCE) Fix Requester flow.

    Introduced: FW 8.3.0.0.

    Relevance:  RoCE.

11. Problem:    Multiple MTU RDMA Writes with T10 DIF sent without ACK request
                resulting in low performance.

    Change:     (FW RoCE) Fix ACK request flag setting.

    Introduced: FW 8.18.0.0.

    Relevance:  RoCE.

12. Problem:    Parity attention on SEMI interrupt table.

    Change:     (FW) Initialize the entire interrupt table with default event.

    Introduced: Day 1.

    Relevance:  All.

13. Problem:    CQ89456 - HW attention on BRB RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR.

    Change:     (FW) Mask BRB RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR.

    Introduced: Day 1.

    Relevance:  All.

14. Problem:    CQ89756 - full out-of-order queue results in deadlock and
                connection errors.

    Change:     (FW iSCSI) Add almost-full limit to the queue filling logic.

    Introduced: Day 1.

    Relevance:  iSCSI.

15. Problem:    Out-of-bound memory access on MFW interaction for resource
                allocation.

    Change:     Fix the access to use the suitable driver mailbox union.

    Introduced: 8.10.5.0.

    Relevance:  All.

16. Problem:    Malicious VF Flood - Malicious VF driver can cause EQEs flood to
                parent PF by constantly writing 0 to vf_pf_msg_valid in Ustorm
                VF zone.

    Change:     (FW) Block malicious VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

17. Problem:    CQ89695 - Ramrod stuck while rebooting VF. False detection of
                PCI read error.

    Change:     (FW) Fix PCI error check for VF slow path.

    Introduced: Day 1.

    Relevance:  SRIOV.

18. Problem:    CQ89793 - ASSERT might occur during driver load.

    Change:     (FW) Remove the initialization of NWM_REG_PRTY_MASK_H_1 from the
                Init Tool.

    Introduced: Day 1.

    Relevance:  FC-FEC, AH only.

19. Problem:    CQ86787 - HW attention may occur during TCP establishment or
                tear-down.

    Change:     (FW iSCSI) Fix pure-ack flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

20. Problem:    FW assertion may occur during TCP tear-down.

    Change:     (FW iSCSI) Fix Clear SQ flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

21. Problem:    CQ89179 - HW attention during iSCSI non-DIF Rx traffic.

    Change:     (FW iSCSI) Fix iSCSI non-DIF Rx flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

22. Problem:    Wrong HW attentions debug print when attentions appear in more
                than one register per block.

    Change:     (FW) Fix HW attentions debug print.

    Introduced: Day 1.

    Relevance:  Debug Tools.

23. Problem:    In CFC Delete Flow - When driver unloads, if there is active L2
                traffic, a Fatal "common_poll_reg_timeout_assert" FW assert is
                invoked.

    Change:     (FW RoCE) "common_poll_reg_timeout_assert" reduced to warning.

    Introduced: FW 8.10.8.0.

    Relevance:  RoCE.

24. Problem:    In retransmit flow, FW ran out of buffers.

    Change:     Driver flow didn't initialize param correctly.

    Introduced: Day 1.

    Relevance:  iWARP.

25. Problem:    CQ89975 ï¿½ HCK NDITest QosCapabilities - when QoS disable
                driver not reporting QoS capabilities.

    Change:     Bus driver reports DCB capability to miniport regrdless
                QoS disable/enable.

    Introduced: 8.11.1.0.

    Relevance:  DCBX,QoS.

Enhancements:
-------------
 1. Request:    New API function ecore_vf_get_num_mac_filters().

 2. Request:    Case 00041880 - NIG_REG_{RX_BRB, STORM}_OUT_EN shouldn't
                change; MFW will close the BRB-NIG interface properly.

 3. Request:    Add API for getting/setting LLDP MAC address.

 4. Request:    Decrease memory consumption used for SYN packet handling in
                iWARP.

 5. Request:    CQ89592: Add new rdma pf param `max_cnqs' and expose the API
                to `ecore_hw_set_feat()'. To be used under certain limitations.

 6. Request:    Restructure QM initialization code. QM info is no longer
                reallocated at DCBx renegotiation. Vports and PQs are no
                longer allocated at max values but allocated exactly.

 7. Request:    (FW) Add CRC to all debug binary dumps.

 8. Request:    Protect releasing LL2/iSCSI/OOO resources flow by NULL checking.

 9. Request:    iWARP: Add retransmit statistics to ecore_rdma_stats.

10. Request:    (FW RoCE) Add RoCE statistics for internal CRC, retransmit
                tries, RNR nak and silent drops.

11. Request:    (FW) Add support for context validation.

12. Request:    Allocate an additional QM physical queue for roce PFs for low
                latency during traffic.

13. Request:    Add ecore API for getting the MBI version.

Version 8.18.3.0 (Nov 10, 2016)
===============================
Internal FW 8.18.1.0

Fixes:
------
 1. Problem:    CQ90024 - System Crash after running RDMA traffic.

    Change:     Backing out the fixes made for CQ89592 & CQ89695 which
                introduced this issue.

    Introduced: 8.18.2.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add support for debug data ï¿½reg_fifoï¿½ embedded in
                memory dump data.

 2. Request:    Set RoCE flvor flag for RoCE CM tx packet.

 3. Request:    Add RoCE resource info IOCTLs for tools.

 4. Request:    Add OEM device support.

Version 8.18.2.0 (Nov 07, 2016)
===============================
Internal FW 8.18.1.0

Fixes:
------
 1. Problem:    CQ89858 - OEM NIC Name Mismatch in Windows OS.

    Change:     Corrected device friendly name.

    Introduced: Day 1.

    Relevance:  Device friendly name.

 2. Problem:    CQ86754 - IOVP- Static MAC test failed in E4 2x25Gb IOVP.

    Change:     Added support for unforced mac suggestion by PF under non
                windows Hyper-V.

    Introduced: Day 1.

    Relevance:  SRIOV.

 3. Problem:    CQ89924- System crash during power cycle after installing
                mfw v8.18.0.0.

    Change:     Remove excessive checking of L2 chains resource in storage
                personality.

    Relevance:  Storage.

 4. Problem:    CQ89592 - Assertion changing switch interface from port 2 to 1.
                CQ89695 - Assertion occurs while rebooting one VM.

    Change:     Identified that there is collision between VFs queue idx and
                VMQ queue idx. Made the needed corrections in resource handling
                to address this issue.

    Introduced: 8.14.6.0.

    Relevance:  All.

 5. Problem:    Out-of-bound memory access on MFW interaction for resource
                allocation.

    Change:     Fix the access to use the suitable driver mailbox union.

    Introduced: 8.10.x.

    Relevance:  All.

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

Fixes:
------
 1. Problem:    CQ89278 - Assert while running iWARP traffic.

    Change:     Fix OSAL MEMCMP implementation.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ89804 - One time system crash while setting
                L2 MTU after running RoCE traffic

    Change:     Implement OSAL_BITMAP_WEIGHT for Windows driver.

    Introduced: Day 1.

    Relevance:  Macro.

 3. Problem:    CQ89764 - Observed QEVBDA assert while running WHCK test
                PNP surprise Remove Device Test.

    Change:     Prevent pointing to address zero in OSAL bitmap macros.

    Introduced: Day 1.

    Relevance:  Macro.

 4. Problem:    When querying a RoCE port the max_msg_sz field is set to zero.

    Change:     Configure the max_msg_sz field.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

 5. Problem:    CNIG attentions appear on port #4 regardless of actual port.

    Change:     Correct logic finding first CNIG attention to be asserted.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    Register MR might fail if we did before Deregister MR while the
                port was paused.

    Change:     (FW RoCE) Fix deregister MR flow.

    Introduced: FW 8.14.2.0.

    Relevance:  RoCE.

 7. Problem:    Encapsulated broadcast packet may be dropped, if VNI used for
                tunnel classification and more than 160 filters configured.

    Change:     (FW L2) Fix FW flow.

    Introduced: FW 8.10.4.0.

    Relevance:  L2.

 8. Problem:    After QP is destroyed during traffic, reusing the connection
                resource may lead to firmware assert.

    Change:     (FW RoCE) Fix internal firmware queue state tracking code.

    Introduced: FW 8.3.0.0.

    Relevance:  RoCE.

 9. Problem:    Same aRFS filter used for TCP and UDP traffic.

    Change:     (FW L2) Add L4 protocol type to aRFS filter profile.

    Introduced: Day 1.

    Relevance:  L2.

10. Problem:    TCP window probe will not be retransmitted (if it wasn't ACKed).

    Change:     (FW iSCSI/iWARP) Retransmit the window probe if it wasn't ACKed
                for RTO time.

    Introduced: Day 1.

    Relevance:  iSCSI, iWARP.

11. Problem:    FW assertion may happen when doing modify QP to error.

    Change:     (FW iWARP) Check that SQ is empty instead of verifying we gave
                completions for all wqes (might be non-signalled wqes).

    Introduced: Day 1.

    Relevance:  iWARP.

12. Problem:    AH Bug in High Malicious VF limitation and VFP (VF PF Channel).
                When High (191 for instance) VFs are used (on VMs for instance)
                and a malicious VF is detected.
                In addition FLR Cleanup was not completed properly..

    Change:     (FW SRIOV) Allow up to 192 Malicious VFs (range 0..191) support.
                Wrong limitation to VF vector caused it. Also - VPC's ready-bit
                must be set as VF is returned to its original ("virgin") state,
                in which the VPC must be ready regardless of whether the driver
                acked (set the ready bit) the last request or not.

    Introduced: Day 1.

    Relevance:  SRIOV.

13. Problem:    Data integrity when re-transmitting large (>255 DIF intervals)
                IO with Dif.

    Change:     (FW iSCSI) Fix FW flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

14. Problem:    User application hang due to RT failure.

    Change:     (FW iWARP) Fix the RT flow.

    Introduced: Day 1.

    Relevance:  iWARP.

15. Problem:    CNIG attentions appear when hitting NWM/NWS attentions.

    Change:     Correct AH aeu bit mapping to HW blocks.

    Introduced: Day 1.

    Relevance:  AH.

16. Problem:    Modifying QP to IDLE before destroying the QP will cause
                the next connection attempt done with an identical 4-tuple to
                fail.

    Change:     Fix flow.

    Introduced: Day 1 iWARP.

    Relevance:  iWARP.

17. Problem:    CQ89764:Observed QEVBDA assert while running WHCK test
                PNP surprise Remove Device Test.

    Change:     If CID bitmap isn't allocated yet, assume there are no QPs.

    Introduced: 8.5.2.0.

    Relevance:  RoCE/iWARP.

Enhancements:
-------------
 1. Request:    New API function ecore_vf_get_num_mac_filters().

 2. Request:    NIG_REG_{RX_BRB, STORM}_OUT_EN shouldn't
                change; MFW will close the BRB-NIG interface properly.

 3. Request:    Add API for getting/setting LLDP MAC address.

 4. Request:    Decrease memory consumption used for SYN packet handling in
                iWARP.

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

Fixes:
------
 1. Problem:    CQ89032 - iWARP - BSOD during initialization with SRIOV enabled.

    Change:     Fix TM block ILT initialization.

    Introduced: 8.14.3.0 TM attention fix.

    Relevance:  iWARP and SRIOV coexistence.

 2. Problem:    FW return code is checked even if TID register ramrod posting
                failed.

    Change:     Check FW return code only if ramrod was posted successfully.

    Introduced: Day 1.

    Relevance:  RoCE.

 3. Problem:    CQ88918 - iWARP - Assert during connection close, freeing
                dma-able memory from dpc by ecore.

    Change:     Move memory free to later phase which is called in passive.

    Introduced: iWARP Day 1.

    Relevance:  iWARP.

 4. Problem:    iWARP - Application hangs during destroy.

    Change:     CLOSE callback not called properly in all cases.

    Introduced: 8.14.4.0.

    Relevance:  iWARP.

 5. Problem:    If creating a CQ failed then the CQ bitmap was cleared without
                lock.

    Change:     Clear the relevant bit from the bitmap under lock.

    Introduced: Day 1.

    Relevance:  RoCE.

 6. Problem:    CQ88823 - Value of number of queue is showing 2 with default
                resource allocation value i.e. 0.

    Change:     Change qid value from 8 bit field to 16 bit.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    False idle check failure on NIG DBGMUX_SYNCFIFO_ERROR_WR
                interrupt.

    Change:     (FW) Fix idle check rule that checks NIG_REG_INT_STS.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 8. Problem:    HW attention while running Rx traffic with DIF.

    Change:     (FW iSCSI) Fix the iSCSI Rx DIF flow.

    Introduced: FW 8.14.0.0.

    Relevance:  iSCSI DIF.

 9. Problem:    CQ89197 - logs show AH0 for an arrowhead A1 adapter.

    Change:     Consider both REV and METAL, and change print into AH A{0,1}.

    Introduced: Day 1.

    Relevance:  All.

10. Problem:    After FLR, previously malicious VF fails to init sometimes.

    Change:     Make VF-PF channel operational while handling VF FLR.

    Introduced: Day 1.

    Relevance:  SRIOV.

11. Problem:    CQ89309 - VFs creation fail in Default mode with storage.

    Change:     Add new feature ECORE_VF_L2_QUE to reflect supported number
                of queues by all VFs.

    Introduced: Day 1.

    Relevance:  IOV on BB 4-port / AH 2-port+ with storage enabled.

12. Problem:    The nvram test fails after MFW crash dump is collected and its
                image's CRC stops being valid.

    Change:     Exclude the image of the MFW crash dump from the nvram test.

    Introduced: Day 1.

    Relevance:  Selftests.

13. Problem:    Cont00089354 - Arrowhead-10G: Observed QEVBDA Assert while
                running SMB SmbConnect LOGO test on AH 10G board.
                Allocation of RoCE resource managed via a bitmap can cause an
                assert if bitmap is full.

    Change:     Don't assert in such a scenario.

    Introduced: Day 1.

    Relevance:  RoCE.

14. Problem:    QP resource leak.

    Change:     Free resource even if QP responder/requester was never
                offloaded.

    Introduced: 8.14.0.0.

    Relevance:  RoCE.

15. Problem:    iWARP MSS wasn't configured properly on passive side.

    Change:     Calculate header size correctly in passive side.

    Introduced: Day 1.

    Relevance:  iWARP.

16. Problem:    The PQs allocation doesn't enforce a granularity of 8.

    Change:     Make sure the number of PQs per-PF and their start value are
                divisible by 8.

    Introduced: 8.10.5.0.

    Relevance:  All.

17. Problem:    CQ89243 AH A1: RoCE: Assert @ 'qevbda!ecore_int_deassertion_aeu
                bit+4fd' when rebooting host after RoCE I/O.

    Change:     Make sure that the ILT resources are released after the FW has
                completed its asynchronous operations.

    Introduced: 8.14.0.0.

    Relevance:  RoCE/iWARP.

18. Problem:    CQ89522 iWARP: traffic failed over VLAN interfaces.

    Change:     Vlan comparison wasn't done correctly for cases where listen
                was done on ANY_IPADDR.

    Introduced: Day 1 of iWARP.

    Relevance:  iWARP.

19. Problem:    cq89307 iWARP: statistics not updated correctly for all ports.

    Change:     Same statistic counter was used for different ports.

    Introduced: Day 1 of iWARP.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Read default mtu value from the shared-memory during the device
                initialization.

 2. Request:    Add support for the following OneView APIs.
                ecore_mcp_ov_update_mtu - Send MTU value to the MFW.
                ecore_mcp_ov_update_mac - Send MAC address to the MFW.
                ecore_mcp_ov_update_wol - Send WoL mode to the MFW.

 3. Request:    Send eswitch_mode to MFW after the firmware load.

 4. Request:    Configure NIG EDPM per TC enablement control bits for RoCE,
                RoCE_V2 traffic types.

 5. Request:    Expose crc_needed and rcv_wnd_size to upper layer driver.

 6. Request:    Update mfw when ecore assigns a default mtu value.

 7. Request:    Add support for accessing an external phy.

 8. Request:    (FW iWARP) Add support for iWARP phase-1.5 (Retransmissions and
                DCBX).

 9. Request:    Utilize DRV_MSG_CODE_GET_PF_RDMA_PROTOCOL for learning RDMA
                capabilities of interface.

10. Request:    Add new OSAL - OSAL_CRC32().

11. Request:    iWARP OOO support.

12. Request:    Prevent replication error bit from mismatch between the local
                and remote sending local admin MIB.

13. Request:    Add WoL magic packet support.

Version 8.14.6.0 (Oct 19, 2016)
===============================
Internal FW 8.14.7.0

Fixes:
------
 1. Problem:    CQ89133 - AH winediag return speed as unknown.

    Change:     Read PCI configuration space link register
                from the right address for AH.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    System crash (qevbd) during reconnection to target.

    Change:     Fix memory leakage.

    Introduced: Day 1.

    Relevance:  iSCSI.

 3. Problem:    CQ89030 - AH: SRIOV: Break in at
                'qevbda!um_sriov_get_bar_info+927' when loading QEVBD on VF.

    Change:     Added handling in case PCI VF BAR 2 is configured.

    Introduced: Day 1.

    Relevance:  SRIOV.

 4. Problem:    VF FLR failed on AH.

    Change:     Fixed PCIE cap offset.

    Introduced: Day 1.

    Relevance:  SRIOV.

 5. Problem:    CQ89309 - AH SRIOV: VF's not getting created and hyp gives VF
                Flr timeouts messages.

    Change:     Fixed the number of VF`s L2 queues.

    Introduced: Day 1.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    iWARP phase 1 implementation.

 2. Request:    Support QOS.

 3. Request:    Added mm_get_pci_cap_base() API to get specifig pci cap offset.

 4. Request:    Add OEM device IDs.

 5. Request:    Added the initial support of new switch dependent
                network partitioning.

 6. Request:    Add sfp read sub commands interface for applications.

Version 8.14.5.0 (Sep 19, 2016)
===============================
Internal FW 8.14.7.0

Fixes:
------
 1. Problem:    BB indirect CNIG registers cannot be accessed by GRC Dump and
                MFW simultaneously.

    Change:     (FW) Excluded CNIG_REG_PMFC_IF_* and CNIG_REG_PMEG_IF_* from GRC
                Dump in BB.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 2. Problem:    When final-cleanup sent on inactive function FW may send delete
                on wrong function.

    Change:     (FW) Verify activity of function before sending delete flow.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Firmware assertion may happen during iWARP traffic that involves
                RDMA_READ/SENDs.

    Change:     (FW iWARP) Fix RQ handling flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    Closing RDMA function and opening it again without unloading the
                PF might cause memory access violation when accessing MRs.

    Change:     (FW RDMA) Fix MR registration flow.

    Introduced: Day 1.

    Relevance:  RDMA.

 5. Problem:    CQ88872 - FW assertion while running Tx traffic.

    Change:     (FW iSCSI) Fix the iSCSI RT flow.

    Introduced: FW 8.14.0.0.

    Relevance:  iSCSI.

 6. Problem:    Canï¿½t open more than one QP simultaneously, and canï¿½t post
                buffers prior to rdma_connect.

    Change:     (FW iWARP) Implement a new scheme of separating between tcp
                connection establishment cid and Iwarp QP cid. A.k.a. cid
                migration.

    Introduced: Day 1.

    Relevance:  iWARP.

 7. Problem:    CQ84502 - System crash during qevbd disable with verifier on.

    Change:     Fix memory leakage.

    Introduced: Day 1.

    Relevance:  iSCSI.

Version 8.14.4.0 (Sep 08, 2016)
===============================
Internal FW 8.14.6.0

Fixes:
------
 1. Problem:    CQ88699 - Assertion while rebooting host with 64 VFs and 16
                Vnics with VMMQ setting.

    Change:     Indicating ndis miniport when vbd starts shutdown flow.

    Introduced: 8.10.15.0.

    Relevance:  VMMQ.

 2. Problem:    CQ88890 - E4-40G-NPAR- System crash while running
                multi-protocol traffic.

    Change:     iSCSI OOO flow is fixed.

    Introduced: 8.14.1.0.

    Relevance:  iSCSI OOO.

 3. Problem:    CQ88660 - NIC connectivity goes down on taking GRC dump.

    Change:     GRC dump doesn't break connectivity.

    Introduced: 8.10.13.0.

    Relevance:  GRC dump using winediag tool.

 4. Problem:    CQ88392 E4 4x25G: System hits an assert on running RoCE traffic.

    Change:     Read the error flag before releasing the memory.

    Introduced: 8.14.0.0.

    Relevance:  RoCE.

 5. Problem:    expStatSN validation error after receiving Reject PDU.

    Change:     (FW iSCSI) Advance expStatSN for incoming REJECT PDU.

    Introduced: Day 1.

    Relevance:  iSCSI Initiator.

 6. Problem:    Setting final bit for TEXT Request PDU even if continue bit is
                set.

    Change:     (FW iSCSI) Fix TEXT Request transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI Initiator.

 7. Problem:    Not advancing statSN after sending REJECT, ASYNC and TMF
                Response PDUs.

    Change:     (FW iSCSI) Fix the Tx flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 8. Problem:    Setting final bit for TEXT Response PDU even if continue bit is
                set.

    Change:     (FW iSCSI) Fix TEXT Response transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 9. Problem:    Overwriting statSN field while retransmitting SCSI Response,
                TEXT Response, LOGIN Response, LOGOUT Response, TMF Response,
                ASYNC and REJECT PDUs.

    Change:     (FW iSCSI) Fix TX retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

10. Problem:    "Got a non-regular LB LL2 completion" might appear
                [and possibly assert] in iscsi scenarios.

    Change:     Correct logic handling an Rx queue flush for OOO.

    Introduced: 8.14.0.0.

    Relevance:  iSCSI OOO.

11. Problem:    TM block attention when configuring iWARP with a large number
                of supported ethernet connections.

    Change:     TM ILT memory was not computed properly.

    Introduced: day 1.

    Relevance:  iWARP.

12. Problem:    Receiving a SYN packet on an already open connection was not
                detected properly.

    Change:     Fixed compare code.

    Introduced: day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Add default mode as multi-function mode to internal IO control.

 2. Request:    Add EXT PHY IOCTL support for Read, write, Firmware version
                and Firmware upgrade.

 3. Request:    Improve Tx-switched performance by utilizing the FW provided
                feature of same_as_last_id.

Version 8.14.3.0 (Aug 29, 2016)
===============================
Internal FW 8.14.3.0

Fixes:
------
 1. Problem:    CQ88591 - System crash upon vswitch (exported via any PF)
                removal.

    Change:     Init switch params also in non sriov switch.

    Relevance:  Virtual switch.

 2. Problem:    CQ88360 - Windows VM BSOD after assigning SRIOV VF to VM
                in non Windows Hyper-V environment.

    Change:     Added checks to limit the code run only in PF environment.

    Relevance:  SRIOV.

 3. Problem:    CQ87241 - [2x40(NPAR)] System reboots while running Diagnostic
                test in NPAR mode.

    Change:     Fixed queue ID assignments.

    Introduced: 8.10.0.0.

    Relevance:  Diagnostic test.

 4. Problem:    CQ88564 - duplicate iSCSI app TLV when setting iSCSI
                QoS Policy in DCBX IEEE mode.

    Change:     CEE selection field must be set regardless CEE/IEEE mode.

    Introduced: 8.10.6.0.

    Relevance:  DCBX.

 5. Problem:    Malicious VF can cause crash due to out-of-bound access in HV
                by using a too-high index when starting an Rx queue.

    Change:     Validate queue index before accessing queue array.

    Introduced: Day 1.

    Relevance:  SRIOV.

 6. Problem:    Segmentation fault on RDMA stop if SRQ is not initialized.

    Change:     Free the SRQ bitmap only if it was allocated.

    Introduced: 8.14.1.0.

    Relevance:  RoCE.

 7. Problem:    VF acquisition fails over a legacy PF.

    Change:     Correct logic handling rejections by legacy PF.

    Introduced: 8.14.0.0.

    Relevance:  SRIOV.

 8. Problem:    Malicious VF removal will cause a FW assertion.

    Change:     PF to start rejecting malicious VF requests.

    Introduced: Day 1.

    Relevance:  SRIOV.

 9. Problem:    If a regular ramrod received while processing a consolidated
                ramrod, the regular ramrod might not be processed.
                Multiple outstanding consolidated ramrods might not be
                processed.

    Change:     (FW) Fix common ramrod flow.

    Introduced: Day 1.

    Relevance:  iSCSI, FCoE, iWARP.

10. Problem:    When tx offload requests are passed on BD,'no snooping' mode
                might be set which may result in connections failing to
                establish.

    Change:     (FW) Fix load Tx bd flow.

    Introduced: FW 8.14.0.0.

    Relevance:  RoCE, iWARP, iSCSI, FCoE.

11. Problem:    CQ87192 - AH NWM parity attention.

    Change:     (FW) Masked parities 0,1,6,7 in NWM_REG_PRTY_MASK_H_2 as a
                temporary workaround.

    Introduced: Day 1.

    Relevance:  All.

12. Problem:    AH PCIE debug bus sampling rate is two clock cycles instead of
                one cycle.

    Change:     (FW) Configured PCIE_REG_DBG_SAMPLING_INTERVAL to 0 instead of
                1.

    Introduced: Day 1.

    Relevance:  Debug Tools.

13. Problem:    DBU_REG_RXDATA contains invalid values in AH GRC Dump (due to
                a HW bug).

    Change:     (FW) Excluded DBU_REG_RXDATA from GRC Dump in AH.

    Introduced: Day 1.

    Relevance:  Debug Tools.

14. Problem:    In multiple retransmissions scenario with RDMA reads an RDMA
                read request might be retransmitted from more than max ORD
                backwards (a request that was already responded).

    Change:     (FW RoCE) Fix retransmission flow.

    Introduced: Day 1.

    Relevance:  RoCE.

15. Problem:    T10 DIF RDMA Write errors reported in all IOs of the TID after
                detection.

    Change:     (FW RoCE) Clear detected errors at end of Invalidate flow.

    Introduced: Day 1.

    Relevance:  RoCE.

16. Problem:    Outbound T10 DIF without runt, following inbound T10 DIF with
                runt causes false runt error report.

    Change:     (FW RoCE) Properly clear runt valid flags between operations.

    Introduced: Day 1.

    Relevance:  RoCE.

17. Problem:    FW Did not report malicious_vf_error_id for anti-spoofing checks
                failures.

    Change:     (FW) FW Reports malicious_vf_error_id: ETH_ANTI_SPOOFING_ERR
                upon anti-spoofing failure.

    Introduced: Day 1.

    Relevance:  ETH.

18. Problem:    CQ88677 - Rhel6.8 VM OS is not coming up after installing
                drivers from NCDE 11 60.

    Change:     DCBX config is not supported on VFs, fail the DCBX query for
                VF interfaces.

    Introduced: 8.10.0.0.

    Relevance:  DCBX.

Enhancements:
-------------
 1. Request:    Add support for diagnostics driver enumeration.

 2. Request:    Added PXE-Boot with VLAN support.

 3. Request:    Added OEM device IDs.

 4. Request:    Add ecore_iov_is_vf_started() api.

 5. Request:    ecore_sp_vport_start_params have several new b_err_* values
                that when set cause FW to be harsher toward egress errors -
                default is to silently drop, if set would turn VF into
                malicious state, or for a PF cause an assertion.

 6. Request:    (FW) Add T/RDIF_REG_DEBUG_ERROR_INFO memories to GRC Dump.

Version 8.14.2.0 (Aug 18, 2016)
===============================
Internal FW 8.14.3.0

Fixes:
------
 1. Problem:    CQ88564 - duplicate iSCSI app TLV when setting iSCSI
                QoS Policy in DCBX IEEE mode.

    Change:     CEE selection field must be set regardless CEE/IEEE mode.

    Relevance:  DCBX.

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

Fixes:
------
 1. Problem:    CQ87659 - Driver fails HLK build 14383 HVCI Logo test.

    Change:     Using non-Execute memory.

    Introduced: Day 1.

    Relevance:  HLK Compliance.

 2. Problem:    CQ88347 - FCoE instances are not seen during FCoE BFS-install.

    Change:     Reading the boot mode from an incorrect NVM offset.
                It is corrected now.

    Introduced: Day 1.

    Relevance:  FCOE/ISCSI Boot.

 3. Problem:    Device info OID is returning wrong multi function mode.

    Change:     Populated multi function mode correctly. Added port id.

    Introduced: Day 1.

    Relevance:  Internal applications.

 4. Problem:    DCBX config bit-fields are not cleared before updating with the
                user provided value.

    Change:     Clear the bit-field before updating it with new value.

    Introduced: Day 1.

    Relevance:  RoCE.

 5. Problem:    CQ86528 - Incorrect parsing of packet with unsupported
                GRE/GENEVE version.

    Change:     (FW L2) Apply FW workaround in Rx flow.

    Introduced: Day 1.

    Relevance:  GRE, GENEVE.

 6. Problem:    Initiator mode write exchange with T10 DIF may produce corrupt
                payload.

    Change:     (FW iSCSI) Propagate T10 DIF attributes to Tx flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    CQ88494 - RoCE throughput inconsistent when traffic is run on F0
                and F2 (functions sharing same HW engine).

    Change:     Fix Queue Zone allocation.

    Introduced: 8.10.2.0.

    Relevance:  RoCE w/ more than one function per engine.

 8. Problem:    CQ88487 - Assertion while installing checked build version of
                qevbda driver on VF.

    Change:     Fixed Shutdown and FLR flow.

    Introduced: 8.10.7.0.

    Relevance:  SRIOV.

 9. Problem:    CQ88290 - Only 2 VMQ and VMMQ are shown in the Vswitch output.
                CQ88291 - VMMQ are not created when SRIOV is enable on the
                switch.

    Change:     Fixed switch resource management.

    Introduced: Day 1.

    Relevance:  SRIOV, VMQ, VMMQ.

Enhancements:
-------------
 1. Request:    Remove unused parameter of loopback indication from RoCE API.

 2. Request:    Add two APIs to configure A-RFS mode and A-RFS ntuple filter.

 3. Request:    Improve robustness of the SET_FIELD macro by using a mask.

 4. Request:    Add ecore API for getting the MFW crash dump info.

 5. Request:    Separate index to keep cid and Qzone id to support multi COS.

 6. Request:    Check that ECORE RoCE bitmaps are clear before freeing them.

 7. Request:    (FW iSCSI) Improve iSCSI IOPS performance with DIF enabled.

 8. Request:    (FW) Support AH ASIC.

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

10. Request:    Add support for external PHY BCM8485x.

11. Request:    Device-id macros and related defined are updated in the
                interface definition file. Occurences of obsolete device-id
                and related macros are removed now.

12. Request:    QoS is introduced.

13. Request:    Added event log message up on MFW crash dump detection.

Version 8.14.0.0 (Aug 01, 2016)
===============================
Internal FW 8.14.1.0

Fixes:
------
 1. Problem:    NDISTest 6.5 - [2 Machine] - VMQBasicVerification fails.

    Change:     Fixed non sriov vmq affinity.

    Introduced: 8.10.15.0.

    Relevance:  VMQ.

 2. Problem:    NDISTest 6.5 - OffloadHWvRSS hangs.

    Change:     Fixed vmq dpc proc update mailbox.

    Introduced: 8.10.15.0.

    Relevance:  VMQ.

 3. Problem:    Assertion happens when trying to set 25 VMMQs.

    Change:     Increased the num of cids.

    Introduced: 8.10.15.0.

    Relevance:  VMMQ.

 4. Problem:    Transmission stop in case of large IOs with DIF.

    Change:     (FW iSCSI) Fix the FW DIF flow.

    Introduced: FW 8.10.8.0.

    Relevance:  iSCSI.

 5. Problem:    HW attention during retransmit.

    Change:     (FW Storage) Change the FW init.

    Introduced: FW 8.10.8.0.

    Relevance:  iSCSI, FCoE.

 6. Problem:    Pure TCP Syn packets not received correctly when function
                personality is Eth or iWARP.

    Change:     (FW iWARP) Fix the Eth FW.

    Introduced: FW 8.10.7.0.

    Relevance:  iWARP.

 7. Problem:    Login-request PDU is always transmitted with T(Transit) bit set.

    Change:     (FW iSCSI) Set 'T' bit according to initialized value.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    CQ87318 - FW assertion during re-transmit.

    Change:     (FW iSCSI) Fix the iSCSI RT flow.

    Introduced: FW 8.10.7.50.

    Relevance:  iSCSI.

 9. Problem:    WQE with Fence indicator might result with "Local QP Operation"
                error completion.

    Change:     (FW RoCE) Fix the RoCE Requester flow.

    Introduced: Day 1.

    Relevance:  RoCE.

10. Problem:    RDMA interrupt not being recieved from FW. This happened becasue
                the interrupt arming doorbell was ignored by the HW.

    Change:     Allocate a number of CIDs that is aligned to 16 (while not
                dropping the alignment to ILT page), which is the HW Doorbell
                Queue units when specifying the maximum Doorbell Queue number.

    Introduced: Day 1.

    Relevance:  RoCE.

11. Problem:    CQ86624 - RoCE and ping traffic stops while running stress+
                longrun testing and seeing pglue errors is still seen despite
                fix from 8.10.6.0.

    Change:     (Init Tool) Fix ordering bug in init tool.

    Introduced: Day 1.

    Relevance:  Roce.

12. Problem:    CQ87377 - Malicious VFs can send pause frames.

    Change:     Configure FW to drop VF flow control packets according to MAC.

    Introduced: Day 1.

    Relevance:  SRIOV.

13. Problem:    Memory leaks in a few ECORE RoCE error flows.

    Change:     Release the allocated memory even before exiting the functions.

    Introduced: Day 1.

    Relevance:  ECORE RoCE.

14. Problem:    Ethtype value is being read incorrectly in ieee-dcbx mode.

    Change:     Use the ieee specific mask value for reading the ethtype value
                in ieee-dcbx mode.

    Introduced: Day 1.

    Relevance:  Dcbx.

15. Problem:    Endian-ness conversion is being applied incorrectly for dcbx
                pri_to_tc field while reading/writing.

    Change:     Do not apply the conversion for pri_to_tc value.

    Introduced: Day 1.

    Relevance:  Dcbx.

16. Problem:    HW attention during retransmit.

    Change:     (FW Storage) Change the FW init.

    Introduced: FW 8.10.8.0.

    Relevance:  iSCSI, FCoE.

17. Problem:    CQ87212 - 40Gb speed is visible in advanced properties of
                25Gb Adapter.

    Change:     Corrected speed mapping of the adapter. INF only change.

    Introduced: Day 1.

    Relevance:  Link speed on OEM adapter.

Enhancements:
-------------
 1. Request:    (FW RoCE) Improving RoCE 'Destroy QP' verb duration.

 2. Request:    Remove PF MR configuration but allocate as many RoCE MRs as
                possible.

Version 8.10.15.0 (Jul 15, 2016)
================================
Internal FW 8.10.8.0

Enhancements:
-------------
 1. Request:    Added the BFS support for iSCSI and FCoE.

 2. Request:    Added WS2016 VMMQ support.

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

Fixes:
------
 1. Problem:    CQ87399 E4-RoCE: RoCE traffic failed over PFC configuration.

    Change:     Configure the correct TC to the PF.

    Introduced: 8.10.6.0.

    Relevance:  Dcbx.

Enhancements:
-------------
 1. Request:    Avoid forcing the driver's default resource allocation in case
                of a diff with the MFW's allocation values.

Version 8.10.13.0 (Jul 07, 2016)
================================
Internal FW 8.10.8.0

Fixes:
------
 1. Problem:    MTU Violation (compared with Transmitted Packet Size) was not
                checked for LSO packets.

    Change:     (FW L2) MTU Violation (compared with Transmitted Packet Size) is
                now checked for LSO packets as well.

    Introduced: Day 1.

    Relevance:  L2.

 2. Problem:    T10 DIF RDMA Write retransmission reports AppTag failures when
                retransmitting from middle of IO.

    Change:     (FW RoCE) Correct AppTag calculation in retransmission flow.

    Introduced: 8.10.6.0.

    Relevance:  RoCE.

 3. Problem:    T10 DIF RDMA Write retransmission reports RefTag failures when
                retransmitting from start of IO.

    Change:     (FW RoCE) Correct RefTag offset calculation in retransmission
                flow.

    Introduced: 8.10.9.0.

    Relevance:  RoCE.

 4. Problem:    FW Fatal assert might occur when doing destroy QP after modify
                QP.

    Change:     (FW RoCE) Remove code responsible for this FW fatal assert.

    Introduced: Day 1.

    Relevance:  RoCE.

 5. Problem:    Doing RoCE start driver during L2 traffic is getting stuck due
                to ramrod failure.

    Change:     (FW RoCE) Fix FW flow.

    Introduced: 8.10.0.0.

    Relevance:  RoCE.

 6. Problem:    CQE with RDMA_CQE_RESP_STS_LOCAL_ACCESS_ERR is received when
                using RQ sge with 'reserved key'.

    Change:     (FW RoCE) Fix FW flow.

    Introduced: 8.10.5.0.

    Relevance:  RoCE.

 7. Problem:    Termination ramrod of multiple CIDs stuck.

    Change:     (FW Storage) Fix the iSCSI/FCoE consolidation queue flow.

    Introduced: Day 1.

    Relevance:  Storage.

 8. Problem:    Wrong iSCSI statistics ram pointer.

    Change:     (FW iSCSI) Fix the ram pointer value.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    CQ87065/CQ86013/CQ86522 - HW bug causing HW attention.

    Change:     (FW iSCSI) Apply FW workaround to Rx placement flow (MU ldr
                command per SGE).

    Introduced: Day 1.

    Relevance:  iSCSI.

10. Problem:    CQ87014 - FW may report incorrect RSP flags to the driver as
                part of CQE.

    Change:     (FW FCoE) Fix the RSP handling flow.

    Introduced: 8.10.9.0.

    Relevance:  FCoE.

11. Problem:    CQ87345 - [NPAR] System crashes while running Bi-Di traffic
                using random test runner on all 16 functions.

    Change:     Added workaround for DPC WatchDog time out issue.

    Introduced: Day 1.

    Relevance:  L2.

Enhancements:
-------------
 1. Request:    Add 100G RoCE support.

Version 8.10.12.0 (Jul 01, 2016)
================================
Internal FW 8.10.7.0

Fixes:
------
 1. Problem:    CQ86918 - Memory leak when vSwitch is created on MSFT
                teamed adapter.

    Change:     Resources that are allocated during queue creation are now
                freed during queue deletion instead of freeing them during
                miniport unbind.

    Introduced: Day 1.

    Relevance:  All.

Version 8.10.11.0 (Jun 24, 2016)
================================
Internal FW 8.10.7.0

Fixes:
------
 1. Problem:    CQ86786 - RoCE: increase the NDK capability to 16 VPORTs
                from the current limit of 15.

    Change:     Avoided un-conditional programming of LLH to
                address this issue.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Corrected resource reporting when the function personality
                is not RoCE.

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

Fixes:
------
 1. Problem:    CQ086987 - System crash while changing VLAN on 2x25G adapter.

    Change:     Prevent race condition in unbind flow.

    Introduced: 8.10.9.0.

 2. Problem:    CQ87007 - E4 RoCE: latest component broken PFC with RoCEv2.

    Change:     Use the new config path/fields defined by the FW for RoCEv2
                protocol data.

    Introduced: 8.10.9.0.

    Relevance:  RoCE.

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

Fixes:
------
 1. Problem:    CQ86922 - FW assertion is hit after re-load of driver in VM.

    Change:     Close VF in firmware when the VF is being released.

    Introduced: 8.10.7.0.

    Relevance:  SRIOV.

 2. Problem:    CQ86541 - A HW bug that sometimes causes CFC-delete to succeed
                before write-backs are complete, which can result in memory
                corruption on host.

    Change:     (FW) Apply FW workaround.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Tx-Switched packet may be sent to a wrong destination after FLR,
                filter update or Vport up/down.

    Change:     (FW L2) Fixed Tx-Switching cache clean FW flow.

    Introduced: Day 1.

    Relevance:  Tx Switching.

 4. Problem:    DCQCN RP timeout not update.

    Change:     (FW RoCE) Fix firmware configuration flow.

    Introduced: 8.10.0.0.

    Relevance:  DCQCN.

 5. Problem:    T10 DIF RDMA Write calculates wrong expected CRC value in DIF
                Tag.

    Change:     (FW RoCE) Correct CRC machine initialization code.

    Introduced: 8.10.6.0.

    Relevance:  T10 DIF RDMA.

 6. Problem:    T10 DIF RDMA Write expected Runt value not verified against
                calculated value.

    Change:     (FW RoCE) Correct firmware flow to verify Runt result and report
                errors.

    Introduced: 8.10.6.0.

    Relevance:  T10 DIF RDMA.

 7. Problem:    T10 DIF RDMA Read flow asserts.

    Change:     (FW RoCE) Correct CRC machine initialization code.

    Introduced: 8.10.6.0.

    Relevance:  T10 DIF RDMA.

 8. Problem:    T10 DIF RDMA Write error result reported only on first IO.

    Change:     (FW RoCE) Clear queued indication after first error result
                handler.

    Introduced: 8.10.6.0.

    Relevance:  T10 DIF RDMA.

 9. Problem:    T10 DIF RDMA Write expected runt CRC checked in reverse
                endianity.

    Change:     (FW RoCE) Reverse endianity when verifying expected runt result
                in firmware.

    Introduced: 8.10.6.0.

    Relevance:  T10 DIF RDMA.

10. Problem:    T10 DIF RDMA Read Runt CRC value written to host in reverse
                endianity.

    Change:     (FW RoCE) Swap bytes in firmware before writing to host.

    Introduced: 8.10.6.0.

    Relevance:  T10 DIF RDMA.

Enhancements:
-------------
 1. Request:    Add support to get media type for applications.

 2. Request:    Stop reporting RoCE support for ClientOS (WinPE).

 3. Request:    Use the MFW mailbox for getting resource allocation information.

 4. Request:    Improve the way a blocked context waits for a ramrod to be
                completed.

 5. Request:    (FW RoCE) Change RoCE retransmission flow to start from middle
                of retransmitted WQE (to help in interoperability).

 6. Request:    (FW RoCE) Add IP DSCP field setting from DCB per-port database.

 7. Request:    (FW RoCE) Add VLAN priority setting from DCB per-port database
                for RROCE.

 8. Request:    Add support for the MFW crash dump.

Version 8.10.8.0 (Jun 02, 2016)
===============================
Internal FW 8.10.5.0

Fixes:
------
 1. Problem:    CQ86809 - Observing yellow bang in SRIOV VF vbd.

    Change:     Moved VF mail box mutex release to after handling the reply
                message instead of after sending the message to the PF.

    Introduced: 8.10.4.0.

    Relevance:  SRIOV.

 2. Problem:    CQ86842 - FW assertion is hit when VFs are malfunctioning.

    Change:     Prevent vport-update on PF if the VF's vport wasn't started.

    Introduced: Day 1.

    Relevance:  SRIOV.

Version 8.10.7.0 (May 27, 2016)
===============================
Internal FW 8.10.5.0

Fixes:
------
 1. Problem:    CQ86777 - latest driver broken VF stop functionality.

    Change:     Fixed flow in case VF is released without being acquired and
                FLR before release.

    Introduced: 8.10.4.0.

    Relevance:  SRIOV.

 2. Problem:    CQ86489 - VXLAN not working with latest driver qevbda 8.10.5.0.
                CQ86648 - udp traffic through put is 0 when several
                clients are running simultaneously.

    Change:     Ecore now treats the rx_prod as 32 bit during init.

    Introduced: 8.10.4.0.

    Relevance:  VMQ.

Enhancements:
-------------
 1. Request:    Add new QLogic Channel device support.

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

Fixes:
------
 1. Problem:    CQ76256 - FCoE : Fix for the missing FDMI details.

    Change:     Added the needed implementation to query the additional
                adapter information for FDMI.

    Introduced: Day 1.

    Relevance:  FCoE.

 2. Problem:    CQ86592 - System crash when trying to reboot SUT while stress
                traffic running.

    Change:     Prevent driver to handle OIDs during shutdown transition.

    Introduced: Day 1.

    Relevance:  L2.

 3. Problem:    CQ86346 - WS2016: max RDMA MOS over SRIOV switch result in KD
                break.

    Change:     Removed debug breaks from flow and returning error value.

    Introduced: Day 1.

    Relevance:  VMQ.

Enhancements:
-------------
 1. Request:    Add support for AH nvm cfg.

 2. Request:    Added needed interface for iSCSI client as part of BFS support.

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

Fixes:
------

 1. Problem:    CQ86300- Retaining the old mac after removal and creation of VF.

    Change:     Clear the forced MAC while disabling VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

 2. Problem:    CQ86133 - Upgrading FW hogs CPU for long period of time.

    Change:     Add short sleeps while reading-from/writing-to the nvram.

    Introduced: Day 1.

    Relevance:  Voluntary-preemption schemes.

 3. Problem:    RoCE app PFC config gets overridden with the default app config.

    Change:     If RoCE-V2 TLV is not detected, use RoCE app data for RoCE-v2.

    Introduced: 8.10.2.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Added code analysis fixes.

Version 8.10.4.0 (Apr 26, 2016)
===============================
Internal FW 8.10.3.0

Fixes:
------
 1. Problem:    CQ84064 - NDISTest 6.5 - [2 Machine] - VMQBasicVerification
                failed as it received less than the expected percentage of
                packets sent (MAC only) in GreEncap.

    Change:     FW now handles dual mode filtering.

    Introduced: Day 1.

    Relevance:  NVGRE.

Enhancements:
-------------
 1. Request:    Update OEM device product name.

Version 8.10.3.0 (Apr 01, 2016)
===============================
Internal FW 8.10.3.0

Enhancements:
-------------
 1. Request:    Add WS2016 feature support.

Version 8.10.2.0 (Mar 16, 2016)
===============================
Internal FW 8.10.3.0

Fixes:
------
 1. Problem:    CQ85290 - Fails (BSOD) HCK tests DF-CHAOS.

    Change:     PM flow is fixed.

    Introduced: 8.7.21.0.

    Relevance:  ROCE.

 2. Problem:    CQ85037 - FW assert during the transmit of ASYNC and
                REJECT PDUs.

    Change:     Add support for ASYNC and REJECT PDUs.

    Introduced: Day 1.

    Relevance:  iSCSI.

 3. Problem:    CQ85012 - Cleanup for task timed out after clearSQ in middle
                of R2TE processing.

    Change:     Continue processing the R2TE.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    CQ85012 - Login exchange cleanup & clear SQ fix.

    Change:     (FW iSCSI) Fix the login exchange cleanup & clear SQ.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    CQ85072 - E4:RoCE:while running multiple sessions(200/500/1000)
                system crashes or getting assertions/ramrod stuck.

    Change:     Avoid weak ordering writes when the doorbells BAR is mapped as
                write combining with the proper write barriers.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    CQ85488 - Assertion during driver installation Baffin Bay
                adapter.

    Change:     Fixed pci msix table initialization in CMT/100G.

    Introduced: 8.7.0.0.

    Relevance:  100G.

 7. Problem:    Memory leak after surprise removal.

    Change:     Releasing RoCE allocated memories in case of surprise removal.

    Introduced: Day 1.

    Relevance:  ROCE.

 8. Problem:    MF mode passed in provider info isn`t correct.

    Change:     Fixed initialization of provider info mf mode.

    Introduced: Day 1.

    Relevance:  ALL.

 9. Problem:    CQ85618 - NPAR Max/Min Bandwidth settings are not honoured.

    Change:     Workaround - saving qm rate limiter values before reinitialize
                it due to dcbx update.

    Introduced: Day 1.

    Relevance:  NPAR, DCBX.

10. Problem:    CQ83753 - TX switch treats LSO traffic with outband VLAN wrong.

    Change:     (FW L2) Update tag before TX switch on all LSO flows.

    Introduced: 8.1.1.0.

    Relevance:  SRIOV.

11. Problem:    CQ85054, CQ85371, CQ85298 - Chip might hang when receiving a
                RoCE packet with invalid destination QP (can be caused by mac
                CRC errors).

    Change:     (FW RoCE) Disregard the packet with invalid destination QP.

    Introduced: Day 1.

    Relevance:  RoCE.

12. Problem:    CQ85528 - HW attention when ABTS request arrives to Initiator.

    Change:     (FW FCoE) Fix the unsolicited FW flow (ABTS request from Target
                should be handled by Initiator as unsolicited packet).

    Introduced: FW 8.10.0.0.

    Relevance:  FCoE.

Enhancements:
-------------
 1. Request:    CQ84419 - Add set bandwidth interface for applications.

 2. Request:    BDQ RQ mode is supported for iSCSI initiator.

 3. Request:    Add support for enabling dcqcn in RoCE.

 4. Request:    Add support for RDMA Queue Statistics.

 5. Request:    Add support for iSCSI/TCP connection offload for type 2.

 6. Request:    Remove support for the obsolete iSCSI/FCoE RQ mechanism.

Version 8.10.1.0 (Feb 29, 2016)
===============================
Internal FW 8.10.1.0
Fixes:
------
 1. Problem:    CQ85290 - Fails (BSOD) HCK tests DF-CHAOS.
                CQ85310 - BSOD - Fan Failure Test.

    Change:     PM flow is fixed.

    Introduced: 8.7.21.0.

    Relevance:  ROCE.

 2. Problem:    CQ82170 - E4-iSCSI: Assert while disabling iscsi interface
                with 200 LUN's mapped.
                CQ83528 - load_unload iscsi driver result in assertion.
                CQ85165 - Assertion while shutdown the system after running
                iscsi, roce and l2 traffic test.
                CQ85313 - Assertiong while setting Vlan and MTU size on
                second port of iSCSI adapter from QCC.

    Change:     Bus driver totally prevents indication L2 RX to miniports on
                set zeroed RX mask.

    Introduced: Day 1.

    Relevance:  Storage.

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

Fixes:
------
 1. Problem:    CQ84287 - system asserted when switch port shut/no-shut
                multiple times with RDMA traffic running.

    Change:     Fixed cookie pointer when pending spq entry is moved to the
                pending sending list.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ84395 - VM hits a bugcheck while installing QEVBD driver with
                SRIOV enabled.

    Change:     Initialize vnics_per_port for vf correctly.

    Introduced: 8.7.15.0.

    Relevance:  SR-IOV VF.

 3. Problem:    BSOD happens when getting mcp trace through qwinediag.

    Change:     Recalculating mcp trace buffer size every time.

    Introduced: 8.7.15.0.

    Relevance:  All.

 4. Problem:    CQ84408 - System crash while cable pull.

    Change:     Remove redundant assertion.

    Introduced: 8.7.3.0.

    Relevance:  ALL.

 5. Problem:    CDN failure with long CDN string in Windows 2012R2.

    Change:     Raised maximum character limit of CDN string to 100.

    Introduced: Day1.

    Relevance:  Network connection names.

 6. Problem:    CQ84466 - WHCK  - System crash in afd when run Device
                fundamental CHAOS test.

    Change:     Fix initialization process on Resume.

    Introduced: 8.7.10.0.

    Relevance:  Power management.

 7. Problem:    CQ84642 - Observing yellow bang on device QLogic FastLinq
                QL450000 Series 40GbE iSCSI Adapter after installation.

    Change:     Removed obsolete device entry from INF.

    Introduced: Day1.

    Relevance:  Obsolete device.

 8. Problem:    CQ84865 - PXE boot 10G speed fails with DHCP server after
                selecting OS image on DHCP server.

    Change:     Added handling for configuring speed as defined by nvm.

    Introduced: Day1.

    Relevance:  L2.

 9. Problem:    CQ84565 - NPAR: Changing link speed for one function on a port
                bring the links down on all functions of both ports.

    Change:     Prevent driver to change link settings in NPAR mode.

    Introduced: Day1.

    Relevance:  L2.

10. Problem:    CQ84216 - System crash when run NDISTest 6.5 -
                [2 Machine] - MPE_Ethernet test.

    Change:     Restoring LL2 chain and LLH filtering on power resume
                is fixed.

    Introduced: Day1.

    Relevance:  L2/ROCE.

11. Problem:    CQ84999 - QLogic Channel device has 10G option available in
                Speed Duplex setting of driver Advanced tab.

    Change:     Removed 10G option from INF.

    Introduced: 8.7.8.0a.

    Relevance:  L2 Link.

12. Problem:    Max amount of cqs is not initialized.

    Change:     Return intialization of max number of completion queues which
                was dropped by mistake.

    Introduced: 8.7.8.0.

    Relevance:  Roce.

13. Problem:    CQ84044 - E4:NPAR: Seeing qed call traces on  DELL730 after
                reboot "BUG: scheduling while atomic: swapper/10/0/0x10000100".

    Change:     Modify the locking scheme when sending a MB to the MFW, from a
                mutex to a spinlock.

    Introduced: 8.5.8.0.

    Relevance:  All.

14. Problem:    Connection recovery failure - un-completed task cleanup.

    Change:     (FW iSCSI) Fix the clear SQ in middle of R2TQE flow.

    Introduced: FW 8.7.4.0.

    Relevance:  iSCSI.

15. Problem:    Data integrity issue for SlowIO write exchanges.

    Change:     (FW iSCSI) Fix SlowIO flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

16. Problem:    CQ84287 - system asserted when switch port shut/no-shut
                multiple times with RDMA traffic running.

    Change:     Fixed cookie pointer when pending spq entry is moved to the
                pending sending list.

    Introduced: Day 1.

    Relevance:  ALL.

17. Problem:    Wrong calculation of the enabled functions on the 2nd engine in
                case of 100G.

    Change:     Fix the calculation.

    Introduced: 8.7.6.0.

    Relevance:  100G.

18. Problem:    CQ84343 - Getting Aborts while doing iSCSI Discovery Login.

    Change:     Fixed the chain pointer passed to zero the chain memory.

    Introduced: 8.7.8.0.

    Relevance:  iSCSI.

19. Problem:    EDPM wasn't turned off, even if required to so by user
                configuration / doorbell BAR size configuration.

    Change:     Disable DPM via register if required to do so via user
                configuration.

    Introduced: 8.7.8.0.

    Relevance:  RoCE.

20. Problem:    CQ84363 - Traffic sometimes doesn't work in NPAR.

    Change:     Protect against race when configuring DCBx results in QM.

    Introduced: 8.2.3.0.

    Relevance:  Multi-function, DCBx.

21. Problem:    CQ84636 - MB param is misconfigured.

    Change:     Fixed MB param creation.

    Introduced: 8.7.5.0.

    Relevance:  All.

22. Problem:    CQ84582 - VF traffic doesn't work.

    Change:     Correct VF doorbell address calculation.

    Introduced: 8.7.7.0.

    Relevance:  SRIOV.

23. Problem:    Hypervisor might crash when VF ACQUIRE message is blocked.

    Change:     Initialize length used for preparing the VF response.

    Introduced: Day 1.

    Relevance:  SRIOV.

24. Problem:    CQ84077 - Data corruption when RSC enable.

    Change:     (FW L2) Fix TPA flow for packets with ETH padding.

    Introduced: Day 1.

    Relevance:  RSC, LRO.

25. Problem:    CQ84512, CQ84077 - Hw interrupt while running L2 traffic.

    Change:     (FW L2) Fix line credit handling in L2 TX fastpath.

    Introduced: FW 8.7.6.0.

    Relevance:  L2.

26. Problem:    CQ84546 - Running interoperability scenarios with switch may
                cause hardware attention.

    Change:     (FW) Fix error handling flow when receiving packets with wrong
                destination qp.

    Introduced: Day 1.

    Relevance:  All.

27. Problem:    CQ84496 - System hit a bugcheck on starting RoCE traffic.

    Change:     Fixed handling of unlimited pending slowpath ramrods with
                blocking completion mode.

    Introduced: Day 1.

    Relevance:  L2.

28. Problem:    Memory leak when failng to allocate a chain PBL table.

    Change:     Fix the flow so the virtual PBL table will be freed in such a
                case.

    Introduced: 8.7.7.0.

    Relevance:  All.

29. Problem:    Multicast and broadcast packets not forwarded to LL2, when
                default PF is used.

    Change:     (FW) Allow multicast and broadcast packets forwarding, when
                default PF is used.

    Introduced: FW 8.2.3.0.

    Relevance:  NPAR, QPAR.

30. Problem:    CQ84177 - 16 CQs causing System crash in iSCSI (relevant also
                for FCoE).

    Change:     (FW Storage) Fix the initialization of CQs during Function Init.

    Introduced: Day 1.

    Relevance:  Storage.

31. Problem:    Statistics for requester received packets are not counted.

    Change:     (FW RoCE) Fix RX statistics collection flow.

    Introduced: FW 8.7.6.0.

    Relevance:  RoCE.

32. Problem:    CQ84638 - Connect after termination on the same CID failure.

    Change:     (FW iSCSI) Fix the close flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

33. Problem:    Read/Write to grc may fail after resuming from low power state.

    Change:     Invalidating the grc ptts when entering low power state.

    Introduced: Day 1.

    Relevance:  ALL.

34. Problem:    LLH filter may not be configured when resuming from low power
                state.

    Change:     Initialize correctly the packet filter stored in the driver.

    Introduced: Day 1.

    Relevance:  ALL.

Enhancements:
-------------
 1. Request:    Collect crash data from both engines in CMT/100g.

 2. Request:    Added error recovery related interface.

 3. Request:    Add common roce fast path hsi version param to provider/client
                interface. VBD driver will check its roce fast path hsi version
                against ndis miniport roce fast path hsi version during bind.
                In case of version compatibility mismatch, vbd will not report
                RoCE capability.

 4. Request:    Added diagnostic tests interface for applications.

 5. Request:    Add Auto negotiation SpeedDuplex setting to OEM device.

 6. Request:    Add ecore API to exract FCoE/iSCSI/LL2 statistics.

 7. Request:    Use a seperate Ystorm queue zone ID for each Tx queue ID.

 8. Request:    Add ecore support for configuring Tx coalesce value.

 9. Request:    (FW L2) TX performance improvements.

10. Request:    Add ecore_selftest_api.h and, move selftest APIs to this file.

11. Request:    Add clock, register and nvram tests to selftest.

12. Request:    Add support for new device mode 4x25G, mainly for MNM.

13. Request:    Add ecore API for setting whether the general behavior should
                be preventing attention from being reasserted.

14. Request:    Add New OSAL_IOV_PRE_START_VPORT().

15. Request:    Add selftest APIs to the documentation.

16. Request:    Added "default_speed_autoneg" and "default_speed" params to
                ecore_mcp_link_capabilities and initializing them according to
                the nvm settings.

17. Request:    Add a CRC check to the nvram selftest.

18. Request:    Add an API to get the temperature sensors info from the MFW.

19. Request:    ECORE RoCE API to use num_qps and num_mrs instead of num_cons
                and num_tasks. Move out all non-input fields from ecore_roce_pf-
                params.

20. Request:    Move dcbx_pfc specific elements to new sub-structure and also,
                populate the pfc-bitmap in the ecore.

21. Request:    Add an API to get MBA versions from the MFW.

22. Request:    Change return values of sfp get functions.

23. Request:    (FW L2) Add support to control frames detection on TX path -
                SRIOV security feature, configured per vport, and detection by
                ether-type or by MAC address.

24. Request:    (FW RoCE) Adding DCQCN support.

25. Request:    Add FCoE support for BDQ and the corresponding API.

26. Request:    Added auto debug bus recording when resuming from low power
                state.

Version 8.7.15.0 (Jan 18, 2016)
===============================
Internal FW 8.7.6.0

Fixes:
------
 1. Problem:    CQ84250 - vnics_per_port is coming out incorrect on
                b100_device_info_t.

    Change:     Fixed the returned value.

    Introduced: Day 1.

    Relevance:  Management Application.

 2. Problem:    CQ84273 - System crash while running 'start stress' using
                "PnP driver test" tool.

    Change:     Allocating and releasing debug log buffer memory directly and
                not by internal memory resource handling.

    Introduced: Day 1.

    Relevance:  ALL.

 3. Problem:    Due to a workaround to a HW bug the number of TIDs was limited
                to 128K-1.

    Change:     Use newly introduced FW defines.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    CQ84044 - E4:NPAR: Seeing qed call traces on  DELL730 after
                reboot "BUG: scheduling while atomic: swapper/10/0/0x10000100".

    Change:     Modify the locking scheme when sending a MB to the MFW, from a
                mutex to a spinlock.

    Introduced: 8.5.8.0.

    Relevance:  All.

 5. Problem:    Connection recovery failure - un-completed task cleanup.

    Change:     (FW iSCSI) Fix the clear SQ in middle of R2TQE flow.

    Introduced: 8.7.7.0.

    Relevance:  iSCSI.

 6. Problem:    Data integrity issue for SlowIO write exchanges.

    Change:     (FW iSCSI) Fix SlowIO flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Added support for Fan Failure event handling.

 2. Request:    Add a user configuration roce_edpm that allows enabling,
                disabling or forcing EDPM.

 3. Request:    Add a CNQ size limit.

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

Fixes:
------
 1. Problem:    CQ84265 - RoCE 4x25G: both SUT asserted when running RDMA
                Bi-Dir traffic.

    Change:     Size of locks array is fixed to support extended resources set.

    Introduced: 8.7.10.0.

    Relevance:  ROCE/VMQ.

Version 8.7.13.0 (Jan 11, 2016)
===============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    BSOD during iSCSI connection setup.

    Change:     Zero pbl chain memory page by page.

    Introduced: 8.7.11.0.

    Relevance:  iSCSI.

Version 8.7.12.0 (Jan 11, 2016)
===============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    CQ84215 - System crash when load unlaod run with verifier
                enabled on drivers.

    Change:     Free rx chains memory during unload.

    Introduced: 8.7.11.0.

    Relevance:  L2.

 2. Problem:    CQ84143 - Peer System crashes when Roce traffic is started.

    Change:     Sizes of arrays is fixed in corresponding
                with extended resources set.

    Introduced: 8.7.10.0.

    Relevance:  L2/ROCE.

 3. Problem:    CQ84201 - System crash when disable enable vbd interface
                in Legacy interrupt mode.

    Change:     Excessive assertion is eliminated.

    Introduced: 8.7.10.0.

    Relevance:  INTA mode.

Enhancements:
-------------
 1. Request:    Added support of FCoE and iSCSI protocol statistics for NCSI.

 2. Request:    CQ84181 - Update Copyrights detail in .sys and .inf files.

 3. Request:    Remove unsupported OEM device.

 4. Request:    Add support for sfp get and set.

 5. Request:    Add support for gpio read and write.

Version 8.7.11.0 (Jan 06, 2016)
===============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    CQ83816 - BaffinBay: System hits breakpoint while Driver
                load and unload.

    Change:     Set an event when a Ramrod command complete on both hwfn
                on CMT mode.

    Introduced: Day 1.

    Relevance:  L2.

Enhancements:
-------------
 1. Request:    Add phy read/write IOCTLs for tools.

 2. Request:    Improvement of support extended resources set.

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

Enhancements:
-------------
 1. Request:    Bus driver must support extended resources set.

Version 8.7.9.0 (Dec 22, 2015)
==============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    CQ82433 - Fail HCK whql Offload tests.

    Change:     ETH header pading will not inserted. placement_offset on rx
                buffer will be zero.

    Introduced: 8.5.6.0.

    Relevance:  L2.

 2. Problem:    CQ83157 - Fails HCK "LinkCheck" test.
                CQ83545 - fails HCK L2 tests in two computers configuration.
                Failing to transmit packets with LLC/SNAP header.

    Change:     (FW L2) Add LLC/SNAP FW support.

    Introduced: 8.6.0.0.

    Relevance:  L2.

 3. Problem:    In case out of order packet is a new Isle which can't be
                allocated (either because connection reached maximal isles
                configuration, or no more global isles resources left), TCP
                drops the packet, but would send a pure ACK.

    Change:     (FW iSCSI) Send pure ack only if a new isle can be allocated for
                the connection.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    Login Response with header or digest enable failure.

    Change:     (FW iSCSI) Fix the Login Response RT flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    Rx connection error.

    Change:     (FW iSCSI) Disable the Mstorm valid bit in case of local
                completion.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    IO timeouts during OOO scenarios.

    Change:     (FW iSCSI) Re-open TCP window once last Out-Of-Order packet is
                received from Out-Of-Order queue.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    Ack processing.

    Change:     (FW iSCSI) Do ack processing on packets that are supposed to be
                truncated.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    Connection activity counters may be improperly released in error
                condition if SQ WQE contains multiple SGEs, eventually leading
                to stuck firmware.

    Change:     (FW RoCE) Fix connection activity counter release firmware.

    Introduced: 8.7.7.0.

    Relevance:  RoCE.

 9. Problem:    Race condition between data placement and error CQE when an
                error occurs in requester RX path.

    Change:     (FW RoCE) Guarantee placement complete before posting error CQE.

    Introduced: 8.7.6.0.

    Relevance:  RoCE.

Version 8.7.8.0a (Dec 18, 2015)
===============================
Internal FW 8.7.4.0

Enhancements:
-------------
 1. Request:    Add 10G link support to OEM device.

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

Fixes:
------
 1. Problem:    CQ83006 - Ping not working if "Allow Management OS to share this
                network adapter" selected.

    Change:     Fixed code that clears LLH filters.

    Introduced: Day 1.

    Relevance:  QPAR,NPAR,NVGRE.

Version 8.7.7.0 (Dec 16, 2015)
==============================
Internal FW 8.7.4.0

Fixes:
------
 1. Problem:    PCI read/write access by the device when Bus Master Enable was
                was down. Seen in CQ83517 and CQ82629 although this is not the
                root cause of these issues.

    Change:     When PF stop ramrod fails, don't abort unload flow. Instead,
                continue to the HW disable flow disabling HW from accessing
                the host.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    After L2 interfaces is disabled (linux ifdown) roce ramrods
                can't pass. Example scenario: rping, ifdown, kill application.

    Change:     When calling stop_fastpath, don;t diable timers, since slowpath
                should still be active, and roce slowpath requires timers to be
                active.

    Introduced: Day 1.

    Relevance:  Roce.

 3. Problem:    Clear SQ failure (2nd force load command).

    Change:     (FW iSCSI) Fix the WQE offset as part of the clear SQ ramrod.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    IO timeout due to TCP close window or
                ISCSI_EVENT_TYPE_ASYN_MAX_KA_PROBES_CNT connection error.

    Change:     (FW iSCSI) Fix the in-order TCP window update.

    Introduced: 8.4.1.0.

    Relevance:  iSCSI.

 5. Problem:    Missing TCP ACK.

    Change:     (FW iSCSI) Fix the TCP ACK processing flow in case of segmented
                PDUs.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    FW assert after iscsi connection error (relevant for recovery
                flows).

    Change:     (FW iSCSI) Fix the cid error MCM FOC flow.

    Introduced: 8.7.1.0.

    Relevance:  All.

 7. Problem:    Stop sending packets while in Fast RT.

    Change:     (FW iSCSI) Enable more to send rule in Fast RT if needed.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    CQ83520, 82997, 83118 - System break or ping stop during RoCE
                traffic.

    Change:     (FW RoCE) New hardware initializations as workaround for HW
                issue found.

    Introduced: Day 1.

    Relevance:  RoCE.

 9. Problem:    Firmware stuck in error handling race flow.

    Change:     (FW RoCE) Fix error handling flow in Requester.

    Introduced: 8.7.6.0.

    Relevance:  RoCE.

10. Problem:    Memory region activity counters may not be released in error
                condition if SQ WQE contains multiple SGEs, eventually leading
                to stuck firmware.

    Change:     (FW RoCE) Release all relevant activity counters.

    Introduced: 8.4.1.0.

    Relevance:  RoCE.

11. Problem:    In case packet is received with both RST and URG flags set, TCP
                would return TCP_SEG_PROC_URG result to upper layer and ignore
                the RST.

    Change:     (FW) Completely ignore URG flag by the TCP stack.

    Introduced: Day 1.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    CQ83680 - Add Quad port channel device.

 2. Request:    CQ83704 - Add RoCE, SR-IOV and QoS support to OEM specific
                device.

Version 8.7.6.0 (Dec 02, 2015)
==============================
Internal FW 8.7.3.0

Fixes:
------
 1. Problem:    CQ81929/CQ83018 - QCS displays link speed as 0.

    Change:     Updated link speed in driver IOCTL.

    Introduced: Day 1.

    Relevance:  QCS.

 2. Problem:    The RoCE device capability of CQ elements reported was smaller
                than possible by one CQE.

    Change:     Report the maximum capability of allowed CQ elements.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    The handling of the SPQ out-of-order completions has a wrong
                bitmap calculation.

    Change:     Fix the calculation.

    Introduced: 8.7.5.0.

    Relevance:  All.

 4. Problem:    CQ83395 - Firmware assert exposes when performing exchange
                cleanup on a middle-path task.

    Change:     (FW FCoE) Allow handling exchange cleanup on a middle-path task.

    Introduced: Day 1.

    Relevance:  FCoE.

 5. Problem:    CQ82443 - Storm gets to 100% utilization and blocks the FCoE
                performance to 2.2 MIOPS.

    Change:     (FW FCoE) Remove assert logs from the fast-path flows.

    Introduced: Day 1.

    Relevance:  FCoE.

 6. Problem:    CQ83451 - Connection Error in case of Login Response StatSN
                value > 0.

    Change:     (FW iSCSI) Fix the Login Response flow.

    Introduced: 8.7.5.0.

    Relevance:  iSCSI.

 7. Problem:    Uncompleted task cleanup.

    Change:     (FW iSCSI) Fix the cleanup flow (UnValid task after cleanup HQ
                scan).

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    CQ83452 - CQE with flush not posted for SQ after Responder error
                detected.

    Change:     (FW RoCE) Resolve race in error handling CQE generation.

    Introduced: 8.3.0.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    CQ83480 - Update friendly names as per OEM request.

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

Fixes:
------
 1. Problem:    BSOD on iSCSI miniport disable.

    Change:     LL2 OOO buffer allocation is fixed.

    Introduced: 8.7.4.0.

    Relevance:  iSCSI.

 2. Problem:    CQ80844 - Ping stops once adding vlan ID.

    Change:     (FW L2) Fix add VLAN filter flow.

    Introduced: 8.2.1.0.

    Relevance:  L2.

 3. Problem:    Rx traffic stops after remove all VLAN filters.

    Change:     (FW L2) Fix remove all filters flow.

    Introduced: 8.7.3.0.

    Relevance:  L2.

 4. Problem:    Tx stop in middle of traffic.

    Change:     (FW iSCSI) Fix the Tx.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    OOO event causing Rx connection error.

    Change:     (FW iSCSI) Fix the OOO right edge trimming.

    Introduced: 8.4.1.0.

    Relevance:  iSCSI.

 6. Problem:    exp_stat_sn validation error.

    Change:     (FW iSCSI) Fix the Rx validations.

    Introduced: 8.7.3.0.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add support for 32-bit chains.

Version 8.7.4.0 (Nov 19, 2015)
==============================
Internal FW 8.7.1.0

Fixes:
------
 1. Problem:    CQ79148 - Observed Assert on QEOIS while doing server reboot
                with iSNS configuration.
                CQ80285 - BSOD in iSCSI driver on trying on logout iSCSI targets
                after disable/enable of iSCSI adapter ports.
                CQ82170 - Assert while disabling iscsi interface with
                200 LUN's mapped.

    Change:     HW workaround stopping LL2 traffic is implemented.

    Introduced: Day 1.

    Relevance:  iSCSI.

 2. Problem:    CQ80545 - Ping and Connection to ISCSI target unsuccessful
                when FCoe storage ports are enable.
                CQ82074 - If FCoE driver presents RDMA traffic taking L2 path
                instead of RDMA path.

    Change:     Driver does not care about LLH classification type
                but MFW properly initializes needed registers.

    Introduced: Day 1.

    Dependency: Fix is effective with MFW 8.7.1.0 and later.

    Relevance:  ROCE, iSCSI, FCoE.

Enhancements:
-------------
 1. Request:    Add OSAL_POLL_MODE_DPC needed by ecore for other systems.

 2. Request:    Add new channel device.

Version 8.7.3.0 (Nov 13, 2015)
==============================
Internal FW 8.7.1.0

Fixes:
------
 1. Problem:    Concurrent non-blocking slowpath ramrods can cause an overflow
                in the SPQ.

    Change:     Handle out-of-order completions, and fix the way a pending SPQ
                entry is moved to the pending sending list.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    The elements left calculation for "next pointer" chains may miss
                an unusable entry.

    Change:     Fix the calculation.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    GRC access error on writing to MCP shmem during Function init
                and FLR initial cleanup.

    Change:     Fix FW FLR flow.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    CQ82539 - Final FLR ack is not always written to the correct
                location.

    Change:     Fix FW FLR flow.

    Introduced: 8.7.1.0.

    Relevance:  All.

 5. Problem:    CQ82059 - unexpected RSC exceptions seen when traffic is run.

    Change:     Do not increment tpa_aborts_num when aggregation closed due to
                timeout.

    Introduced: Day 1.

    Relevance:  RSC, LRO, GRO.

 6. Problem:    'force_vlan_mode' flag in first TX BD overrides default VLAN
                setting.

    Change:     Fix Tx flow. Now, 'force_vlan_mode' flag will only override
                DCB PCP.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    CQ83089 - Modifying a QP to error state while retransmitting
                from the SQ might cause some SQ WQEs not to be completed.

    Change:     Fix Modifying to error state flow.

    Introduced: Day 1.

    Relevance:  All.

 8. Problem:    CQ82386 - Error during transmitting RDMA read responses might
                cause the chip to get stuck.

    Change:     Fix flow of handling transmission from IRQ after error was
                detected.

    Introduced: Day 1.

    Relevance:  All.

 9. Problem:    CQ83210 - Firmware assert may be exposed while performing
                exchange cleanup.

    Change:     Fix firmware exchange cleanup flow.

    Introduced: 8.7.1.0.

    Relevance:  All.

10. Problem:    FW assert during connection recovery.

    Change:     Fix the clear SQ flow.

    Introduced: Day 1.

    Relevance:  All.

11. Problem:    FW OOO slow recovery.

    Change:     Fix OOO flow.

    Introduced: Day 1.

    Relevance:  All.

Version 8.7.2.0 (Nov 10, 2015)
==============================
Internal FW 8.7.0.0

Fixes:
------
 1. Problem:    CQ83205: KD break when evbd/miniport disable enable using
                devcon.

    Change:     Initialize return code in ecore_roce_modify_qp().

    Introduced: 8.6.0.0.

    Relevance:  ROCE.

 2. Problem:    CQ83211 - yellow bang with assertion while assigning vlan.

    Change:     Temporarily not require FW to ack final cleanup indication as
                it is broken in FW 8.7.0.0.

    Introduced: 8.7.1.0.

    Relevance:  All.

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

Fixes:
------
 1. Problem:    Debug bus can`t be dump during crash.

    Change:     Driver won`t relase debug bus allocated memory during crash.

    Introduced: 8.6.0.0.

    Relevance:  All.

 2. Problem:    Debug bus might not dumped during crash if more than one
                function from same engine is loaded.

    Change:     Driver will check all functions in order to get the debug bus
                dump.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Initial AH emulation support.

Version 8.7.0.0 (Nov 04, 2015)
==============================
Internal FW 8.6.1.0

Fixes:
------
 1. Problem:    CQ81593: RDMA connections getting dropped with large number
                of queue pairs.

    Change:     Driver initializes MSI-X table on minipor bind.

    Introduced: Day 1.

    Relevance:  ROCE.

 2. Problem:    Double doorbel of LL2 TX packet.

    Change:     Flow of TX packet submission is fixed.

    Introduced: Day 1.

    Relevance:  LL2.

Version 8.6.2.0 (Nov 01, 2015)
==============================
Internal FW 8.6.1.0

Fixes:
------
 1. Problem:    CQ81593: RDMA connections getting dropped with large number
                of queue pairs.

    Change:     Changed ECORE MR TID registration from callback to block.
                (This reverses the fix to: Cont00081796 - speed up NFS over
                RoCE mount time). Use ramrod with echo equals to 0.

    Introduced: 8.6.0.0.

    Relevance:  RoCE.

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

Fixes:
------
 1. Problem:    Assertions seen while running lots of storage connections.

    Change:     Next entries in the searcher T2 table are initialized as BE.
                This introduces OSAL_CPU_TO_BE64.

    Introduced: Day 1.

    Relevance:  Storage.

 2. Problem:    CQ82768 - Error during Chariot traffic run when thread count
                is set to more than 2.

    Change:     Disabled not supported features from 100G configurations.

    Introduced: Day 1.

    Relevance:  100G.

 3. Problem:    CQ82809 - Device friendly name for SRIOV VF is not according
                to the product specification.

    Change:     Updated INF as per specification.

    Introduced: Day 1.

    Relevance:  Device friendly name.

 4. Problem:    CQ81593: RDMA connections getting dropped with large number
                of queue pairs.

    Change:     RSS/CNQ conflict in MSI-X vectors mapping is resolved.

    Introduced: Day 1.

    Relevance:  ROCE.

 5. Problem:    CQ81448 - E4 RDMA - Traffic moving to L2 path after link
                down/up from switch.

    Change:     Added new qp state ECORE_ROCE_QP_STATE_SQ_ERR.

    Introduced: Day 1.

    Relevance:  RoCe.

 6. Problem:    Assertions seen while running lots of storage connections.

    Change:     Next entries in the searcher T2 table are initialized as BE.
                This introduces OSAL_CPU_TO_BE64.

    Introduced: Day 1.

    Relevance:  Storage.

 7. Problem:    CQ81507 - Event Queue / Common Queue completion might be placed
                at the wrong place in the ring.

    Change:     (FW) Fixed Common Queues PBL pre-fetch FW flow.

    Introduced: Day 1.

    Relevance:  All.

 8. Problem:    tag insertion on EDPM packets with tunneling didn't work as
                expected.

    Change:     (FW) Update relevant EDPM flow.

    Introduced: Day 1.

    Relevance:  L2.

 9. Problem:    CQ82798 - Firmware caused an ecore assert during device unload.

    Change:     (L2) Fixed Firmware device unload flow.

    Introduced: Day 1.

    Relevance:  All.

10. Problem:    CQ82638 - System crash while running L2 traffic and changing
                MTU after enabling WOL in lediag.

    Change:     Update the link-status only when the driver requests for the
                link.

    Introduced: Day 1.

    Relevance:  All.

Version 8.6.0.0b (Oct 19, 2015)
===============================
Internal FW 8.6.0.0

Enhancements:
-------------
 1. Request:    Update branding for Channel release.

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

Enhancements:
-------------
 1. Request:    Add new devices.

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

Fixes:
------
 1. Problem:    CQ82659 - 100G Mode: break in QENDA while doing fresh qenda
                driver installation.

    Change:     Remove LLH MAC config in case of CMT mode.

    Introduced: Day 1.

    Relevance:  CMT/100G.

 2. Problem:    CQ82061 - System hit assertion when global rsc is set to
                disabled while traffic running on adapter port.

    Change:     Completing RSC disable on each RX chain for synchronization.

    Introduced: 8.5.6.0.

    Relevance:  RSC.

 3. Problem:    Remove SR-IOV and RoCE support from OEM specific device.

    Change:     Updated INF to remove support.

    Introduced: 8.5.7.0.

    Relevance:  SR-IOV and RoCE on specific OEM device.

 4. Problem:    CQ82055 - Assertion for PF during VM power on under ETH traffic.

    Change:     Fix VF start flow.

    Introduced: Day 1.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    Added the support of statistics for NCSI. At present L2 and RoCE
                protocol statistics are supported.

Version 8.5.9.0 (Sep 30, 2015)
==============================
Internal FW 8.5.6.0

Enhancements:
-------------
 1. Request:    Update all branding strings as per request.

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

Fixes:
------
 1. Problem:    Connection error during out of order processing.

    Change:     (FW iSCSI) Fixed the out-of-order flow.

    Introduced: Day 1.

    Relevance:  iSCSI OOO.

 2. Problem:    CFC execution error might occur.

    Change:     (FW L2) Changes the L2 TX AC policy.

    Introduced: 8.5.5.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Support proper TC for iSCSO OOO TX chain.

 2. Request:    Updated roce evbd i/f to version 3 to support updating
                cnq consumer index in fw.

 3. Request:    Remove 'tpa_buf_size' from ecore_sp_vport_start() [deprecated].

 4. Request:    Change slowpath allocation from GFP_ATOMIC into GFP_KERNEL.

 5. Request:    Add ecore support for NCSI statistics.

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

Fixes:
------
 1. Problem:    No ping after low power states.

    Change:     Fixed rx mask configuration when returning from low power
                states.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Added IOCTL implementation to support debug tool with E4 CMT.

 2. Request:    CQ82056 - Add SRIOV and RoCE support to 25G Channel device.

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

Fixes:
------
 1. Problem:    CQ81318 - Observing Duplicate MAC for SRIOV VF port and
                different MACs for SRIOV VF and corresponding MSFT synthetic
                Adapter.

    Change:     PF sends to VF its mac via bulletin board.

    Introduced: Day 1.

    Relevance:  SR-IOV.

 2. Problem:    CQ81178 - accept-any-vlan is being reset when no VLAN filters.

    Change:     (FW L2) Fixed any-vlan update flow.

    Introduced: 8.2.5.0.

    Relevance:  L2.

 3. Problem:    CQ81412 - Timestamp value in TCP handshake is inconsistent
                with value in packets sent after it.

    Change:     (FW iSCSI) Fix timestamp option on handshake packets.

    Introduced: Day 1.

    Relevance:  TCP option 2 with timestamp enabled.

 4. Problem:    Completion for inline EDPM was given on WQE regardless of
                signaled attributes.

    Change:     (FW RoCE) Fix processing of EDPM WQEs flow.

    Introduced: Day 1.

    Relevance:  Inline WQEs with EDPM enabled.

 5. Problem:    Connection failure after task cleanup.

    Change:     (FW iSCSI) Fixed the exp_stat_sn validation after task cleanup.

    Introduced: Day 1.

    Relevance:  iSCSI initiator.

 6. Problem:    FW might still assert when transmitting [length > MTU].

    Change:     (FW L2) Fixed MTU violation flag initialization.

    Introduced: 8.5.5.0.

    Relevance:  L2.

Enhancements:
-------------
 1. Request:    Major changes in L2 Rx HSI - support TPA over BDs, remove
                SGE rings.

 2. Request:    Update vport start function prototype to have an
                argument structure inplace of large number of arguments.

Version 8.5.5.0 (Aug 27, 2015)
==============================
Internal FW 8.5.4.0

Fixes:
------
 1. Problem:    When vport is configured to accept only untagged packets as
                default behavior, stopping HW might cause FW assertion.

    Change:     (FW L2) Fixed relevant flow.

    Introduced: 8.3.4.0.

    Relevance:  L2.

 2. Problem:    CQ80743, CQ81295 - FW assertion appear during vport stop.

    Change:     (FW L2) Fixed contextless slow-path firmware flow.

    Introduced: Day 1.

    Relevance:  L2.

 3. Problem:    Posting 'send' or 'rdma write' WQE with multiple SGEs where
                at least one of the SGEs has length <= 64K might stuck chip.

    Change:     (FW RoCE) Fixed relevant flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    Target write failure in case of R2T PDU packet delayed ack.

    Change:     (FW iSCSI) Fix the R2T PDU packet delayed ack.

    Introduced: 8.4.1.0.

    Relevance:  RoCE.

 5. Problem:    FW assert during the re-transmit of logic PDU.

    Change:     (FW iSCSI) Fix the logic PDU re-transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    Initiator mode is not updating the driver about sense data.

    Change:     (FW iSCSI) Fix the updating of the sense data.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    GRC dump can't be parsed when taken with 'crash' preset.

    Change:     (FW tools) Fix the grcDump.

    Introduced: 8.5.4.0.

    Relevance:  All.

 8. Problem:    CQ80746 - FW asserts When transmitting [length > MTU].

    Change:     (FW L2) Silently drop such packets instead of asserting.

    Introduced: Day 1.

    Relevance:  L2.

 9. Problem:    CQ80796 - Assertions seen while running non-common block error
                recovery with ping traffic.

    Change:     Disable attentions in the IGU block when getting a process kill
                notification.

    Introduced: Day 1.

    Relevance:  Error recovery.

10. Problem:    RoCE traffic doesn`t work.

    Change:     LLH filters weren`t configured in default mode.

    Introduced: 8.5.5.0.

    Relevance:  Default Mode.

Enhancements:
-------------
 1. Request:    Read and store nvm flash size.

 2. Request:    Added management IOCTL support for SR-IOV related info.

 3. Request:    VF can request default behavior regarding vlan-tagged ingress
                when starting its vport.

 4. Request:    Add ecore APIs for OneView support.

 5. Request:    Add ecore_iov_get_vf_stats() through which a PF can read the
                statistics of any of its child VFs.

 6. Request:    (FW) MCP trace is taken while MCP is halted.

 7. Request:    Avoid waiting till timers linear scan is done during driver
                unload while recovery is in progress.

 8. Request:    Avoid checking for incorrect states in the QM/xCFC blocks during
                driver unload while recovery is in progress.

 9. Request:    Remove SF mode support from ecore and, add the support for
                Default-MF mode.

10. Request:    Workaround for a FW issue - disable QM opportunistic flow in the
                tx_queue_start ramrod.

11. Request:    Remove test board from INF.

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

Fixes:
------
 1. Problem:    Packets will be transmitted without timestamp even if
                it was negotiated in handshake in option 2 active connect.

    Change:     Fix FW flow of reading of TCP options from SYN-ACK packet.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ78157 - Windows scaling used is not correct in option 2
                active connect when IP version is IPv6.

    Change:     Fix FW flow of reading of TCP options from SYN-ACK packet.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ78673 - System crashes when disabling qevbda function
                while traffic is running.

    Change:     Fix FW QP destruction flow.

    Introduced: Day 1.

    Relevance:  ROCE.

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

Fixes:
------
 1. Problem:    CQ81094 - VF to VF Pins stops when VMQ is disabled on the PF
                after VF creation.
                CQ80716 - Ping does not works between VF to VF of Same port
                when Max Vfs created.

    Change:     Fixed promiscuous mode to accept any vlan even when a mac pair
                filter is configured on the vport.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ81118 - Driver failed to load on B0.

    Change:     Fixed hw init flow.

    Introduced: 8.5.1.0.

    Relevance:  B0.

Version 8.5.2.0 (Jul 29, 2015)
==============================
Internal FW 8.5.2.0

Fixes:
------
 1. Problem:    CQ80953 - Driver not enabling flow control correctly.

    Change:     Driver will enable auto neg flow control only in case speed is
                set to auto neg too.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    LLH filters might get exhausted and traffic fail after reloads.

    Change:     Prevent same LLH entry cleaning twice.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ80867 - E4:RoCE:qedr driver is not detecting RoCE functions
                using MFW:8.5.0.0.

    Change:     Enabling RoCE if personality is ETH and device capability in
                the nvm supports RoCE capability.

    Introduced: MFW 8.5.0.0.

    Relevance:  RoCE.

 4. Problem:    CQ80514 - system crash when running port0 Medusa stress and
                port1 load/unload (verifier enabled).

    Change:     Always return error status when ecore_resc_alloc() fail.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    Parity error may occur while running non-L2 traffic.

    Change:     (FW) Temporary mask the parity.

    Introduced: 8.5.1.0.

    Relevance:  BB B0, non-L2.

 6. Problem:    CQ80705 - attention when running traffic containing 'send with
                invalidate' packets.

    Change:     (FW RoCE) workaround for HW issue.

    Introduced: 8.5.1.0.

    Relevance:  BB B0, RoCE.

 7. Problem:    Recovery failure after local completion timeout.

    Change:     (FW iSCSI) Fix the local compilation recovery flow.

    Introduced: 8.4.1.0.

    Relevance:  iSCSI.

 8. Problem:    Slow IO recovery failure.

    Change:     (FW iSCSI) Fix the recovery flow.

    Introduced: 8.5.1.0.

    Relevance:  iSCSI.

 9. Problem:    DataOut may be sent with wrong [advanced] sequence ID in the
                middle of a sequence [i.e., sequence count != 0].

    Change:     (FW FCoE) Correct sequence ID handling according to the count.

    Introduced: Day 1.

    Relevance:  Target or Tape device.

10. Problem:    CQ80841 - Abnormal consumption of one (per switch) Host's
                physical processor when traffic is run on multiple VFs of same
                switch.

    Change:     Removed setting of tx accept all ucast.

    Introduced: Day 1.

    Relevance:  L2 Tx Switching.

Enhancements:
-------------
 1. Request:    Storage ecore API operates by relative Q ID.

 2. Request:    Remove the cleanup of general attention 35 since is done by the
                MFW (starting at version 8.5.0.0).

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

Fixes:
------
 1. Problem:    CQ80498 - link down after load/unload.
                CQ80453 - BSOD while enable disable SRIOV.

    Change:     Fix igu int attention enable init.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ77579,CQ77873,CQ80765 - System break in debugger while
                resuming from system hibernate.

    Change:     TPA was wrongly being set to disabled when coming back
                from hibernate.

    Introduced: Day 1.

 3. Problem:    hw_mdoe isn`t initialized with 40/100_MODE.

    Change:     Added 40/100_MODE init to hw_mode calculation.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    Re-transmit data corruption.

    Change:     (FW iSCSI) Fix the iscsi history queue.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    CQ80465 - E4: Assertions seen in the Hypervisor when VF
                attached VM is powered on.

    Change:     Configure VFs status blocks in CAU after setting them in
                in IGU.

    Introduced: 8.4.1.0.

    Relevance:  SRIOV.

 6. Problem:    If NVM is reset, load fail causes NULL pointer dereference.

    Change:     Set pointer to OSAL_NULL after freeing it.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add enhanced register read/write IOCTL.

 2. Request:    Asynchronous event iSCSI OOO isle delete support.

 3. Request:    (FW) Added BRB configurations to BB B0.

 4. Request:    (FW iSCSI) Implement re-transmit of slowIO.

Version 8.5.0.0 (Jul 06, 2015)
==============================
Internal FW 8.5.0.0

Fixes:
------
 1. Problem:    Outer tag not extracted from tunneled packets.

    Change:     Outer TAG in case of tunneled packets is indicated using
                a different flag than the normal flow.

    Introduced: 8.4.1.0.

    Relevance:  NVGRE.

 2. Problem:    Outer IPV4 Checksums in GRE packet not calculated.

    Change:     Added missing flag.

    Introduced: 8.4.1.0.

    Relevance:  NVGRE.

 3. Problem:    CQ80498 - link down after load/unload.

    Change:     Temporary workaround fix by adding sleep time before unloading.

    Introduced: Day 1.

 4. Problem:    Checksum for NVGRE LSO with inner IPV6EXT not calculated.

    Change:     Offset calculated as per FW expectations.

    Introduced: 8.4.1.0.

    Relevance:  NVGRE.

 5. Problem:    CQ80601 - System crash while disabling RSC IPv4 on teamed
                adapter.

    Change:     Only if current RSC state is disabled we init sge params.
                Otherwise we only update rsc ipv4/ipv6 enable state.

    Introduced: Day 1.

 6. Problem:    CQ80645 - System Crashes on reboot after enabling Driver
                Verifier.

    Change:     Removed mutex under spinlock which was caused when getting mcp
                trace buffer size during driver init.

    Introduced: 8.4.1.0.

 7. Problem:    BSOD and memory leak might happen when removing vlan filter in
                promiscuous.

    Change:     Fixed handling flow.

    Introduced: Day 1.

Enhancements:
-------------
 1. Request:    Enable NVGRE RX checksum offloads.

 2. Request:    Added cyclic debug log buffer per function.

 3. Request:    Support a number of isles as sum of one isle per connection
                and shared pool.

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

Fixes:
------
 1. Problem:    CQ80051 - System crash while installing QEVBD driver
                in NPAR mode.

    Change:     Clears ROCE search for all functions to prevent involving
                non initialized function in processing ROCE packet.

    Introduced: Day 1.

    Relevance:  NPAR.

 2. Problem:    CQ76105 - NDK logo test stops in between and reports failure
                in RDMA configuration.

    Change:     Extended roce_interface and moved IoGetDmaAdapter call from
                miniport to vbd.

    Introduced: Day 1.

    Relevance:  ROCE.

Enhancements:
-------------
 1. Request:    Adopt latest ecore with tunnelling changes.

 2. Request:    Add support for NC-SI driver version details.

 3. Request:    Collecting mcp trace data during system crash.

 4. Request:    Initial version of NVGRE offload support.
                Does not support IPV6 EXT.

Version 8.4.0.0 (May 14, 2015)
==============================
Internal FW 8.3.8.0

Fixes:
------
 1. Problem:    CQ79933 - E4 DCBX: assigning strict priority to FCOE result
                in system assert.

    Change:     Sanitize values provided by MFW.

    Introduced: Day 1.

    Relevance:  DCBx.

 2. Problem:    CQ79564 - FCoE: NPIV ports doesn't logs in to Target after
                creating around 70 NPIV ports.

    Change:     LLH ethertype classifaction is involved.

    Introduced: Day 1.

    Relevance:  FCOE under NPAR.

 3. Problem:    CQ79801 - iSCSI: Assertion while disable enable iscsi port
                from device manager.
                CQ78952 - iSCSI: Function failed to obtain IP address after
                driver disable/enable.
                CQ79264 - FCOE: port doesnt Login after load/unload
                for long time.

    Change:     Inialization FW variables on LL2 chains creation.

    Introduced: Day 1.

    Relevance:  LL2/Storage.

 4. Problem:    cq79688: VF traffic is failing for VFs with 'high' parent PF.

    Change:     Fix setting of IGU value [set parent PF instead of SISR].

    Introduced: Day 1.

    Relevance:  SRIOV, VF-RSS.

 5. Problem:    VFs aren't operational in secure-mode.

    Change:     Move VF configuration from shmem-based approach into using
                drv_data on MFW commands.

    Introduced: Day 1.

    Relevance:  SRIOV, secure-mode.

 6. Problem:    "VF[<..>] did not fill the address of SB <..>" appear in logs.

    Change:     Reduce verbosity of error print.

    Introduced: 8.2.0.0.

    Relevance:  SRIOV, VF-RSS.

 7. Problem:    VF`s personality is different from its PF.

    Change:     Fixed VF`s personality initialization in vf start ramrod.

    Introduced: Day 1.

    Relevance:  SRIOV.

 8. Problem:    Inconsistency between advertised number of QPs supported to the
                number of QPs that can be opened.

    Change:     Fix flow to allocate enough resources for capability
                adverstised.

    Introduced: Day 1.

    Relevance:  RoCE.

 9. Problem:    CQ79933 - E4 DCBX: assigning strict priority to FCOE result
                in system assert.

    Change:     Sanitize values proided by MFW.

    Introduced: Day 1.

    Relevance:  DCBx.

Enhancements:
-------------
 1. Request:    ROCE: Initial implementation of CQ affinity.

Version 8.3.8.0 (May 21, 2015)
==============================
Internal FW 8.3.8.0

Fixes:
------
 1. Problem:    CQ79391 - FCoE: Npar: HW aseertion on stop FCoE function.

    Change:     Timers scans on FCoE tasks are disabled before FCoE function
                stop/destroy.

    Introduced: Day 1.

    Relevance:  FCoE.

 2. Problem:    CQ79694 - Tx-Rx Pause frames seen even after flow control is
                disabled.

    Change:     Added handling of flow control.

    Introduced: Day 1.

 3. Problem:    Connection recovery bug in case the data was already acked.

    Change:     (FW iSCSI) Fix the connection recovery flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    Data corruption possible when transmitting IO contained in
                single buffer descriptor.

    Change:     (FW iSCSI) Fix cached BD transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add MCP tracing support.

 2. Request:    Add auto-neg speed support.

 3. Request:    Masked NIG "pause too long" attentions [sometimes appeared
                when dcbx was active].

Version 8.3.7.0 (May 14, 2015)
==============================
Internal FW 8.3.7.0

Enhancements:
-------------
 1. Request:    iSCSI OOO support.

 2. Request:    Added management IOCTL support for PHY read/write.

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

Fixes:
------
 1. Problem:    CQ79032 - NPAR - System crash seen when run load unload on all
                three protocol qevbda interfaces in INTA mode.

    Change:     Removed LAL manager timer and dpc since it is not in use.

    Introduced: Day 1.

 2. Problem:    CQ79440 - eVBD driver does not display proper event
                descriptions in Event log in Windows 2012.

    Change:     Changed order of resource DLLs to work around Windows update
                issue.

    Introduced: Day 1.

    Relevance:  Event logs.

 3. Problem:    CQ79434 - Failed to read nvm directory after MFW upgrade.

    Change:     Re-read MFW mailbox and mcp trace meta file after mcp reset.

    Introduced: Day 1.

    Relevance:  MFW upgrade.

 4. Problem:    CQ79497 - FW asserts on MTU 4000.

    Change:     Set maximum aggregation size to be maximum supported by FW.

    Introduced: Day 1.

    Relevance:  GRO.

 5. Problem:    iSCSi target connect - negative scenario failure.

    Change:     (FW iSCSI) Fix the option 2 connect negative scenario flow.

    Introduced: 8.2.1.0.

    Relevance:  iSCSI.

 6. Problem:    Retransmittion of iSCSI traffic with data digest enabled may
                cause HW attention.

    Change:     (FW iSCSI) Fix dummy-read flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    iSCSI multi-function connect failure.

    Change:     (FW iSCSI) Fix the multi-function init flow.

    Introduced: 8.3.2.0.

    Relevance:  iSCSI.

 8. Problem:    iSCSI unsolicited packed PDUs failure.

    Change:     (FW iSCSI) Fix the unsolicited packed PDUs flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    No traffic when maximum bandwidth configured for Pf is 1Mb/s.

    Change:     (FW) Make sure Rate-limiter is always configured to non-zero.

    Introduced: Day 1.

    Relevance:  L2, NPAR.

10. Problem:    CQ79472 - 25G - Assertion failure in afd.sys while running Echo
                TCP traffic.

    Change:     (FW) Mask NIG attentions in A0.

    Introduced: Day 1.

Version 8.3.5.0 (Apr 30, 2015)
==============================
Internal FW 8.3.6.0

Fixes:
------
 1. Problem:    CQ79407 - System crash in qevbda seen when run load unload on
                all three protocol.

    Change:     Taking resource num of vports from correct variable to avoid
                fault assertion.

    Introduced: Day 1.

 2. Problem:    CQ79244 - Observed Assertion in qevbda when configure
                IPv4 iSCSI address in QCS.

    Change:     Non proper printout registry subkey.

    Introduced: Day 1.

Enhancements:
-------------
 1. Request:    Move VF reject local mac/vlan event log to the ndis miniport
                from the qevbd.

Version 8.3.4.0 (Apr 28, 2015)
==============================
Internal FW 8.3.6.0

Fixes:
------
 1. Problem:    RoCE - NPAR - Assert happens after number of load/unload
                itterations.

    Change:     Clear LLH filters if required during unload.

    Introduced: 8.3.1.0.

 2. Problem:    CQ79243 - SRIOV - NPAR - assert for PF with 16 Vf?s during VM
                start.

    Change:     Not setting LLH MAC filter in case of SR-IOV filter is
                received.

    Introduced: 8.3.1.0.

 3. Problem:    CQ78872 -Traffic does not resume after comming back from
                hibernate. Also,system hangs if the system is put again in
                hibernate, or the device is disabled.

    Change:     Fix re-initialization of NDSB's.

    Introduced: Day 1.

    Relevance:  Low power state.

 4. Problem:    Memory overrun during roce stop.

    Change:     ILT range for RoCE tasks was calculated based on hard coded
                values instead of configurable ones.

    Introduced: Day 1.

 5. Problem:    Drivers fail to load on emulation.

    Change:     Prevent final cleanup and shmem-based logic from running on
                FPGA and emulations.

    Introduced: 8.2.7.0.

    Relevance:  FPGA, Emulation.

 6. Problem:    FW assertion due to sync. loss on Tx buffer sequence.

    Change:     (FW L2) Fix the Tx descrptors fetch flow.

    Introduced: 8.2.1.0.

    Relevance:  L2.

 7. Problem:    Data corruption if TCP send window closes during transmission
                of slowIO type iSCSI exchange.

    Change:     (FW iSCSI) Fix SlowIO transmit firmware flow.

    Introduced: 8.3.1.0.

    Relevance:  iSCSI.

 8. Problem:    Seperate response withut Sense Data failure.

    Change:     (FW iSCSI) Fix the completion flow of seperate response.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    Option 2 active connect failure.

    Change:     (FW iSCSI) Fix the connect flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

10. Problem:    Option 2 FIN re-transmit failure.

    Change:     (FW iSCSI) Fix the termination flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add support for secured NVM access.

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

Fixes:
------
 1. Problem:    CQ79025 ? SRIOV NPAR - Assertion while load/unload is running
                on PFs functions.
                CQ79032 - NPAR - System crash seen when run load unload on all
                three protocol qevbda interfaces in INTA mode.

    Change:     Moved wait time for pending work items after LAL manager dpc
                is canceled.

    Introduced: 8.3.2.0.

 2. Problem:    CQ79115 - 25G: System hitting exception while loading driver.

    Change:     Added handling in 25G port mode.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Added VF provider info to miniport:
                PROVIDER_FLAG_IS_VF_W8_BUS_DRIVER and
                PROVIDER_FLAG_IS_VF_NW8_BUS_DRIVER.

 2. Request:    VF handling forced vlan under non windows Hyper-V.

 3. Request:    New register file.

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

Fixes:
------
 1. Problem:    CQ79025 ? SRIOV NPAR - Assertion while load/unload is running
                on PFs functions.
                CQ79032 - NPAR - System crash seen when run load unload on all
                three protocol qevbda interfaces in INTA mode.

    Change:     Added wait time during unload for pending work items to done.

    Introduced: Day 1.

 2. Problem:    Possible context corruption.

    Change:     (INIT) Employe CCFC/TCFC HW bug workaround.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    QM attentions may appear when running in NPAR.

    Change:     (INIT) Use regular (external) vport ids as global rate-limiter
                id instead of the internal QM vport id.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    iSCSI out-of-order silently drops all packets.

    Change:     (FW) Revise flow that checks whether a packet is to be dropped.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    Application freezes when testing writes on RoCE flow.

    Change:     (FW) On start of Rx/Tx, clear old data written to driver by
                previous connections.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    SYN, SYN+ACK re-transmit failures.

    Change:     (FW iSCSI) Fix re-transmission flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    Receive RESET during connect failure.

    Change:     (FW iSCSI) Fix re-transmission flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    Possible re-transmit corruption.

    Change:     (FW iSCSI) Transmit history queue fix.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    CQ78086 - Rx path may be stalled after FW reports an error.

    Change:     (FW FCoE) Fix error reproting flow.

    Introduced: Day 1.

    Relevance:  FCoE.

10. Problem:    BD ring might get out of sync.

    Change:     (FW L2) Fix BD ring synchronization problem.

    Introduced: 8.2.1.0.

    Relevance:  L2.

11. Problem:    BMC packets are mistakenly dropped.

    Change:     (FW L2) Remove anti-spoofing check for BMC packets.

    Introduced: 8.2.1.0.

    Relevance:  Management traffic.

12. Problem:    PCI performance degredation on Grantly plaform.

    Change:     (FW L2) Set RO=0 fo rall PCI transactions.

    Introduced: Day 1.

    Relevance:  L2.

13. Problem:    During FLR, non-FLRed functions may freeze.

    Change:     (FW L2) FLRed function FW verifies it cleaned stale data for
                non-FLRed functions.

    Introduced: Day 1.

    Relevance:  All.

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

Fixes:
------
 1. Problem:    CQ78644 ? NPAR - Continous system crash observed when
                different maximum bandwidth set on adapter.

    Change:     Added support in NPAR to report speeds in the range of 100Mbps
                to 100Gbps, according to max bandwidth settings.

    Introduced: Day 1.

 2. Problem:    CQ78677 - SRIOV: system assert when simultaneous turn off all
                VM with max VF.

    Change:     Added protection for PF in move sriov q group filter to verify
                that VF`s vport is active when moving the filter.

    Introduced: Day 1.

 3. Problem:    VF won`t unload successfully if channel to PF is closed
                during unload.

    Change:     Fixed VF unload flow to continue even if channel is closed.

    Introduced: Day 1.

 4. Problem:    CQ78553 - RDMA doesn't work in NPAR mode takes L2 path.

    Change:     Set LLH MAC in NPAR mode.

    Relevance:  MF mode.

 5. Problem:    CQ78903 - BSOD on disable driver.
                CQ78959 - OS Crash while doing Load Unload (MPIO Failover)
                and traffic is running.

    Change:     Remove obsolete workaround of PTU HW block invalidation.

    Relevance:  NPAR and 4 ports modes.

 6. Problem:    Potential access to an un-allocated memory may occur during
                function unload.

    Change:     (FW) Fix common function unload FW flow.

    Introduced: Day 1.

    Relevance:  MF.

 7. Problem:    CQ78857 - PFC packet received will only stop traffic on
                requested TC for maximum of ~200usec and not as requested on
                packet.

    Change:     (FW) Fix timeout value after stopping TC due to received PFC
                packet.

    Introduced: 8.2.3.0.

    Relevance:  Port 1 in 2x40Gb configuration.

 8. Problem:    Error of VF FLR flow.

    Change:     (FW) Fix flow on VF load.

    Introduced: 8.3.0.0.

    Relevance:  SRIOV.

 9. Problem:    L2 losses connectivity after running RoCE traffic.

    Change:     (FW) Fix internal cache management flow.

    Introduced: Day 1.

    Relevance:  L2, RoCE.

10. Problem:    Driver unload during RDMA Read operation may cause wrong CQE
                generation.

    Change:     (FW) Fix calculation of packets per operation code.

    Introduced: Day 1.

    Relevance:  RoCE.

11. Problem:    Driver unload or error condition in responder while RDMA read
                or atomic responses are pending transmission may cause
                firmware assert.

    Change:     (FW) Correct activity counter calculation in error state.

    Introduced: 8.3.0.0.

    Relevance:  RoCE.

12. Problem:    When during retransmission (slow start) the transmission is
                stopped due to window, one packet will be sent every RTO timer
                until retransmission will end.

    Change:     (FW) Fix retransmission flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

13. Problem:    iSCSI traffic on function other than pfid 0 causes HW attention
                from PCFC.

    Change:     (FW) Fix connection-establishment flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

14. Problem:    Connection recovery failure.

    Change:     (FW) Fix offload ramrod fix.

    Introduced: Day 1.

    Relevance:  iSCSI.

15. Problem:    iSCSI response PDU with "BUSY" status is treated as connection
                error and leads to termination of the connection.

    Change:     (FW) Fix response PDU validations code to accept "BUSY" status.

    Introduced: Day 1.

    Relevance:  iSCSI.

16. Problem:    R2T stat sn validation error (misbehave target).

    Change:     (FW) Disable R2T stat sn validation.

    Introduced: Day 1.

    Relevance:  iSCSI.

17. Problem:    iSCSI target - response packet with wrong statSN value.

    Change:     Fix target Tx flow.

    Introduced: 8.2.1.0.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Added support for VF under Linux Hyper-V.

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

Fixes:
------
 1. Problem:    CQ78227 - Assertion while running RDMA traffic with PFC
                disabled.

    Change:     Initialize personality before getting resource and
                features num.

    Introduced: 8.2.7.0.

 2. Problem:    Setting personality to RoCE by create_pdo_value registry value
                doesn`t work if shmem personality value isn`t RoCE.

    Change:     Fixed personality initialization flow.

    Introduced: 8.2.7.0.

 3. Problem:    CQ78342 - Remove 20G speed from advanced driver properties.

    Change:     Removed 20G speed from INF.

    Introduced: 8.2.6.0.

 4. Problem:    CQ75812 - iSCSI: System assert while making hardware target
                disk online from windows server 2012R2.
                CQ78243 - ISCSI: Disable/Enable ISCSI interface results
                in assertion.
                CQ78407 - ISCSI: Assertion during Disconnect/Connect another
                target while traffic is running.

    Change:     Bus driver prevents mistaken reusing ecore connection data.

    Introduced: Day 1.

 5. Problem:    CQ78552 - NPAR: VMQs from same physical port do not
                ping each other.
                PFs from same physical port do not ping each other if SR-IOV
                is disabled on nvm or num VFs on nvm is set to 0.

    Change:     Enabled tx switching on NPAR mode.

    Introduced: Day 1.

 6. Problem:    FCOE - Firmware does not pass the RSP_INFO to the driver
                (only pass the SENSE_DATA).

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

 7. Problem:    CQ78240 - RoCE - Assertion when driver unload or reboot is
                performed after RDMA traffic.

    Change:     Fix RQ Flushing firmware flow.

    Introduced: FW 8.2.7.0.

 8. Problem:    CQ78105 - IGU attention igu_cmd_fid_not_match while loading PF0.

    Change:     Fix FLR Final Cleanup firmware flow.

    Introduced: Day 1.

 9. Problem:    CQ78281 - Assertion while running RDMA traffic with PFC enabled
                with 8 queue pairs.

    Change:     Fix BD ring synchronization problem in relevant firmware flow.

    Introduced: FW 8.2.1.0.

10. Problem:    Untagged as default behavior might cause an assertion.

    Change:     Fix Eth filter initialization logic.

    Introduced: FW 8.2.1.0.

11. Problem:    In Case of FLR mode with Light L2 connection HW may get stuck.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

12. Problem:    In Case of Reloading PF without unloading and reloading driver
                SB is written with old consumer.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

13. Problem:    Firmware handles PBL wrong in Case of 2 or 1 Pbl Pages.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

14. Problem:    FCOE - Terminate connection ramrod may be stuck while
                terminating many connections.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

15. Problem:    iSCI - HW attention in retransmit scenario.

    Change:     Fix activity counter logic in retransmit flow.

    Introduced: FW 8.0.0.6.

16. Problem:    CQ78314 - iSCSI - transmission may stop after TCP send window
                is closed.

    Change:     Fix SQ/R2TQ fetch logic in transmit flow.

    Introduced: 0.9.5.0.

17. Problem:    RoCE - Driver unload during RDMA Read operation may cause wrong
                CQE generation.

    Change:     Fix calculation of packets per operation code.

    Introduced: Day 1.

Enhancements:
-------------
 1. Request:    Added aditional data to grc dump taken in case of crash.

 2. Request:    Added VF RSC support.

 3. Request:    100G support.

 4. Request:    Add support for "DMA MR". Sges with key of such memory will
                hold physical address.

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

Fixes:
-----
 1. Problem:    Memory leakage when reconfiguring qm info upon DCBx update.

    Change:     Free qm info memory before re-initialize it.

    Introduced: 8.2.4.0.

 2. Problem:    CQ77989 - Chip may hang during stress test with L2 and
                non L2 traffic.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

 3. Problem:    Pause PFC not working properly on engine 1 in 2x50 mode.
                Also, PAUSE and PFC handling may be less than optimal in 4x10
                Eagle mode (Firmware wokaround was operational though HW
                handling is okay in these modes).

    Change:     Activate Firmware workaround in 2x50, do not activate it in
                4x10 Eagle.

    Introduced: 8.2.0.0.

    Relevance:  Scenarios involving Pause / PFC and 4x10 Eagle or 2x50.

Enhancements:
-------------
 1. Request:    CQ78093-Add codes to disable E4 PCI relaxed ordering.

    Change:     Disable PCI relaxed ordering if the registry key named
                disable_pci_relaxed_ordering is set.

 2. Request:    Read personality value from shmem. create_pdo_value registry
                value is removed by default.

 3. Request:    Enabled anti spoofing verification on VFs.

 4. Request:    FW - Initial error handling for abortive peer disconnect
                scenario during traffic.

Version 8.2.6.0 (Feb 24, 2015)
==============================
Internal FW 8.2.6.0

Fixes:
------
 1. Problem:    CQ77938:System bugcheck while running stress test with
                Pnpdutil on Qevbd with qenda in stack.

    Change:     Added code to abort the request during surprise removal
                before unbinding the client.

    Introduced: Day 1.

 2. Problem:    CQ77944:Only 127 fcoe targets able to login.

    Change:     Available number of storage connections is increased up to 2048.

    Introduced: Day 1.

 3. Problem:    Incorrect shadow mb register after comming back from D3.

    Change:     When comming back from hiberbate state, read the mb shadow
                after we call ecore_mcp_load_req request.

    Introduced: Day 1.

    Relevance:  L2.

 4. Problem:    Wrong device capabilities reported for maximum number of
                outstanding work requests send or Receive queue.

    Change:     Correct calculation of maximum number.

    Introduced: Day 1.

    Relevance:  RoCE.

 5. Problem:    CQ78031 - FCoE traffic stops with firmware 8.2.4.0 and DCBX
                enabled.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

 6. Problem:    When Tx switching is enabled, EDPM packets are not dropped
                when needed.

    Change:     Fix relevant firmware flow.

    Introduced: FW 8.1.3.0.

    Relevance:  SRIOV.

 7. Problem:    Vport Untagged init was not working correctly.

    Change:     Fix relevant firmware flow.

    Introduced: FW 8.2.1.0.

    Relevance:  SRIOV.

 8. Problem:    Anti spoofing with broadcast traffic doesn't work.

    Change:     Fix relevant firmware flow.

    Introduced: FW 8.2.1.0.

    Relevance:  SRIOV.

 9. Problem:    Congestion window is ignored when fast retransmission occurs
                while size of unacknowledged data is bigger than new calculated
                congestion window.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

10. Problem:    Re-connect after RESET failed (SYN-ACK packet dropped).

    Change:     Fix relevant connect/offload flow.

    Introduced: Day 1.

11. Problem:    Retransmission beyond TCP snd_max causes data-integrity
                problem, as normal transmission resumes from wrong sequence.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

12. Problem:    Retransmission of task may leave its activity counter non-zero,
                preventing force-load of subsequent task with same tid.

    Change:     Fix relevant firmware flow.

    Introduced: FW 8.0.0.6.

13. Problem:    CQ77978 - Detection of a false error while receiving FCoE
                control packets.

    Change:     Fix relevant FW flow.

    Introduced: FW 8.2.1.0.

14. Problem:    PCI relaxed ordering disabled, when TPA disable.

    Change:     Enable relaxed ordering.

    Introduced: FW 8.0.0.7.

    Relevance:  L2.

15. Problem:    CQ78111: Connectivity between VF and PF is broken when VLAN
                configured
                TX switching did not work with default Vlan.

    Change:     Fix relevant firmware flow.

    Introduced: FW 8.2.1.0.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    Added new device ID's.

 2. Request:    Added support for 25Gb and 50Gb speeds.

Version 8.2.5.0 (Feb 16, 2015)
==============================
Internal FW 8.2.4.0

Fixes:
------
 1. Problem:    SRIOV: VM BSOD while updating NDIS driver.

    Change:     During VF bind there was memory allocation of size 0.
                Removed the memory allocation for VF.

    Introduced: 8.2.2.0.

 2. Problem:    DCBx set as enabled to zeroed priorities and zeroed TCs when
                DCBx negotiation failed, instead of being set to disabled.

    Change:     Use new indication for MFW on whether negotiation succeeded
                and communicate the same to storm FW.

    Introduced: 8.2.2.0.

    Relevance:  DCBx.

 3. Problem:    ll2 connections use the wrong protocol in DCBx flows in FW.

    Change:     utilize api for supplying ll2 connections with their protocol.

    Introduced: 8.2.2.0.

    Relevance:  DCBx.

 4. Problem:    CQ77831 - "Speed & Duplex" setting has 1.0Gb, 10 Mbps and
                100 Mbps values.

    Change:     Removed unsupported speed values from the settings.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Support PFC on engine 1 by implementing FW workaround for
                Eagle A0 PFC HW bug.

 2. Request:    In 2x40g Single-Function mode, add support for 120 vfs-per-pf.

Version 8.2.4.0 (Feb 09, 2015)
==============================
Internal FW 8.2.4.0

Fixes:
------
 1. Problem:    BSOD appears on VM when unloading VF.

    Change:     Fixed unload flow at ecore to handle VF properly.

    Introduced: 8.2.3.0.

Enhancements:
-------------
 1. Request:    Initial DCBx support. Ecore detects DCBx negotiation results
                and reconfigures QM and updates storm FW according to resutls.

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

Fixes:
------
 1. Problem:    CQ77774 - SRIOV Connectivity from VM to PF doesn't established
                until ping from PF to VF first.

    Change:     Added TX accept flags to PF in case SRIOV switch exists.

    Introduced: Day 1.

 2. Problem:    CQ77765 - Hardware attention when a packet with destination qp0
                arrives before any QP was offloaded.

    Change:     Initialize HW not to try offloading RoCE packets according to
                destination qp before first RoCE QP is offloaded.

    Introduced: Day 1.

    Relevance:  RoCE Personality.

 3. Problem:    CQ77624 - Max RSS queus reported as 8 even if set 16 on the
                adapter.

    Change:     Partial fix, Max rss reported as 16 when RoCE personality is
                configured but RoCE is set to disabled in the miniport
                properties.

    Introduced: Day 1.

 4. Problem:    Sending ramrod unfer traffic may stall storm processing.

    Change:     (FW) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    CQ77422 - CCFC assert, if vport started with RSC.

    Change:     (FW ETH) Fix packet drop flow.

    Introduced: Day 1.

    Relevance:  L2 Rx traffic with SGE enable.

 6. Problem:    Under heavy traffic, low proabability that local operation
                with fence might cause the QP not to post a CQE.

    Change:     (FW RoCE) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 7. Problem:    PFC packets are not honored on port 1.

    Change:     (FW) Implement workaround that will receive PFC packets in FW
                and configure the hardware accordingly.

    Introduced: Day 1.

    Relevance:  2x40Gb A0.

 8. Problem:    Tx start after Tx stop on same CID causes firmware assert.

    Change:     (FW LL2) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  LL2.

 9. Problem:    Default vlan update doesn't work.

    Change:     (FW ETH) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  L2.

10. Problem:    Tx switching didn't work correctly with EDPM packets.

    Change:     (FW ETH) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  L2 with EDPM.

11. Problem:    Packets vlan-tagged with id 0 will be discarded if no vlan
                tag was defined for the QP/connection.

    Change:     (FW RoCE, ISCSI) Fix relevnat firmware flow.

    Introduced: Day 1.

    Relevance:  RoCE, ISCSI.

12. Problem:    Multi-Function ISCSI works only on PF[0|1].

    Change:     (FW ISCSI) Use function queues relative offset, and init
                the default queue during offload ramrod.

    Introduced: Day 1.

    Relevance:  Multi-Function ISCSI.

Enhancements:
-------------
 1. Request:    Initial IOCTL implimentation to support qwinedebug device info.

 2. Request:    Add vlan support for SRIOV switch and VF.

 3. Request:    Change default personality to RoCE.

 4. Request:    TX (NIG) drain interface is supported for all protocols.

 5. Request:    Implement static bandwidth configuration for NPAR1.0.

Version 8.2.2.0 (Jan 27, 2015)
==============================
Internal FW 8.2.2.0

Fixes:
------
 1. Problem:    CQ76107 System crash during "DF-PCI Root Port Surprise Remove".

    Change:     Fix Qgroup free path.

    Introduced: Day 1.

 2. Problem:    CQ77704 - SRIOV: DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
                When loading 64 VFs.

    Change:     Increased num of rx/tx cids allocated memory.

    Introduced: Day 1.

 3. Problem:    CQ77696 - fatal assert while running fcoe traffic.

    Change:     Initializes QM correctly with the number of tasks supported.

    Introduced: Day 1.

    Relevance:  Fcoe.

 4. Problem:    CQ77723 - Observed BSOD while changing SRIOV state from
                enabled to disable on Port1.

    Change:     When roce isn`t started we scan only L2 status blocks
                during the dpc processing.

    Introduced: Day 1.

Enhancements:
-------------
 1. Request:    Add VF RSS.

    Change:     As requested.

 2. Request:    Add VF set rx mask.

    Change:     As requested.

Version 8.2.1.0 (Jan 22, 2015)
==============================
Internal FW 8.2.2.0

Fixes:
------
 1. Problem:    CQ77305 - SRIOV: Reboot 8 VMs with 8 VFs each result in system
                crash.

    Change:     Removed lock during VF FLR, and performing vf cleanup for
                single vf instead of all pending vfs.

    Introduced: 8.1.4.0.

 2. Problem:    Loading free version of qenda on VF causes BSOD.

    Change:     Changed VF default personality from ROCE to ETHERNET.

    Introduced: 8.2.0.0.

 3. Problem:    CQ77378 - RSC stats for PF are not incrementing.

    Change:     Added the implementation to update RSC statistics.

    Introduced: Day 1.

 4. Problem:    In Roce personality, when configuring max RSS queues to 16
                BSOD appears.

    Change:     During bind setting max queues to be according to l2sb_cnt
                instead of total sb_cnt.

    Introduced: Day 1.

 5. Problem:    In Roce personality, when there are more than 16 CPUs BSOD
                may appear during dynamic affinty process.

    Change:     Added condition to verify setting affinity of valid entry.

    Introduced: 8.1.3.0.

 6. Problem:    When more than one PF is loaded grc dump may not be collect
                during crash due to wrong calculation of buffer size.

    Change:     Moved buffer size calculation under global lock because it uses
                global static variables.

    Introduced: Day 1.

 7. Problem:    CQ77423 - RSC: DriverVerifier assertion when evbd load/unload.

    Change:     Fix cleanup RSC chains.

    Introduced: Day 1.

Enhancements:
-------------
 1. Request:    Change the default personality to ETH-ROCE.
 2. Request:    Support iSCSI clear SQ mechanism.
 3. Request:    Support iSCSI asynchronous events.

Version 8.2.0.0 (Dec 31, 2014)
==============================
Internal FW 8.2.0.0

Fixes:
------

 1. Problem:    CQ76071 - QEvbd driver does not display proper event
                          descriptions in Event logs on WS2012.

    Change:     Removed unwanted system DLL from required resource list.

    Introduced: Day 1.

 2. Problem:    CQ77135 - SRIOV - VF driver will work only if BAR2 is configured.

    Change:     Remove assumption that BAR2 resource is available.

    Introduced: 8.1.4.0.

 3. Problem:    COMMON: Sequence of several SRIOV disable pRoCEdures gets stuck.

    Change:     Fix relevant firmware flow.

    Introduced: fw 8.1.3.0

    Relevance:  SRIOV

 4. Problem:    COMMON: Wrong value returned to MCP at the end of SRIOV disable flow.

    Change:     Fix relevant firmware flow.

    Introduced: fw 8.1.3.0

    Relevance:  SRIOV

 5. Problem:    ETH: Parity attentions when high vpotrs used.

    Change:     Fix RSS resource allocation flow.

    Introduced: Day 1

    Relevance:  All

 6. Problem:    ROCE: Posting atomic operation WQE will cause hardware
                attention.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    ISCSI: Firmware error in case of TCP segment that include only
                iSCSI padding or digest (without iSCSI data).

    Change:     Fix relevant firmware flow.

    Introduced: Day 1

    Relevance:  All.

 8. Problem:    Rebalance resources fails when trying to install more than
                8 devices.

    Change:     Fixed the rebalance condition.

    Introduced: Day 1.

 9. Problem:    CQ77150 - system assert when moving VF between VMQ and SRIOV.

    Change:     When setting mac filter, releasing the lock only after updating
                the packet list of the queue group and not right after sending
                the ramrod.

    Introduced: Day 1.

10. Problem:    CQ77206 - SUT stuck at KD while running SRIOV enable disable in
                loop without vSwitch.

    Change:     Zeroed vport_update_params variable during rss enable.

    Introduced: Day 1.

11. Problem:    CQ77207 - SRIOV - bugcheck while disable evbd on PF with VFs
                configured.

    Change:     There was memory leak when trying to set mac filter which
                already exists.

    Introduced: Day 1.

12. Problem:    VFs published multicast table size bigger than 0.

    Change:     Set VF`s multicast table size to 0.

    Introduced: Day 1.

13. Problem:    CQ77203 - BSOD while creating vswitch on RDMA enabled NIC.

    Change:     Fix mistakenly forced recognition LL2 Q group as VMQ one.

    Introduced: ROCE Day 1.

14. Problem:    CQ76250 - BSOD with large number of targets.

    Change:     Excessive assertion on exceeding resources is eliminated.
                Bus driver returns error to storage miniport.

    Introduced: Day 1.

15. Problem:    VF RX producers in FW has old value after sending RXQ START.

    Change:     Initializing rx producers in VF before sending RXQ START
                request.

    Introduced: Day 1.

16. Problem:    CQ77231 - SRIOV - Remove Vlan ID from Vswitch or delete Vswitch
                results in breakpoint and system crash.

    Change:     Fixed filter exist check mechanism.

    Introduced: Day 1.

17. Problem:    CQ77313 - WHQL - NDIS - NDISTest 6.5 - [2 Machine] -
                E2EPerf failed.
                Max reported link speed is lower than link speed in use.

    Change:     Read the speed capability from the HW and return the max speed.

    Introduced: Day 1.

Enhancements:
-------------

 1. Request: CQ77076 - Need to add SRIOV property.

 2. Request: ETH: Add support for steering timestampRecorded to single Vport that handles PTP.

    Change:  As requested.

 3. Request: ROCE: Add support for per CQ interrupt moderation.

    Change:  As requested.

 4. Request: Add RSC support.

    Change:  As requested.

 5. Request:    ROCE: Add vlan support.

    Change:     As requested.

Version 8.1.4.0 (Dec 01, 2014)
==============================
Internal FW 8.1.4.0

Fixes:
------
 1. Problem:    CQ75580-System crash seen during VMQPowerManagement NDIS test.

    Change:     Removed an unwanted function call.

    Introduced: Day 1.

Enhancements:
-------------
 1. SR-IOV: Initial support for SR-IOV with tx-switching.
            Currently, if SR-IOV is enabled VMQ will be disabled.

 2. Request: Add 0x1077 vendor id entries.

Version 8.1.3.0 (Nov 25, 2014)
====================================
Internal FW 8.1.4.0

Fixes:
------
 1. Problem:    CQ76130 - E4: Assertion when system is rebooted.

    Change:     Handled additional client state during d3.

    Introduced: Day 1.

 2. Problem:    CQ76250 - E4: FCoE: BSOD with large number of targets.

    Change:     Reported number of FCoE connections is decreased to keep
                one connection for FW's internal using.

    Introduced: Day 1.

 3. Problem:    COMMON: SRIOV disable flow failed.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

 4. Problem:    ETH: PF to VF TX switching doesn't work.

    Change:     Fix relevant firmware flow.

    Introduced: Firmware version 8.1.3.0.

    Relevance:  SRIOV.

 5. Problem:    ETH: TPA coalesced aggregation timeout was too long.

    Change:     Fixed related hardware and firmware timer resolution configuration.

    Introduced: Day 1.

    Relevance:  GRO/RSC/LRO.

 6. Problem:    FCOE: Firmware assert occurs when ABTS response arrives while TX path is not yet flashed.

    Change:     Fix relevant firmware flow.

    Introduced: Firmware version 8.0.0.4.

    Relevance:  All.

 7. Problem:    FCOE: CQ76728 - Firmware assert may occur on write tasks of 512B.

    Change:     Fixed related hardware and firmware timer resolution configuration.

    Introduced: Day 1.

    Relevance:  All.

 8. Problem:    ROCE: QP traffic may hang if a "send" with size of more than MTU is requested when there
                are no E2E credits and no ack is received.

    Change:     Set timer for retransmission timeout.

    Introduced: Day 1.

    Relevance:  All.

 9. Problem:    ROCE: TCP fallback when RSS is enabled.

    Change:     Fix ROCE status block association to Message id.

    Introduced: ROCE Day 1.

    Relevance:  All.

Enhancements:
-------------

 1. Request:    ROCE - change the interrupt rate for ROCE to 50 micro seconds.

    Change:     As requested.

 2. Request:    ROCE - Performance optimization for RDMA read scenario with
                2 QPs.

    Change:     As requested.

Version 8.1.2.0 (November 10, 2014)
====================================
Internal FW 8.1.3.0

Fixes:
------
 1. Problem:    CQ75624 - E4: Network stats not displayed on base adapter when
                adapter is exported to VM and traffic is run
                through VM to external peer.

    Change:     Configured the FW to sum all the PF l2 queues stats together
                including VMQs on the default vport id.

    Introduced: Day 1.

 2. Problem:    ETH: VF's FLR sequence is failing at the 9th FLR request.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  ASIC.

 3. Problem:    ROCE: QP Flush occurs after MSN reaches 24-bit limit.

    Change:     Fix requester E2E credit calculation.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    CQ75648: E4 : [WHQL] NDISTest 6.5 - [2 Machine] - PacketFilters
                test failed as it expected 0 packets but received 250 packets.

    Change:     Updated accept flags logic.

    Relevance:  Day 1.

Enhancements:
-------------

 1. Request:    COMMON: Added pvfcSupported indication in storm memory
                path_info field, in order to support emulation and FPGA.
                Indication is initialized by init tool.

    Change:     As requested.

 2. Request:    COMMON: Added DCB support infrastructure.

    Change:   As requested.

 3. Request:  ETH: Added Default vlan insertion support.

    Change:   As requested.

 4. Request:  ETH: Added DCB priority update support.

    Change:   As requested.

 5. Request:  ETH: Added support for cross PF TX switching.

    Change:   As requested.

 6. Request:  iSCSI/FCoE: Added initial support for Multi CQs.

    Change:   As requested.

Version 8.1.1.0 (October 29, 2014)
====================================
Internal FW 8.1.2.0

Fixes:
------

 1. Problem:  Inta mode doesn`t work with RSS.

    Change:   Remove restriction of getting interrupts only from IGU 0 or 1.

    Introduced: Day 1.

 2. Problem:  System crashed when coming back from hibernate state.

   Change:    Added missing initializations in the resume path.

   Introduced: Day 1.

Version 8.1.0.0 (October 20, 2014)
====================================
Internal FW 8.1.1.0

Fixes:
------

 1. Problem: Hitting firmware assert when testing traffic on dual port.

    Change: Adding firmware\driver flow control workaround to hw bug found on Egale A0.

    Introduced: day one

 2. Problem: ROCE: unload hang after ROCE traffic

    Change: HSI change in the firmware in roce_destroy_cq_output_params cnq_num field to 16bits.

    Introduced: day one

Version 8.0.3.0 (September 30, 2014)
====================================
Internal FW 8.0.3.0

Fixes:
------

 1. Problem: CQ75921 - E4:FCOE:System gets BSOD while uninstalling FCOE device.

    Change:  Parameters in call of stop Rx LL2 Q are arranged.

    Introduced: 8.0.2.0.

 2. Problem:
     CQ75484 - VLAN not working for MS Teaming on W2K12-R2
     CQ75581 - E4: [WHQL] "NDISTest 6.5 - [2 Machine] - VlanSendRecv" failed
               to receive expected packets from the support adapter to
               the test adapter
     CQ75615 - E4: Ping doesn't work when VLAN ID is set on VMNetworkAdapter
     CQ75648 - E4 : [WHQL] NDISTest 6.5 - [2 Machine] - PacketFilters test
               failed as it expected 0 packets but received 250 packets

    Change: MAC/VLAN processing is arranged with FW concept.

    Introduced: Day 1.

Version 8.0.2.1 (September 28, 2014)
====================================
Internal FW 8.0.2.1

Fixes:
------

 1. Problem: CQ75972 - IPv6 is not working with 8.0.2.0 driver and 8.0.0.10 MFW

    Change: Multicast bin calculation seed value has been updated to HSI value.

    Introduced: 8.0.2.0.

Version 8.0.2.0 (September 23, 2014)
====================================
Internal FW 8.0.2.0

Fixes:
------

 1. Problem: Miniport is not getting correct chip id.

    Change: Returned correct chip id in query received from miniport.

    Introduced: Day 1.

 2. CQ75709 - E4: FCoE: W2012R2: Observed Bugcheck code 50 failure while
    installing FCoE driver.

    Change: Initialization of HW blocks is fixed.

    Introduced: Day 1.

 3. Problem: CQ75582 - E4: [WHQL] "NDISTest 6.0 - 2c_Mini6RSSSendRecv" test
                       failed as Miniport computed incorrect hash value
                       for some net buffers

    Change: Reading the rss hash type from rx cqe and reporting it via flags to the miniport.

    Introduced: Day 1.

 4. Problem: CQ75849: Assert in RoCE start as the number of cnq's are zero

    Change: Release allocated status blocks for l2

    Introduced: Day 1.

Version 8.0.0.11 (September 11, 2014)
====================================
Internal FW 8.0.0.7

Fixes:
------

 1. Problem: CQ75619 - E4: System crash while trying to create maximum VMQs
             CQ75654 - E4 : [WHQL] Several VMQ related tests are failing

    Change:  Changed max vmq parameter which reported to miniport to be
             according to status block count. Currently max vmq is 15.

    Introduced: 8.0.0.10.

Enhancements:
-------------
 1. Request: Added ID for new QLogic boards.

Version 8.0.0.10 (September 04, 2014)
====================================
Internal FW 8.0.0.7

Fixes:
------

 1. Problem: CQ75412 - E4: BSOD when NIC is virtualized with VMQ enabled.

    Change: Added vport resources and change calculation of the max_vmq.

    Introduced: Day 1.

 2. Problem: bug check in unload flow with RoCE personality

    Change: Allocation size of status block physical memory should be cache line aligned.

    Introduced: RoCE Day 1.

Version 8.0.0.9 (August 26, 2014)
=================================
Internal FW 8.0.0.6

Fixes:
------

 1. Problem: IGU attentions were seen after disable\enable of network direct functionality.

    Change: free status blocks that were allocated for RoCE in RoCE stop.

    Introduced: RoCE day 1.

 Enhancements:
-------------
    1. Request: Adding statistics support for RoCE

Version 8.0.0.8 (August 18, 2014)
=================================
Internal FW 8.0.0.5

Fixes:
------

 1. Problem:    Enabling VMQ capability was missing in the RoCE bind process.

    Change:     Adding the VMQ capability to the RoCE bind.

    Introduced: 8.0.0.7.

Version 8.0.0.7 (August 14, 2014)
=================================
Internal FW 8.0.0.5

Fixes:
------

 1. Problem:    Debug bus buffer state wasn`t change to FLUSH after record was
                collected and saved in the buffer.

    Change:     Update the state correctly.

    Introduced: Day One.

 2. Problem:    CQ75085 Tx and Rx statistics doesn't increment in network control panel.

    Change:     Added statistics implementation.

    Introduced: Day One.

Version 8.0.0.6 (August 11, 2014)
=================================
Internal FW 8.0.0.5

Fixes:
------

 1. Problem:    CQ75066 - Ping works even if different VLANs are set.

    Change:     VLAN tag processing is fixed in the relevant qevbd flow.

    Introduced: Day One.

 2. Problem:    No traffic after grc dump taken.

    Change:     Disabling Grc dump IOR config after getting grc dump
                buffer size.

    Introduced: qevbd 8.0.0.3.

Version 8.0.0.5 (July 31, 2014)
===============================
Internal FW 8.0.0.5

Fixes:
------

 1. Problem:    (FW ETH) New PBL logic causes unnecessary assertions when
                working in LSO and when working with a single page ring.

    Change:     Fix the relevant firmware flow.

    Introduced: Firmware version 8.0.0.4.

    Relevance:  All.

Version 8.0.0.4 (July 29, 2014)
===============================
Internal FW 8.0.0.3

Fixes:
------

 1. Problem: Lost of connectivity when running multiple tcp connections using simple_tcp tool.

    Change:  There was FW assert due to sending tx lso packet which contained
             more than 20 fragments which the first 20 fragments didn`t contain
             9700 bytes. Update the eVBD tx lso coalescing with this
             restriction.

    Introduced: Day 1.

Enhancements:
-------------
 1. Request: Change service name to qebdrv.

Version 8.0.0.3 (July 24, 2014)
==============================
Internal FW 8.0.0.3

Fixes:
------
 1. Problem: Indication of link up after miniport driver loaded when
             actually link is down.

    Change:  When miniport driver is loaded link is initialize to link down
             state and when link is available it will be indicated as link up.

    Introduced: Day one.

Enhancements:
-------------
 1. Request: Added IOR and VFC data to the grc dump which is collected during crash.

Version 8.0.0.2 (July 17, 2014)
==============================
Internal FW 8.0.0.3

Fixes:
------
 1. Problem: DMAE Timeout when loading driver after unloading it.
             It was due to turning off DMAE when driver goes down.

    Change:  DMAE handling moved to ecore and setting it off\on
             when device stop\start.

    Introduced: Day one.

    Relevance:  E4 driver.

 2. Added VMQ capabillity support.

Enhancements:
-------------
 1. Request:    Rename driver binary to qevbdX.sys (evbd2X.sys).

 2. Request:    Rename service to qebdrv (qebdrv).

Version 8.0.0.1 (July 10, 2014)
==============================
Internal FW 8.0.0.3

Fixes:
------
 1. Problem: CQ74431 - System freezes and reboots in about 10-15 minutes

    Change:  The issue was only in Retail version due to compiler optimization
             of registers read\write code. Those operation have been changed to
             code which will not be optimized.

    Introduced: Day one.

    Relevance:  E4 Retail version.

Enhancements:
-------------
 1. Request:    Rebrand Broadcom-->QLogic

Notice:
------
 1. SF 2x40 mode wasn`t tested yet.

 2. Basic iSCSI functionality was not tested specifically on this version.

Version 0.9.96.0 (June 19, 2014)
================================
Internal FW 0.9.9.6

 1. This is the initial release version of eVBD2 driver for E4.

 2. This version requires to use with MFW version 0.0.e.

 3. Currently, the driver supports:
    L2   - Basic traffic, RSS, LSO, IPV6.
    FCOE
    ISCI - Under verification, will be notified later.

 Notice:
 ------
 1. After unloading\updating the eVBD driver, you need to power cycle the SUT in order
    to load\reload the driver correctly due to a DMAE issue.

 2. SF 4*10 is the only tested configuration.
    SF 2x40 and MF mode weren`t tested yet.

 3. Branding is still Broadcom.
