release.txt Driver File Contents (Broadcom_LAN_Chipset_v7.6.4.2_Windows_32.zip)

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

                  Broadcom BCM57710/BCM57711/BCM57711E/BCM57712
                                  10 GigE VBD
                      Broadcom BCM57800/BCM57810/BCM57840
                                  20 GigE VBD
                  For Windows Server 2000, 2003 2008 and 2012

                  Copyright (c) 2000-2013 Broadcom Corporation
                              All rights reserved.

Version 7.6.59 (February 28, 2013)
==================================
Internal FW 7.6.57

Fixes:
------
 1. Problem:    CQ67635 - Chip crashes when iSCSI firmware tries to retransmit
                iSCSI login command. If the iSCSI Login is carrying data not
                aligned to 4 bytes, it will cause a hardware attention.

    Change:     Firmware fix to iSCSI retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

Version 7.6.58 (February 27, 2013)
==================================
Internal FW 7.6.56

Fixes:
------
 1. Problem:    CQ67976 - Can not run heavy Tx or Rx + Tx L2 I/O in the AFEX
                environment.

    Change:     Fix typo in the code that caused max bw to be incorrect for
                vnics that loads after first vnic on port.

    Introduced: Part of fix in eVBD 7.6.57.

    Relevance:  57712/57810/57840 AFEX only.

Version 7.6.57 (February 26, 2013)
==================================
Internal FW 7.6.56

Fixes:
------
 1. Problem:    CQ67802 - Very low performance when running traffic in AFEX
                mode.

    Change:     Driver is not able to configure max bandwidth for a VNIC on the
                fly.

    Introduced: Day 1 of AFEX.

    Relevance:  57712/57810/57840 AFEX only.
                Probability of the issue to happen depends on timing of
                commands sent from switch to the driver. Issue was first seen
                after change in switch firmware.

Version 7.6.56 (February 18, 2013)
==================================
Internal FW 7.6.55

Fixes:
------
 1. Problem:    CQ67640 - BSOD when running VF load/unload while running
                Chariot.

    Change:     Register containing VF ID should be read from bar instead pci
                configuration space, to avoid race condition that leads to a
                wrong value being read.

    Introduced: 7.4.0.

    Relevance:  SRIOV.

 2. Problem:    CQ67427 - Running Quad/Dual port converged traffic (FCoE +
                iSCSI) when all ports are configured with targets results
                in system breaking into the debugger.

    Change:     Driver will initialize FW ISCSI OOO consumer when ISCSI OOO
                loads.

    Introduced: Day 1 of ISCSI OOO - T6.0.

    Relevance:  ISCSI OOO.

Version 7.6.55 (January 31, 2013)
=================================
Internal FW 7.6.53

Fixes:
------
 1. Problem:    CQ67367 - Complete starvation of ETH traffic in stress scenario
                involving FCoE and ETH traffic.

    Change:     Fix hardware initialization values.

    Introduced: Day 1 of 4 port - T7.6.

    Relevance:  578xx, 4-port mode.

Enhancements:
-------------
 1. Request:    CQ67078 - Control SFP+ tap values through nvm configuration.

Version 7.6.54 (January 30, 2013)
=================================
Internal FW 7.6.52

Fixes:
------
 1. Problem:    CQ67469 - Unable to boot into Windows 2012 OS using iSCSI boot
                and 57711E OEM adapter.

    Change:     Remove driver code that read from non-initialized memory.

    Introduced: 7.6.0.

    Relevance:  BCM57710/57711.

 2. Problem:    CQ67539 - In Windows 2012, OS configured iSCSI priority takes
                precedence even when host in "Willing" mode.

    Change:     Fix relevant driver flow.

    Introduced: T7.4 (Day 1 of QoS).

    Relevance:  QOS.

 3. Problem:    (FW iSCSI) CQ67427 - Receiving heavy iSCSI OOO traffic might
                cause system crash.

    Change:     Fix relevant firmware flow.

    Introduced: Firmware version 6.0.0.

    Relevance:  iSCSI traffic.

Version 7.6.53 (January 28, 2013)
=================================
Internal FW 7.6.51

Fixes:
------
 1. Problem:    (FW FCOE) CQ67253 - Chip gets stuck during heavy FCoE traffic
                in 4-port mode while working vs. 3PAR targets.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  FCoE.

 2. Problem:    (FW FCOE) CQ67011 - False error reporting while working
                vs. 3PAR targets.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  FCoE.

Enhancements:
-------------
 1. Request:    CQ67474 - Add 4-part IDs for OEM design.

 2. Request:    CQ67483 - Product version string should be 17.6.0.

Version 7.6.52 (January 21, 2013)
=================================
Internal FW 7.6.8

Fixes:
------
 1. Problem:    In SFP detection module when 1G device is detected an error
                for wrong forced link speed is printed, regardless of
                requested link speed.

    Change:     Condition the warning print for wrong forced link speed
                only if the previous doesn't match the current.

    Introduced: 7.4.20.

    Relevance:  578xx - SFP+.

Enhancements:
-------------
 1. Request:    CQ67145 - Remove 4-part IDs for OEM design.

 2. Request:    CQ67146 - Add 4-part IDs for OEM design.

 3. Request:    CQ67230 - Add 4-part IDs for OEM design.

Version 7.6.51 (January 03, 2013)
=================================
Internal FW 7.6.8

Fixes:
------
 1. Problem:    CQ66879 - The LED does not blink on the BCM84834 based board due
                to awkward HW LED wiring.

    Change:     Use LED4 of the BCM84834 to toggle the panel LED while keeping
                interrupt disabled to avoid NIG attentions, and at the end
                restore NIG to previous state.

    Introduced: Day 1.

    Relevance:  BCM84834.

 2. Problem:    (FW ETH) CQ66558 - Total loss of network traffic and system
                crash (BSOD) error might occur when a TCP no payload packet
                arrives during aggregation of payload packets on a different
                TOS.

    Change:     Fix the relevant RSC firmware flow.

    Introduced: Firmware version 6.4.0 actually T7.4 when RSC first introduced.

    Relevance:  L2 traffic with RSC enabled.

 3. Problem:    CQ66402 - EEE is not fully enabled for BCM84834.

    Change:     Resolve EEE AN for BCM84834 as well.

    Introduced: Day 1.

    Relevance:  EEE in BCM84834.

 4. Problem:    (FW iSCSI) CQ66564 - Chip might crash when receiving data
                packet carrying TCP FIN flag during heavy iSCSI traffic.

    Change:     Race condition between data placement command, and receive
                buffer release command during connection termination.

    Introduced: Day 1.

    Relevance:  BCM57710/57711/57712/57810/57840, iSCSI traffic.

Enhancements:
-------------
 1. Request:    CQ66742 - Change INF settings for pdo enumeration.

 2. Request:    CQ66689 - Add support for RJ45 SFP module.

 3. Request:    CQ64735 - Control SFP+ tap values through nvm configuration.

Version 7.6.50 (December 06, 2012)
==================================
Internal FW 7.6.6

Fixes:
------
 1. Problem:    CQ66788 - Assert (chk) or link loss occurred while disabling or
                NPAR enabling NPAR or any access to NVRAM from user mode
                application, simultaneously with a change in link state.

    Change:     There is a rare race condition that might occur in the
                described flow that will eventually lead to link loss.
                The chances such thing happen are very low and observed
                only once.

    Introduced: T7.0.

    Relevance:  NVRAM access simultaneously with link changes.

Version 7.6.5 (November 22, 2012)
=================================
Internal FW 7.6.6

Fixes:
------
 1. Problem:    CQ66360 - System asserted while running Driver load/unload.

    Change:     Fixed low probability race that occurred when calling the toe
                initialization function (as part of binding NDIS miniport) at
                the exact time that an iSCSI connection was being offloaded.
                The fix is to move a shared structure between TOE and iSCSI to
                a common location so that it is not nullified by the toe
                initialization flow.

    Introduced: Day 1.

    Relevance:  iSCSI and TOE.

 2. Problem:    CQ66127 - FCoE statistics acquired by switch with AFEX mode
                are larger than expected.

    Change:     Fixed LSB/MSB counters calculation.

    Introduced: eVBD 7.6.4 (as part of original fix of this issue).

    Relevance:  AFEX mode only.

Enhancements:
-------------
 1. Request:    CQ65673 - Change INF Flow Control for SFP+ adapters to
                default as 'tx/rx enable' for additional OEM devices.

 2. Request:    CQ66625 - Add 4-part IDs for OEM design.

 3. Request:    CQ66534 - INF file changes for OEM designs.

Version 7.6.4 (November 06, 2012)
=================================
Internal FW 7.6.6

Fixes:
------
 1. Problem:    CQ65890 - BSOD in eVBD while running iscsi boot.

    Change:     Changed iscsi connection terminate flow to handle timeout
                for ramrod completion correctly during OS shutdown.

    Introduced: T6.0 (Day 1 iSCSI OOO).

    Relevance:  iSCSI.

 2. Problem:    CQ655981 - KR link stays down after toggling OEM switch port
                state.

    Change:     Add recovery sequence that runs every two seconds for four times
                after PHY is initialized, and after link goes down. In case it
                detects link down, it toggles RX/TX asic, and restarts autoneg.

    Introduced: Day 1.

    Relevance:  57810-KR.

 3. Problem:    (FW) CQ66105 - In SWITCH DEPENDENT mode, outer vlan is
                incorrect after function update.

    Change:     Fix the relevant firmware flow.

    Introduced: 7.2.0.

    Relevance:  All.

 4. Problem:    (FW FCOE) CQ65423 - FCP RSP overflow/underflow error was
                wrongly reported.

    Change:     Fix the relevant firmware flow.

    Introduced: Day 1.

    Relevance:  FCoE.

 5. Problem:    (FW iSCSI) CQ66305 - Offloading ISCSI connection with COS>0
                caused HW assert.

    Change:     Fix the relevant firmware flow.

    Introduced: eVBD 7.6.3.

    Relevance:  iSCSI running on 57712/578xx.

 6. Problem:    CQ66127 - FCoE statistics acquired by switch with AFEX mode
                are smaller than expected.

    Change:     Add missing counters to the FCoE statistics sent by driver
                to MFW.

    Introduced: Day 1 of AFEX.

    Relevance:  AFEX mode only.

Enhancements:
-------------
 1. Request:    CQ66197 - Remove INF profiles for OEM designs.

 2. Request:    Add flag for loopback testing in driver.

Version 7.6.3 (October 31, 2012)
================================
Internal FW 7.6.5

Fixes:
------
 1. Problem:    (FW ETH) CQ66042 CQ65950 CQ66088 - Problem with classifying
                FCoE frames in 4-port NPAR systems.

    Change:     FW fix to assign correct function ID for each port in path.

    Introduced: Day 1.

    Relevance:  BCM57712/BCM578xx, only on 4-port NPAR systems.

 2. Problem:    CQ65846 - Delayed-ACK was always enabled regardless settings in
                iSCSI miniport.

    Change:     eVBD now honor parameter it gets from miniport.

    Introduced: Day 1.

    Relevance:  iSCSI offload.

Version 7.6.2 (October 25, 2012)
================================
Internal FW 7.6.4

Fixes:
------
 1. Problem:    CQ65570 - BSOD after 200 Error Recovery cycles.

    Change:     Additional fix for preventing ER from trying to complete TOE
                upload already completed on either Rx or Tx path. (7.4.13).

    Introduced: Day 1 of Error recovery flow: eVBD version 6.4.19.

    Relevance:  Checked versions, only during error recovery flow under TOE
                stress.

 2. Problem:    CQ61866 - Link drops during reboot test using MFW older than
                T7.2 due to lack of appropriate PHY lock in those versions.
                Since this is timing related, some systems may exhibit this
                issue more often than others.

    Change:     When old MFW is detected, check correct EMAC setting for CL45
                and the correct PHY clock to achieve good PHY access. In case
                it is not set correctly, change it accordingly.
                In addition, in case of external PHY, set the external PHY's
                EMAC mode in case it is different than the internal PHY.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ65641 - No 1G link against certain switches.

    Change:     Restore CL72 misc control register to default value rather than
                0.

    Introduced: T7.2.

    Relevance:  578xx-KR.

 4. Problem:    CQ65784 - No link against 1G switch in KR2 mode.

    Change:     Check 1G link as well in KR2 mode.

    Introduced: 7.6.0.

    Relevance:  57840.

 5. Problem:    Several KR registers were not set correctly back to default
                correctly after loopback test.

    Change:     Set those global registers over the global WC lane (zero) rather
                than the current lane.

    Introduced: 7.4.4.

    Relevance:  57840 - KR/KR2.

 6. Problem:    KR2 work-around (From CQ65727 fix), may be set off too early.

    Change:     Wait for 4 seconds after signal is detected, before start
                checking the need for symptoms of this problem, and in that
                case, disable the whole KR2 configuration, and not just CL73.

    Introduced: 7.6.1.

    Relevance:  KR2.

 7. Problem:    CQ65773 - No link after PXE boot in link flap avoidance case.

    Change:     Set the appropriate default PHY DEVAD even if LFA kicks in.

    Introduced: 7.4.4.

    Relevance:  57712.

 8. Problem:    CQ66103 - WHCK ChkINF verification failure.

    Change:     Remove duplicated entries.

    Introduced: 7.6.0.

    Relevance:  All.

 9. Problem:    Issues with FCOE interfaces when in 4-port NPAR mode due
                incorrect separation between 2 ports of path.

    Change:     FW fix for separation between the 2 ports of path.

    Introduced: Day 1.

    Relevance:  BCM578xx, only on 4-port NPAR systems.

10. Problem:    CQ65951 - Chip 57840 hangs when offloading iSCSI connection.

    Change:     (FW iSCSI) Firmware implementation fixed.

    Introduced: Day 1 of 4 port.

    Relevance:  All OS on 57840.

11. Problem:    CQ65884 - TCP retransmission timeout value was much longer
                (16 to 19 sec) than expected.

    Change:     TCP FW fix. Do not re-calculate rtt and RTO during retransmit
                state, even if timestamp option is set.

    Introduced: Day 1.

    Relevance:  iSCSI and TOE on BCM57710/BCM57711/BCM57712/BCM578xx.

Enhancements:
-------------
 1. Request:    CQ66120 - Changes to INF for OEM specific design.

 2. Request:    CQ66121 - Changes to INF for OEM specific design.

 3. Request:    CQ66197 - Changes to INF parameter names.

Version 7.6.1b (October 16, 2012)
=================================
Internal FW 7.6.3

Enhancements:
-------------
 1. Request:    CQ65675 - Change INF profiles for OEM designs added in 7.6.0.

Version 7.6.1a (October 11, 2012)
=================================
Internal FW 7.6.3

Enhancements:
-------------
 1. Request:    CQ65943 - Add 4-part-ID for Partner Program.

 2. Request:    CQ65944 - Add 4-part-ID for Partner Program.

 3. Request:    CQ65673 - Change INF Flow Control for SFP+ adapters to
                default as 'tx/rx enable'.

 4. Request:    CQ65740 - Add 4-part IDs for OEM design.

Version 7.6.1 (October 04, 2012)
================================
Internal FW 7.6.3

Fixes:
------
 1. Problem:    CQ65711 - Win7 client StandardizedKeywords fails for Chimney
                keyword support.

    Change:     Chimney not supported for win7 client. Changed capabilities.

Enhancements:
-------------
 1. Request:    CQ65831 - Change INF profiles for OEM design.

Version 7.6.0 (October 02, 2012)
================================
Internal FW 7.6.3

Fixes:
------
 1. Problem:    CQ65727 - KR2 fails to link against (non-8073) 10G switch.

    Change:     Apply KR2 work-around in case CL73 fsm is stuck waiting for
                next-page.

    Introduced: T7.5.

    Relevance:  KR2.

 2. Problem:    CQ65645 - Possible incorrect link speed provision following
                rapid link speed change.

    Change:     Clear link speed mask after each link change, and not only
                after link down.

    Introduced: Day 1.

    Relevance:  Autoneg.

 3. Problem:    No link on 578xx 10G-baseT boards. This problem is introduced
                only now, due to changes in 20G link indication which
                indirectly affects detecting this type of link.

    Change:     Apply correct supported mode to the XFI interface of the
                Warpcore.

    Introduced: No.

    Relevance:  578xx.

 4. Problem:    When device in KR2 mode link with BCM8073, and link partner
                initiate autoneg, link is not recovered.

    Change:     In this mode, when link goes down, and KR2 work-around is set,
                re-advertise 20G speed and restart autoneg. This fix also
                covers scenario where a 8073 link partner is swapped with true
                KR2 link partner.

    Introduced: T7.5.

    Relevance:  57840-KR2.

 5. Problem:    CQ65406 - BSOD in VM w/ driver load/unload.

    Change:     Fix to firmware FLR flow in Initial Cleanup Ramrod.

    Introduced: Version 6.4.0 (FW 6.4.0).

    Relevance:  BCM57712/57810/57840, SRIOV Only, FLR on VF0 on MF system can
                cause system crash.

 6. Problem:    (FW COMMON) DCB is not functional on 4-port device when using
                4X10G configuration.

    Change:     Firmware fix in DCB update flow - wrong credit counters were
                used.

    Introduced: Day 1.

    Relevance:  57840, 4-port mode with DCB enabled.

Enhancements:
-------------
 1. Request:    CQ63665 - Add OEM specific 4 part ID.

 2. Request:    CQ63857 - Add 4-part IDs for OEM devices.

 3. Request:    CQ65675 - Add INF profiles for OEM designs.

 4. Request:    Read wwnn and wwpn from the shmem in switch dependent mode.

 5. Request:    Reflect Tx LPI status when EEE active in IOCTL.

    Relevance:  BACS tool when EEE is active.

 6. Request:    CQ63733/CQ63815 - Support new DIDs for 57840 device.

 7. Request:    Add PHY FW upgrade for BCM84834.

 8. Request:    Add support for 20G-KR2.

 9. Request:    CQ65726 - INF file changes for OEM designs.

10. Request:    CQ65588 - Add OEM 57810 NICs to Windows INF File.

Version 7.4.28 (September 11, 2012)
===================================
Internal FW 7.4.12

Fixes:
------
 1. Problem:    CQ65475 - LPI keeps on advancing when link speed is one
                for which EEE is inactive.

    Change:     Enable LPI and claim EEE is active only if EEE was negotiated
                for actual link speed.

    Introduced: 7.4.20.

    Relevance:  578xx, EEE.

 2. Problem:    CQ65532 - BSOD while running reboot test with npar enabled.

    Change:     Assert in checked build only, checked that a certain pointer was
                NULL before accessing it. The pointer was not defined as
                volatile, thus causing the value read not to be the latest
                under certain conditions. Changed the pointer to be volatile.

    Introduced: T6.2.

    Relevance:  Checked build.

 3. Problem:    CQ65449 - BACS4: Bacs does not display the current setting for
                EEE Control Policies correctly.

    Change:     Values weren't configured correctly in the mode parameter.

    Introduced: 7.4.17.

    Relevance:  578xx, EEE.

 4. Problem:    CQ65510 - EEE NPAR: EEE does not become enabled in NPAR mode.

    Change:     Certain required flags weren't set for elink.

    Introduced: 7.4.17.

    Relevance:  578xx, EEE, NPAR.

 5. Problem:    CQ65535 - The flow Control default setting are set to "Rx &
                Tx Enabled" instead of "Auto".

    Change:     Changed eVBD default flow control settings to "Auto".

    Introduced: 7.4.23.

    Relevance:  BCM57711 and BCM57712.

Version 7.4.27 (September 06, 2012)
===================================
Internal FW 7.4.12

Fixes:
------
 1. Problem:    CQ56737(cont.) - TX_DIS signal causes current leakage issue on
                the module 3.3V power rail (V_3P3_SFP2) when no module is
                plugged.

    Change:     Keep TX laser always enabled even when SFP+ module is plugged
                out.

    Introduced: 7.4.0.

    Relevance:  578xx.

 2. Problem:    CQ65449 - Bacs does not display the current setting for EEE
                Control Policies correctly (re-fix).

    Change:     Fix IOCTL in eVBD.

    Relevance:  EEE & BACS.

    Introduced: eVBD 7.4.17.

Enhancements:
-------------
 1. Request:    CQ65483 - Add OEM specific 4 Part ID.

Version 7.4.26 (September 05, 2012)
===================================
Internal FW 7.4.12

Fixes:
------
 1. Problem:    CQ65451 - System hit BSOD while booting into OS after changing
                EEE control policies.

    Change:     Remove redundant ASSERT in code.

    Relevance:  EEE, checked builds.

    Introduced: eVBD 7.4.17.

Version 7.4.25 (September 04, 2012)
===================================
Internal FW 7.4.12

Fixes:
------
 1. Problem:    CQ65415 - WHCK: Chkinf errors - Section
                [params_flow_rx_tx_no_enum] not defined.

    Change:     Modify section to params_flow_auto_no_enum.

    Introduced: 7.4.23.

 2. Problem:    CQ64890 - BSOD during testing Error Recovery flow.

    Change:     The flow waited for delayed tasks to complete while new tasks
                were still added. Waiting for these tasks to complete was done
                too early in the flow.

    Introduced: Day 1 of Error recovery flow: eVBD version 6.4.19.

    Relevance:  Checked versions, only during error recovery flow.

 3. Problem:    When SFP+ module is plugged in after driver is already loaded,
                it may not be recognized.

    Change:     Allow SFP module recognition time of up to 300ms, without
                resetting the module power in the middle.

    Relevance:  578xx-SFP.

    Introduced: 7.4.1.

 4. Problem:    CQ65475 - LPI keeps on advancing when link speed is one
                for which EEE is inactive.

    Change:     Enable LPI and claim EEE is active only if EEE was negotiated
                for actual link speed.

    Introduced: 7.4.20.

    Relevance:  578xx, EEE.

Enhancements:
-------------
 1. Request:    reflect Tx LPI status when EEE active in IOCTL.

    Relevance:  BACS tool when EEE is active.

 2. Request:    CQ65397 - Add SRIOV virtual function devices into OEM INFs.

 3. Request:    Removed unsupported SRIOV virtual function device.

 4. Request:    CQ65418 - Remove 'hw default' as an option in Windows EEE
                Control Policy.

Version 7.4.24 (August 30, 2012)
================================
Internal FW 7.4.12

Fixes:
------
 1. Problem:    (FW ETH) CQ65322 - BSOD as a result of packets that were not
                completed on the forward channel.

    Change:     Fix a bug in ETH firmware flow regarding forward channel
                consumer updates.

    Introduced: Firmware version 6.4.0.

    Relevance:  BCM57712/57810/57840, TOE/iSCSI with high rate offloads and
                uploads.

Version 7.4.23 (August 27, 2012)
================================
Internal FW 7.4.11

Fixes:
------
 1. Problem:    CQ65280 - Parity error might occur during specific flows.

    Change:     Correct link's opening of NIG-BRB filters for 57710 and 57711,
                which set a non-existent bit and dirtied the idle check.

    Introduced: 7.4.6.

    Relevance:  57710, 57711.

 2. Problem:    Link sometimes continuously flapped when EEE was configured.

    Change:     Remove EEE support for 84833 phys with fw version 0x1f81.

    Introduced: 7.4.4.

    Relevance:  578xx, EEE.

 3. Problem:    CQ65325 - on 4-port devices, some functions do not show LPI
                assertions in their statistics.

    Change:     Remove the disablement of LPI assertions via a register common
                to both ports on a single path.

    Introduced: 7.4.4.

    Relevance:  578xx, EEE.

Enhancements:
-------------
 1. Request:    Add "Auto" flow control option. Changed default flow control
                settings to "Auto".

Version 7.4.22a (August 24, 2012)
=================================
Internal FW 7.4.11

Enhancements:
-------------
 1. Request:    CQ65326 - Add EEE support for 1G devices in INF.

Version 7.4.22 (August 23, 2012)
================================
Internal FW 7.4.11

Fixes:
------
 1. Problem:    CQ65324 - Driver not emitting PFC pause frames aganist switch.

    Change:     Corrected HW configuration.

    Relevance:  PFC.

    Introduced: eVBD 7.4.21.

Enhancements:
-------------
 1. Request:    CQ65306 - Change EEE wording in advanced property page.

Version 7.4.21 (August 22, 2012)
================================
Internal FW 7.4.10

Fixes:
------
 1. Problem:    CQ64721 - False parity errors reported in the VFC, XSEM and
                TSEM CAM memories when operating near -5% on the 1.0V Core
                supply.

    Change:     Register value update that improves read margin timing on
                affected CAM memories.

    Relevance:  BCM578xx.

    Introduced: Day 1.

 2. Problem:    CQ65076 - PFC storm is generated when PFC is disabled and
                enabled on the switch port while converged I/O is running.

    Change:     BRB configuration is the same for PFC and PAUSE.

    Relevance:  BCM57810.

    Introduced: T7.2.

 3. Problem:    (FW iSCSI) CQ62937 - Chip hangs when RST packet is sent from
                pure-ack queue causing credit-return overflow.

    Change:     Firmware implementation fixed to send RST packet only from
                regular transmit queue.

    Relevance:  All.

    Introduced: Version 7.0.14 (FW 7.0.16).

Version 7.4.20 (August 21, 2012)
================================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    VF eVBD mistakenly creates excessive Error Recovery thread.

    Change:     Only PF eVBD may process Error Recovery.

    Relevance:  VF eVBD.

    Introduced: T7.4.

 2. Problem:    CQ63874 - BSOD when upgrading from inbox driver.

    Change:     Under asymmetric sriov configuration on functions, there could
                be an inconsistency between HW/Driver page size. This was fixed
                in version 7.4.12, however, upgrading to the fixed driver
                is not enough, as the previous driver may leave HW in a
                non-functional state. Another change is added that recognizes
                that previous driver is inbox, with sriov enabled on OS and
                configured asymmetrically between the functions, in this case
                installation fails and requires a reboot to complete.

    Relevance:  SRIOV win8.

    Introduced: Win8 inbox.

Enhancements:
-------------
 1. Request:    CQ64686 - boards with 54618se external phys now use native eee
                instead of auto-grEEEn.

 2. Request:    Display the following warning when non-10G Ethernet SFP optic
                module is plugged in, and the speed is forced to 1G.
                "Warning: Link speed was forced to 1000Mbps. Current SFP module
                in port X is not compliant with 10G Ethernet".

Version 7.4.19 (August 16, 2012)
================================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ65175 - BSOD when rebooting driver in AFEX mode.

    Change:     Driver accessed resources of connections that were not ethernet
                when updating client info. Changed driver to loop only over
                ethernet connections.

    Relevance:  AFEX.

    Introduced: 7.4.16.

 2. Problem:    CQ61895 - Win8: SRIOV: PF and VF frames on the wire
                when running "No Transmit Leakage" test case.

    Change:     PF driver now initializes VF FW object (client) to prevent
                packets leakage between client creation and setting Rx mask.

    Relevance:  SRIOV, VF eVBD.

 3. Problem:    CQ65074 - Possible no link when LFA kicks in after pre-boot
                driver initialized the link, since preboot drivers do not
                work in interrupt mode, hence do not initialize it.

    Change:     If LFA terms are met, initialize the necessary interrupt
                registers in the PHYs.

    Introduced: 7.4.4.

    Relevance:  57712 + 8073/8727/848x3.
                578xx + 54618se/848x3.

Enhancements:
-------------
 1. Request:    Add EEE to LFA conditions.

Version 7.4.18 (August 13, 2012)
================================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ63904 - Win8 SRIOV, VF RSS/RSC: Update VF RSC timeout and
                VM OS BSOD.

    Change:     VF eVBD interrupt mechanism is fixed to not miss first and
                single interrupt on VF chain.

    Relevance:  VF RSC and VF RSS coexistence.

    Introduced: 7.4.0 / Windows Server 2012.

 2. Problem:    CQ64645 - Duplex state is always shown as full even if actual
                duplex is half.

    Change:     Display the correct duplex value.

    Relevance:  57712.

    Introduced: T7.0.

 3. Problem:    CQ64945 - Win8 SRIOV: When adding Max number of SRIOV VF's
                per VM (8), several VF's are unable to obtain a DHCP address.

    Change:     PF forces clean up some HW blocks dedicated to VF.

    Relevance:  VF eVBD.

    Introduced: 7.4.0 / Windows Server 2012.

 4. Problem:    CQ64942 - DCC doesn't converge becuase link isn't flapped after
                clp exit, causing remote side not to send DCC first command.

    Change:     Disable LFA for first link flap after clp exit with DCC
                parameters.

    Introduced: 7.4.4.

    Relevance:  MF allowed mode.

 5. Problem:    CQ56737 - TX_DIS signal causes current leakage issue on the
                module 3.3V power rail (V_3P3_SFP2) when no module is plugged.

    Change:     Keep TX laser always enabled, should be disable in case of fault
                to get valid module.

    Introduced: 1.70.00.

    Relevance:  578xx.

Enhancements:
-------------
 1. Request:    CQ64924, CQ65098 - Remove devices from OEM INF.

Version 7.4.17 (August 06, 2012)
================================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ64716 - SRIOV: BSOD during Host reboot test.

    Change:     Fixed bug in statistic timer scheduling. Under
                some circumstances, driver would set the timer
                to a very large value.

    Introduced: 5.0.0, but exposed due to VF shutdown flow.

 2. Problem:    CQ64999 - Error Recovery: The error recovery
                failed on Windows 2008 R2 host.

    Change:     Error recovery was disabled in driver for retail
                version.

    Introduced: 7.4.0.

    Relevance:  Error recovery in Retail version.

 3. Problem:    CQ64959 - OEM Windows event viewer: ebdrv error after enabling
                driver.

    Change:     Limit the handling and checking for specific MSI-X vector
                affinity assignment work around to W2K8.

    Introduced: 7.4.9.

 4. Problem:    CQ64780 - Surprise removal: bug check during WHCK plug and play
                driver test.

    Change:     Adding a check if surprise removal was started at functions
                called from the miniport.
                indicate to the miniport that the rx is done when surprise
                removal starts.

    Introduced: 5.3.0 New WHCK for Win8 expose this issue which was theoretical
                until now.

    Relevance:  Windows 7 and above.

Enhancements:
-------------
 1. Request:    Changed EOM friendly names.

 2. Request:    CQ63435 - Remove unsupported enums in standardized keyword
                parameters.

Version 7.4.16 (August 02, 2012)
================================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ64908 - Win2012: SRIOV: 57800: only able to create 32 VFs
                when max is 64 VFs.

    Change:     SW clients implicitly occupy a FW client, which is not required
                for L2 Tx only connections. Modified the code so that L2 Tx
                only connections do not require a sw client anymore. This frees
                up resources for the remaining VFs.

    Introduced: By support of L2MP.

    Relevance:  57800, SRIOV.

Version 7.4.15 (August 01, 2012)
================================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    In case NDIS PDO isn't enumerated, eVBD is lacking flow control
                "registry" default settings and use default hard coded settings
                (disabled).

    Change:     Added default flow control setting for eVBD.

    Introduced: Day 1.

    Relevance:  When device is in SF mode and DCBX is disabled.

 2. Problem:    CQ64686 - Bugcheck 0xBE during Windows 8/Windows Server 2012 OS
                install if '\' character is present in previously used memory
                page.

    Change:     Fix the string manipulation routine of the registry path.

    Introduced: eVBD Win8 inbox version.

    Relevance:  Windows 8/Windows Server 2012 OS Installation only.

 3. Problem:    B10_IOC_GET_L2_CHIP_STATISTICS IfInErrorsOctets not set by
                driver.

    Change:     Assign 0 to IfInErrorsOctets field.

    Introduced: Day 1.

    Relevance:  Internal debugging tools.

 4. Problem:    CQ64845 - Win2012: SRIOV: VM asserts at
                evbda!lm_recv_set_pkt_len+0x13d while running chariot traffic.

    Change:     Fixed assert condition.

 5. Problem:    CQ64886 - Win2012: SRIOV:  unable to create max VFs.

    Change:     Fix SRIOV resource consumption in SF mode.

    Introduced: By support of L2MP.

    Relevance:  PF SRIOV/L2MP/2 Ports.

 6. Problem:    Win2012: SRIOV-BACS: eVBD mistakenly decrease length of
                reported information.

    Change:     Fix corresponding flow.

    Introduced: T7.4.

    Relevance:  PF SRIOV/BACS.

 7. Problem:    Possible memory leak in mcast configuration flow.

    Change:     Properly release memory.

    Introduced: T6.4.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Include static debug information in crash dump .

 2. Request:    Use different bit to mark to MFW not to take link ownership upon
                other driver unload flow (due to MFW logics change).

    Relevance:  MFW version 7.4.9.

 3. Request:    CQ64206 - INF file change for OEM designs.

 4. Request:    Comply dual media INF speed and duplex settings with WHCK.

 5. Request:    CQ64819 - Remove SR-IOV support for specific OEM devices
                (INF Change).

 6. Request:    Internal code changes to reduce compilation warnings.

 7. Request:    Added event log message to indicate possible malicious virtual
                function behavior, resulting in VF reset.

 8. Request:    In QOS, skip (instead of an assert) APP TLV entries with
                priority bit map of zero.

    Relevance:  eVBD checked version only.

Version 7.4.14 (July 17, 2012)
==============================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    BSOD during Power test.

    Change:     There is a timer DPC that handles some internal lookaside lists.
                Due to a race between this DPC and the flow that cancels the
                associated timer, it's possible that the DPC re-armed the timer
                after it was cancelled. The fix is that before re-arming the
                timer an additional flag, that indicates the timer should not
                be re-armed, is checked.

    Introduced: Day 1.

 2. Problem:    CQ64659 - BSOD during driver load.

    Change:     Stop deriver dereferencing released pointer.

    Introduced: 7.4.13 (CQ61966 fix).

Version 7.4.13 (July 16, 2012)
==============================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ61966 - Error Recovery may cause BSOD under TOE traffic.

    Change:     Prevent ER from trying to complete TOE upload already
                completed on either Rx or Tx path.

    Introduced: eVBD 7.0.3 (Error recovery support integrated from T6.4).

    Relevance:  Error Recovery under TOE traffic.

 2. Problem:    CQ64603/CQ54609 - Driver causes BSOD when queried by BACS for
                chip statistics.

    Change:     Driver is prevented from exceeding amount of data requested.

    Introduced: eVBD 7.4.9.

    Relevance:  BACS.

 3. Problem:    EEE statistics provided is mixed between ports.

    Change:     Properly identify EEE statistics source for port.

    Introduced: eVBD 7.4.4.

    Relevance:  EEE.

 4. Problem:    CQ64469 - Due to race between AFEX and normal link status
                modification flows, link failure is sometimes not indicated to
                OS in AFEX mode.

    Change:     In AFEX mode verify that the link is up before reporting it as
                active to the OS.

    Introduced: eVBD 7.0.5.

    Relevance:  AFEX.

Enhancements:
-------------
 1. Request:    CQ57766 - Support "Pause on Exhausted Ring" from CCM
                configuration rather than device manager\registry for Multi
                function.

    Relevance:  Multi Function mode with CCM version 7.4.6 ,MFW version 7.4.6,
                Boot Agent 7.4.8.

 2. Request:    CQ63495 - Win2012: eVBD should act on interrupt moderation
                level setting.

    Relevance:  SRIOV: PF.

Version 7.4.12 (July 11, 2012)
==============================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ64355 - SRIOV: Hyper-V VLAN ID tags fail when using SRIOV VF.

    Change:     On moving MAC+VLAN filter to VF group PF eVBD configures FW to
                add VLAN tag to outgoing packet and remove VLAN tag from
                incoming packet.

    Relevance:  Window Server 2012 SRIOV.

 2. Problem:    CQ59420 - NPAR: VMQ: BSOD when trying to create a hyper-v nic
                with NPAR ports.
                CQ64443 - CNIC-HyperV: BSOD when adding device as a VNIC.

    Change:     With VMQ switch TOE will work via default Q group but not via
                dedicated resources set.

    Relevance:  VMQ+TOE coexistance.

 3. Problem:    CQ63874/CQ63875 - BSOD when loading 7.4.x driver on 57800.

    Change:     With a certain configuration, different functions computed a
                different HW page size, resulting in an inconsistent HW
                configuration, which lead to requests getting stuck in the PXP.
                The change has to do with the way the functions compute the
                page size.

    Introduced: Windows8 day 1.

    Relevance:  57800 on Windows8 with SRIOV enabled.

 4. Problem:    CQ64063 - Win2012: Device fails to start when no license on
                board AND SRIOV is enabled.

    Change:     Code didn't take into account this configuration and there was
                a parameter comparison check that failed when it shouldn't.
                Fixed comparison.

    Introduced: Windows8 day 1.

    Relevance:  Windows8 with SRIOV enabled.

 5. Problem:    CQ64168 - Error recovery fails "randomly" with certian IOCs
                involved.

    Change:     Fix outstanding IOCs counting.

    Introduced: eVBD 7.0.3 (Error recovery support integrated from T6.4).

    Relevance:  Error recovery.

Enhancements:
-------------
 1. Request:    CQ64437 - Add OEM specific 4 Part ID.

 2. Request:    Prevent link-flaps during driver unload on UNDI flow.

Version 7.4.11 (July 05, 2012)
==============================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ63820 - VM BSOD on VF eVBD loading.

    Change:     Excessive for VF/VM MSI-X check.

    Introduced: eVBD 7.4.10.

    Relevance:  VF eVBD.

 2. Problem:    CQ64368 - GRC timeouts are seen when driver trying to configure
                XMAC with PFC setting, while link speed is lower than 10G, and
                only UMAC is active. On extreme cases, GRC timeout may lead to
                system hang.

    Change:     Configure PFC parameters on XMAC only when XMAC is active.

    Introduced: Day 1.

    Relevance:  578xx connected to DCBX enabled switch in 1G link speed or
                lower.

Enhancements:
-------------
 1. Request:    CQ64248 - INF file changes for OEM designs.

Version 7.4.10 (July 02, 2012)
==============================
Internal FW 7.4.8

Fixes:
------
 1. Problem:    CQ63891 - BSOD when stress load / unload NDIS and
                eVBD driver.

    Change:     Remove relevant initialization from firmware.

    Introduced: eVBD 7.4.5.

    Relevance:  BCM57710/BCM57711/BCM57712/BCM578xx.

 2. Problem:    Wrong fairness between traffic-classes.

    Change:     Fix ETS default settings.

    Introduced: eVBD 7.4.9.

    Relevance:  BCM57710/BCM57711/BCM57712/BCM578xx.

 3. Problem:    CQ64305, CQ64308 - BSOD Assert is seen when starting traffic.

    Change:     Adding initialization to the parse nbd field.

    Introduced: eVBD 7.4.9.

    Relevance:  Windows running on BCM57710/BCM57711/BCM57712/BCM578xx.

Enhancements:
-------------
 1. Request:    CQ62549 - Win8: Add MFW version check for Win8 features.

 2. Request:    CQ63226 - Remove "Auto" flow control option.

 3. Request:    CQ63225 - Changed default flow control settings to "Rx & Tx
                Enabled".

 4. Request:    CQ64269,CQ63695 - INF file changes for OEM designs.

Version 7.4.9 (June 28, 2012)
=============================
Internal FW 7.4.6

Fixes:
------
 1. Problem:    CQ64022,CQ63968 - Win2012: BSOD when enabling QOS/SRIOV on a
                port with VMQ switch.

    Change:     VFs resource allocation is fixed.

    Introduced: eVBD 7.4.5.

    Relevance:  PF SRIOV with active L2MP flows.

 2. Problem:    CQ60418 - AFEX iSCSI: The iSCSI throughput reaches 0 within
                few seconds when the AFEX is enabled on the adapter.

    Change:     Driver FW HSI change. Driver will instruct FW not add VLANs
                for ISCSI OOO chain.

    Introduced: AFEX day 1.

    Relevance:  ISCSI OOO in AFEX mode when a VLAN is set.

 3. Problem:    CQ64239 - Win8 EEE: driver properties for EEE settings are not
                getting reported to BACS.

    Change:     Update EEE parameters during client bind.

    Introduced: eVBD 7.4.4.

    Relevance:  EEE supporting boards (BCM84833 phy).

 4. Problem:    CQ63253 - Incorrect RSS chain affinity with more than 16 SPUs.

    Change:     Allow for W2K8 SP1 specific MSI-X vector affinity assignment.

    Introduced: eVBD 5.2.9.

    Relevance:  W2K8 SP1 only.

Enhancements:
-------------
 1. Request:    CQ63725 - EVBD provides to BACS interface reflecting SRIOV and
                RSC activity.

 2. Request:    CQ63718 - Add OEM specific 4 Part ID.

 3. Request:    CQ64184,CQ64206 - INF file change for OEM designs.

Version 7.4.8 (June 20, 2012)
=============================
Internal FW 7.4.6

Fixes:
------
 1. Problem:    CQ64015 - BSOD on driver load with ETS DCB traffic.

    Change:     Back out FW 7.4.7 to 7.4.6.

    Introduced: eVBD 7.4.6.

    Relevance:  DCB/ETS flows.

Version 7.4.7 (June 19, 2012)
=============================
Internal FW 7.4.7

Fixes:
------
 1. Problem:    In a theoretical case driver can BSOD, if no queue group can be
                allocated because of interrupt resources.

    Change:     Driver will gracefully yellow band and won't BSOD.

    Introduced: Theoretically Day 1.

    Relevance:  All.

 2. Problem:    CQ64015 - Win2012: BSOD  when loading eVBD 7.4.6 driver.

    Change:     Fix init values.

    Introduced: eVBD 7.4.6.

    Relevance:  BCM578x0.

Enhancements:
-------------
 1. Request:    CQ62549 - Added MFW version check for QOS features.

Version 7.4.6 (June 18, 2012)
=============================
Internal FW 7.4.7

Fixes:
------
 1. Problem:    cq63366 and CQ63899 Win8: Updating driver results in the
                removal of SRIOV support.

    Change:     New Win8 advanced properties: SR-IOV, QOS, RSC(v4/v6) missing
                from some boards.

 2. Problem:    Link warpcore EEE passthrough mode is configured according to
                wrong logic.

    Change:     Remove logic - always configure the warpcore for EEE
                passthrough mode.

    Introduced: 7.4.4.

    Relevance:  57711, 577xx.

 3. Problem:    CQ63755 - Driver crash after load as result of LFA logic.

    Change:     Close and open NIG-BRB gates only during when driver loads and
                unloads respectively.

    Introduced: 7.4.4.

Enhancements:
-------------
 1. Request:    CQ63605 - Undo "CQ62335 - Obsolete older chips for Windows 8".

    Relevance:  BCM57710 on Windows 8 (Windows Server 2012).

 2. Request:    Added 802.3az EEE INF support.

 3. Request:    CQ63028 - Added SRIOV INF support for OEM.

Version 7.4.5 (June 11, 2012)
=============================
Internal FW 7.4.6

Fixes:
------
 1. Problem:    EEE configuration registry parameter is ignored.

    Change:     Prevent driver from handling EEE registry parameter as NDIS
                Miniport EEE parameter.

    Introduced: 7.4.4.

 2. Problem:    CQ63660 CQ63671 - BSOD Assert is seen while loading eVBD.

    Change:     Don't ASSERT in case of incompatible FCoE/eVBD HSI versions.

    Introduced: 7.4.4. (CQ63548 fix).

    Relevance:  eVBD checked version only.

 3. Problem:    CQ63288 - VF RSS works even though IovQueuePairRequested=1.

    Change:     PF eVBD accepts priority of IovQueuePairRequested allocating
                needed resources on VF creation.

    Relevance:  PF eVBD.

 4. Problem:    CQ63656 - BSOD during iBOOT.
                CQ63828 - FCoE: OS installation is not completing successfully.
                CQ63789 - FCOE Certs: 57712 - BSOD when running CHAOS test.
                CQ63693 - FCOE Boot with SRIOV Enabled BSOD.
                The root cause is insufficient gate closure between the NIG to
                the BRB during link flap avoidance. It used to rely on specific
                filters, which didn't capture all traffic.

    Change:     Close the NIG-BRB gate during LFA reset to prevent packets
                flowing in before BRB is reset.

    Introduced: 7.4.4.

Enhancements:
-------------
 1. Request:    CQ63605 - Product version string should be 17.4.0.

 2. Request:    CQ63058 - INF file change for OEM designs.

 3. Request:    Remove BCM57840 devices from INF.

 4. Request:    Add 4-part ID for OEM.

 5. Request:    CQ63068 - Implement VF resource allocation scheme.

Version 7.4.4 (June 4, 2012)
============================
Internal FW 7.4.6

Fixes:
------
 1. Problem:    CQ63568 - BSOD Assert is seen while booting into OS, Win2k8-SP2
                x86 and x64.

    Change:     Don't try to read PCI extended capabilities if OS < Win8.

    Introduced: 7.4.0.

 2. Problem:    (FW iSCSI) CQ61938 - When running iSCSI heavy traffic and TCP
                out-of-order conditions occur, the firmware might send out
                NOP-OUT commands with zero-length TCP window. This will
                eventually cause the connection to close and be recovered.

    Change:     Firmware fix in TCP out-of-order mechanism.

    Introduced: Firmware version 6.2.0.

    Relevance:  BCM57710/BCM57711/BCM57712/BCM578xx.

 3. Problem:    CQ63548 - When mixing and matching driver components
                from different SW releases, it is possible that for
                FCoE an IO data comparison problem may surface
                at sizes < 4k.  It should be noted that BRCM does
                not support the manual driver installation model
                and device drivers should only be installed via
                the appropriate "driver installer". Using the
                "driver installer" prevents the mix and match
                of incompatible driver revisions from different
                SW releases.

    Change:     eVBD enforces HSI version verification for FCoE.

    Introduced: 7.0.0.

    Relevance:  Only relevant for incompatible FCoE miniport
                and VBD taken from different SW releases, like
                eVBD 7.0.x mixing and matching it with miniport 7.2.x.

Enhancements:
-------------
 1. Request:    CQ63159 - Add basic Link Flap Avoidance support.
                Whenever link toggles, the requested link parameters are saved
                in a shared memory and are used to determine the conditions for
                LFA to occur. LFA can be achieved only in case all of the
                following terms take place:
                1. MFW release used is 7.4.2 and above.
                2. Requested Link Speed, Duplex, Speed Capability Mask and
                   Requested Flow Control are the same as the saved ones.
                Note that in case LFA conditions are not met, link should be
                re-initialized and flapped like before.

 2. Request:    CQ63321 - enable parity attention for 578xx.

    Relevance:  578xx.

 3. Request:    Implement EEE.
                Add NVRAM field to define EEE configuration. Added VBD
                registry support. Modified statistics and link configuration
                as appropriate.

    Relevance:  BCM578x0 boards with 848333 PHY, Supported with MFW 7.4.2.

Version 7.4.3 (May 29, 2012)
============================
Internal FW 7.4.4

Fixes:
------
 1. Problem:    CQWin8: NDISTest: BSOD diring VlanSendRecv test.

    Change:     Fix setting VLAN only filter.

    Introduced: 7.4.0.

 2. Problem:    CQ63302 - BSOD when booting into Windows.

    Change:     Don't access non existing register in specific BCM5771x chips.

    Introduced: eVBD 7.2.51 and eVBD 7.4.1.

    Relevance:  BCM57710/BCM57711/BCM57711E.

 3. Problem:    CQ63463 - BSOD during continuous reboot (Seen after dozens of
                iterations).

    Change:     Before driver reset the nig, verify that there are no more
                pending packets to prevent MFW from hang.

    Introduced: Day 1. Fixed in eVBD 7.2.53.

    Relevance:  All. Probability is higher when management/AFEX/LLDP traffic
                is running.

 4. Problem:    This is a dependency problem between T7.2 eVBD and
                MFW prior to T7.2.  When 7.2.x eVBD is combined with
                MFW of a version earlier than 7.2.1 (e.g. 7.0)
                the (on-chip) scratchpad will get overwritten in
                specific places that may cause the MFW to halt, what in
                return may cause the network link to drop unexpectedly, or
                NCSI traffic to stop.  The scratchpad overwrite is triggered
                by the eVBD writing statistical information into the
                scratchpad. From a recovery point of view, it is sufficient
                to reboot the system, but the problem will reoccur until
                the MFW is brought up to T7.2 levels in conjunction
                with T7.2 eVBD, or this T7.4 eVBD is used.

    Change:     eVBD check MFW version and in case it is <= 7.2.1
                it will not write to this area of the scratchpad.

    Introduced: eVBD 7.2.x.

    Relevance:  BCM57712/BCM578x0 only when working with MFW <= 7.2.1.
                This is not a problem for 'legacy boot code'.

 5. Problem:    CQ62997 - unable to load evbdx.sys in win2k8-sp2-x86.

    Change:     Replace missing exports.

    Introduced: eVBD 7.4.0.

    Relevance:  win2k8-sp2-x86.

Version 7.4.2 (May 16, 2012)
============================
Internal FW 7.4.4

Fixes:
------
 1. Problem:    CQ63153:The eVBD "Speed & Duplex" settings differ from that of
                the Ndis driver.

    Change:     Changed eVBD "Speed & Duplex" setting to match NDIS miniport
                settings.

    Introduced: 7.4.0.

 2. Problem:    CQ62543 - SFP+ module's not responding to I2C request.
                This problem occurs when the MFW is reset during I2C operation,
                and cause the I2C bus for read error due to "Transaction
                Pending".

    Change:     Extend the I2C work-around such that on the last try, perform a
                SFP+ power reset to release this state.

    Introduced: Day 1.

    Relevance:  578xx SFI.
                This fix applies only for boards with SFP+ power disable option
                (nvm cfg 160).

 3. Problem:    Idle check failures seen after error recovery.

    Change:     Refrain from accessing interrupt generation unit when disabled.

    Introduced: 7.0.21 or earlier.

    Relevance:  BCM57712/BCM578x0 - error recovery.

 4. Problem:    CQ63250 - eVBD incorrectly assumes a Unicode string of registry
                key is null terminated. in rare cases might cause a BSOD at
                driver load.

    Change:     Don't assume the string is NULL terminated.

    Relevance:  Observed only on Windows Server 2012. Might be related to
                CDDB removal in Windows Server 2012.

    Introduced: Day 1.

 5. Problem:    Debug prints show errors - access to wrong gpio.

    Change:     Test for Tx Fault only when using SFI.

    Introduced: 7.4.1.

    Relevance:  578xx non-SFI.

Enhancements:
-------------
 1. Request:    CQ62335 - Obsolete older chips for Windows 8
                (Windows Server 2012).
                Driver fails start device in case old chip is loaded.

    Relevance:  BCM57710 on Windows 8 (Windows Server 2012).

Version 7.4.1 (May 8, 2012)
===========================
Internal FW 7.4.4

Fixes:
------
 1. Problem:    CQ62777 - BSOD when upgrade phy firmware on specific board
                when WoL and NC-SI are disabled in nvm cfg. (MFW doesn't
                own the link).

    Change:     Fail phy firmware upgrade IOCTL in case sent by BMAPI when
                driver is in diag mode. In case IOCTL will be sent on diag
                mode the IOCTL will fail (that will be the case with old
                BMAPI).

    Introduced: Day 1.

    Relevance:  WoL and NC-SI are disabled in nvm cfg (MFW doesn't own the
                link).

 2. Problem:    Drive may hang during load after UNDI SAN boot (BFS).

    Change:     Clear DMA error indication upon chip init. This is caused
                due to eVBD taking over the chip from UNDI driver (Change is
                compatible with Linux cq62216).

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ63028 - inf missing SRIOV entries.

    Change:     Add missing entries.

    Introduced: eVBD 7.4.0.

    Relevance:  Win8 SRIOV.

 4. Problem:    evbd.inf missing board entries, existing duplicate entries.

    Change:     Add missing entries, remove duplicate entries.

    Introduced: eVBD 7.4.0.

Enhancements:
-------------
 1. Request:    TX_Fault support for SFP+ Modules on 578xx boards.

Version 7.4.0 (May 1, 2012)
===========================
Internal FW 7.4.4

Fixes:
------
 1. Problem:    CQ60448 - Rare case of no link due to missed interrupt may
                occur due to a race condition between acknowledging the IGU via
                the BAR and restoring the NIG interrupt mask via the GRC.
                A fix for this issue from 7.2.15 may be insufficient.

    Change:     Verify that the NIG attention was acknowledged specifically,
                otherwise if another interrupt was acknowledged on the same
                time, this check could have been missed.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    CQ62637 - When SFP (1G) optic module is plugged in, adjust the
                link speed accordingly.

 2. Request:    Involve Windows 8 enhanced features: RSC, QoS, SRIOV,
                more than 64 CPUs.

Version 7.2.53 (May 24, 2012)
=============================
Internal FW 7.2.51

Fixes:
------
 1. Problem:    CQ63463 - BSOD during continuous reboot (Seen after dozens of
                iterations).

    Change:     Before driver reset the nig, verify that there are no more
                pending packets to prevent MFW from hang.

    Introduced: Day 1.

    Relevance:  All. Probability is higher when management/AFEX/LLDP traffic
                is running.

 2. Problem:    If 7.2.x eVBD works with MFW version earlier
                than 7.2.1 (e.g. 7.0), a corruption to the scratchpad might
                occur, our analysis points it will cause link issues when
                owned by MFW but more unexpected issues might occur.

    Change:     eVBD check MFW version and in case it is <= 7.2.1
                it will not write to this area.

    Introduced: eVBD 7.2.x.

    Relevance:  BCM57712/BCM578x0 only when working with MFW <= 7.2.1.

Enhancements:
-------------
 1. Request:    CQ63245 - Remove devices from OEM INF.

Version 7.2.52b (May 21, 2012)
==============================

Enhancements:
-------------
 1. Request:    CQ63245 - Add devices to OEM INF.

Version 7.2.52a (May 21, 2012)
==============================

Enhancements:
-------------
 1. Request:    CQ63245 - Remove devices from OEM INF.

Version 7.2.52 (May 21, 2012)
=============================
Internal FW 7.2.51

Fixes:
------
 1. Problem:    CQ63388 - Unable to successfully boot into iSCSI boot image on
                OEM platform.

    Change:     Don't access non existing register in specific BCM5771x chips.

    Introduced: eVBD 7.2.51.

    Relevance:  BCM57710/BCM57711/BCM57711E.

Version 7.2.51b (May 15, 2012)
==============================

Enhancements:
-------------
 1. Request:    CQ63245 - Add devices to OEM INF.

Version 7.2.51a (May 15, 2012)
==============================

Enhancements:
-------------
 1. Request:    CQ63245 - Remove devices from OEM INF.

Version 7.2.51 (May 03, 2012)
=============================
Internal FW 7.2.51

Fixes:
------
 1. Problem:    CQ60448 - Rare case of no link due to missed interrupt may
                occur due to a race condition between acknowledging the IGU via
                the BAR and restoring the NIG interrupt mask via the GRC.
                A fix for this issue from 7.2.15 may be insufficient.

    Change:     Verify that the NIG attention was acknowledged specifically,
                otherwise if another interrupt was acknowledged on the same
                time, this check could have been missed.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Drive may hang during load after UNDI SAN boot (BFS).

    Change:     Clear DMA error indication upon chip init. This is caused
                due to eVBD taking over the chip from UNDI driver (Change is
                compatible with Linux cq62216).

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ62777 - BSOD when upgrade phy firmware on specific board
                when WoL and NC-SI are disabled in nvm cfg. (MFW doesn't
                own the link).

    Change:     Fail phy firmware upgrade IOCTL in case sent by BMAPI when
                driver is in diag mode. In case IOCTL will be sent on diag
                mode the IOCTL will fail (that will be the case with old
                BMAPI).

    Introduced: Day 1.

    Relevance:  WoL and NC-SI are disabled in nvm cfg (MFW doesn't own the
                link).

Version 7.2.50 (April 03, 2012)
===============================
Internal FW 7.2.51

Fixes:
------
 1. Problem:    (FW ETH) CQ61551 - AFEX VMQ: eVBD queue does not report any
                rx_con_idx traffic.

    Change:     Fix the packet classification flow to consider AFEX default
                vlan as untagged packet.

    Introduced: AFEX day 1.

    Relevance:  Windows VMQ on AFEX devices.

 2. Problem:    There is the case when the driver prevents configuration of
                additional MAC address.

    Change:     Fix broken process of looking for an empty MAC entry.

    Introduced: 7.0.11.

    Relevance:  All.

 3. Problem:    slowpath completion code may run simultanously on multiple
                processors during error-recovery.

    Change:     Check and re-invoke slowpath completion under lock. Change
                invocation logic as approprite.

    Introduced: Initial error-recovery implementation.

    Relevance:  BCM57712/BCM578x0.

 4. Problem:    Code invoked when VBD enters D0 and OMGR is still bounded
                is invoked at incorrect IRQL, casing kernel BSOD.

    Change:     Raise IQRL before invoking related code.

    Introduced: 6.4.33 T6.4: CQ54032 fix.

    Relevance:  All BCM577xx devices with iSCSI offload enabled.

 5. Problem:    CQ61832, CQ62308 - Warnings seen in kernel log when running cnic
                test.

    Change:     Removed warning as it was logged in a legitimate flow.

    Introduced: 7.0.12.

    Relevance:  All.

 6. Problem:    CQ62295 - LED is still ON after the PHY got reset from fan
                failure test case.

    Change:     Added work around to configure 84833 PHY to 1Gbps and all
                LEDs off before putting it into RESET status for hardware
                limitation.

    Introduced: Day one.

    Relevance:  84833 PHY.

 7. Problem:    CQ62337 - Fan Failure test fails when stop the fan while
                passing traffic.

    Change:     Remove redundant assert.

    Introduced: Day one.

    Relevance:  Checked builds driver running on boards with a fan that fails
                while traffic is running.

 8. Problem:    CQ62405 - Remove incorrect speed from a board.

    Change:     Remove the speed in INF.

    Introduced: T7.0.

    Relevance:  Only for test boards. not real impact.

 9. Problem:    CQ62066 - AFEX: Incorrect network segmentation between
                functions when both MAX_BW and BW_Weight are configured.

    Change:     Re-read MAX_BW and apply both min and max B/W. Eliminate
                redundent MCP B/W update.

    Introduced: AFEX day one (MCP B/W update since 7.0.3).

    Relevance:  Devices in AFEX mode.

10. Problem:    (FW ETH) CQ62279 - Bandwidth Weight not working properly.

    Change:     Fix cmng init code - wrong parenthesis in fairness
                configuration.

    Introduced: eVBD 7.2.17, fixed in 7.2.18 and in this version.

    Relevance:  All.

11. Problem:    (FW TOE) CQ62151 - Low performance in TX only scenarios with
                NAGLE algorithm disabled and drops in the network.

    Change:     Fix the relevant firmware flow.

    Introduced: eVBD 7.0.26.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    CQ62212 - Add support to single port device 57811.

 2. Request:    Remove redundant devices from INF.

Version 7.2.18 (March 26, 2012)
===============================
Internal FW 7.2.21

Fixes:
------
 1. Problem:    CQ62279 - Bandwidth Weight does not working properly.

    Change:     Fix cmng init code - wrong parenthesis in fairness
                configuration.

    Introduced: eVBD 7.2.16 (Firmware version 7.2.19).

    Relevance:  All.

Version 7.2.17 (March 15, 2012)
===============================
Internal FW 7.2.20

Fixes:
------
 1. Problem:    CQ62046 - No link on 57712 + 8727 designs in which the TX laser
                is controller via GPIO, after T6.0 drivers/MFW were loaded
                previously without reboot. On these designs the TX_LASER
                is enabled by logic AND between the PHY(through MDIO), and the
                GPIO. When old driver which doesn't support these designs is
                used, it disables the MDIO part, those the GPIO control has
                no affect de facto.

    Change:     Enable the TX_LASER on the PHY for those design to enable
                the GPIO control it.

    Introduced: 1.62.01.

    Relevance:  BCM8727 designs with GPIO controlling the TX laser.

 2. Problem:    CQ61983 - Page Fault (BSOD) when running "FCOE Certs Common
                Scenario Stress with Disk IO Test".

    Change:     Wait in the code intended to be milliseconds was actually
                running more than 10 seconds. this caused a page fault in BFS.
                Now the implementation changed to take really milliseconds.

    Introduced: Fix #7 in eVBD 7.2.13 exposed this.

    Relevance:  BFS flows with stress.

 3. Problem:    CQ61863 - Error recovery fails with BSOD 0x1E.
                Issue is timing related, and correlates with latest MFW
                versions and specific test setups.

    Change:     Disable PXP2 initialization following error-recovery chip
                reset.

    Introduced: MFW 7.0.45.

    Relevance:  BCM57712/BCM578x0.

 4. Problem:    CQ62151 - Low performance in TX only scenarios with NAGLE
                algorithm disabled and drops in the network.

    Change:     Fix the relevant firmware flow.

    Introduced: Firmware version 7.0.25.

    Relevance:  All.

Version 7.2.16 (March 13, 2012)
===============================
Internal FW 7.2.19

Fixes:
------
 1. Problem:    CQ62046 - No link on 57712 + 8727 designs in which the TX laser
                is controller via GPIO, after T6.0 drivers/MFW were loaded
                previously without reboot. This issue occurs since old drivers
                control the 8727 TX laser only by changing PHY register, and
                new drivers assumed this register had a default value, despite
                that this register is not actually controlling the TX laser in
                those designs. Note that this issue is not likely to occur
                because T6.0 driver don't support these kind of boards, and
                loading new drivers afterwards without reset, is not common
                practice.

    Change:     Check SW flag instead of querying the TX_DIS register.

    Introduced: T6.2.

    Relevance:  BCM8727 designs with GPIO controlling the TX laser.

 2. Problem:    CQ62061 - No link on the second port of 57711 + 84823, since
                PHY was left in reset.

    Change:     Unreset PHY on the second port.

    Introduced: T7.0.

    Relevance:  57711+84823.

 3. Problem:    CQ62088 - Miniport used RSS hashing when not expected.

    Change:     Fix enablement/disablement of RSS mode.

    Introduced: 7.2.15.

    Relevance:  All.

 4. Problem:    Link may remain down due to unhandled remote fault clear
                handling.

    Change:     Enable the interrupt for remote-fault change attentions.

    Introduced: 7.2.8.

    Relevance:  57711+8727.

Version 7.2.15 (March 06, 2012)
===============================
Internal FW 7.2.18

Fixes:
------
 1. Problem:    CQ61720 - MDC/MDIO access timeout message may appear on driver
                load due to missing clock setting before resetting the LED.

    Change:     Relocate setting the MDC/MDIO clock before resetting the LED
                since this operation involves access to the PHY registers.

    Introduced: 7.0.0.

    Relevance:  All.

 2. Problem:    CQ61532 - System halts when driver is loaded after fan failure
                has occurred. This can be seen also after reboot in fan failure
                status. This problem happens in 578xx only where the MFW stops
                the clocks which prevents the host to map the PCI IO registers
                to BAR0, and cause fatal error.

    Change:     MFW signals the fan failure by setting the PCI version number
                to 0xff (reflected in PCI address 0x8), thus allowing the
                driver to check this failure before mapping the bar.
                Fix requires MFW version 7.2.15 (and above).
                Fix requires MBA to be disabled.

    Introduced: MFW 7.0.51 /MFW 7.2.0.

    Relevance:  578xx boards with fan.

 3. Problem:    CQ60448 - Rare case of no link due to missed interrupt may
                occur due to a race condition between acknowledging the IGU via
                the BAR and restoring the NIG interrupt mask via the GRC.

                CQ61983 - BSOD 0x7a when Running FCOE Certs Common Scenario
                Stress with Disk IO Test.

    Change:     Make sure that the IGU ack command is completed before
                restoring the NIG interrupt mask.

    Introduced: Day 1.

    Relevance:  BCM57712/BCM578x0.


 4. Problem:    CQ61418 - system warning event log when deleting teaming on
                BCM57710/BCM57711.

    Change:     Remove redundant event log message. No other functional effect.

    Introduced: eVBD T7.0.

    Relevance:  BCM57710/BCM57711 with teaming.

 5. Problem:    CQ60042 - Flow control is not functional when OEM 57810s devices
                set to auto and evaluated via 1gb PT Module.

    Change:     Added code to handle CL37 AN when link is achieved via CL37 in
                578xx-KR.

    Introduced: T7.0.

    Relevance:  578xx-KR.

 6. Problem:    CQ61525 - E3, 57800 B0 - When in S5, no link on ports in
                random order.

    Change:     Save and restore nig registers before after chip reset.

    Introduced: Theoretically Day 1, practically more exposed since changes
                made in eVBD 7.2.12 for CQ61570 CQ61366.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    CQ61934 – Update default Tx Equalization settings for
                SFP+ mode after analysis at all PVT corners.

    Relevance:  578xx SFP+.

Version 7.2.14 (February 29, 2012)
==================================
Internal FW 7.2.18

Fixes:
------
 1. Problem:    CQ61680 - 57810 KR link may not come up in 1G after running
                loopback test.

    Change:     Restore the 10G KR force register to their default value before
                starting KR autoneg.

    Introduced: 7.0.0.

    Relevance:  57810-KR when connected to 1G only link partner.

 2. Problem:    CQ61827 - bugcheck seen on 320 processors system.

    Change:     Do not enumerate Storage PDO's if processors count > 256.

    Introduced: Day 1 of 256+ CPU's with storage drivers.

    Relevance:  processors count > 256.

 3. Problem:    CQ61532 - System will not reboot after fan failure lasting
                more than 10 seconds.

    Change:     Fail driver initialization upon fan failure lasting more than
                10 seconds. Fix requires MFW version 7.2.15 (and above), and
                will not be effective otherwise.

    Introduced: MFW 7.0.51 / MFW 7.2.0.

    Relevance:  578xx boards with fan.

 4. Problem:    CQ61628, CQ61381 - PFC frames are not honored, due to incorrect
                link attributes synchronization which happen following PMF
                migration or remote-fault detection.

    Change:     Update link_status with the PFC_ENABLE flag on link update in
                addition to the pfc update function.

    Introduced: 7.0.0.

    Relevance:  Multi-function(7.0.0) or SFP+ devices (7.2.8).

 5. Problem:    (FW TOE/iSCSI) CQ61596 - There exists a corner case where
                firmware will send out only a single 'pure ACK' (TCP
                acknowledgement segment that has no payload) while 255 or more
                'pre ACKs' and a 'delayed ACK' are queued and awaiting
                transmission. The other ACKs in the queue are sent with a
                payload of one byte and all have identical sequence number and
                valid TCP/IP checksum. When the very next TCP/IP packet is sent
                for the offloaded connection, the receiver will trim a single
                byte off the incoming packet because of the ACK received with
                payload of one byte.

    Change:     Fix the relevant firmware flow.

    Introduced: Exists for TOE (offloaded connections) T6.2 for iSCSI.

    Relevance:  All BCM577xx devices with TOE and/or iSCSI offload enabled.
                This firmware issue does not exist for FCoE.

Version 7.2.13 (February 23, 2012)
==================================
Internal FW 7.2.17

Fixes:
------
 1. Problem:    On rare cases, when link speed changes from 10G to 1G or lower,
                then remote fault may be reported.

    Change:     Check remote fault indication on link speed of 10G and above,
                since UMAC and EMAC do not support it.

    Relevance:  BCM578xx, BCM848x3, BCM872x.

    Introduced: 7.2.8.

 2. Problem:    CQ61678 - System crash after running IO and pulling cable.
                Occurs since TX pipe is stalled due to missed XON indication
                (from MAC did to NIG). See related CQ56434 which fixed the
                problem for 57712.

    Change:     Force XON on NIG on link down/up.

    Introduced: T7.0.

    Relevance:  578xx.

 3. Problem:    1G LED stays on with cable unplugged on 57712+8727 designs.

    Change:     Restored the MODE_LED_OFF mode to explicitly keep the LEDs
                off.

    Introduced: 7.2.8.

    Relevance:  LED manipulation for 54616/18 and 8727 PHYs.

 4. Problem:    CQ61678 - evbd 7.2.12: evbda!lm_eq_handle_niv_vif_lists_eqe
                assert seen during reboot test.

    Change:     Don't check NIV ramrod state in case function is moving to D3.

    Introduced: T7.2.

    Relevance:  NIV mode.

 5. Problem:    CQ56716/CQ61090 - OEM product version and FCoE capabilities
                endianity is incorrect in shmem.

    Change:     Fix endianity.

    Introduced: T7.2.

 6. Problem:    CQ61030 - System loses network connectivity in extremely rare
                cases when error recovery flow is running for a long period.
                This happened only on massive testing environment and slim
                chances can happen in real world.

    Change:     Fail TOE offload requests while error recovery is in progress.

    Introduced: eVBD 6.4 (When Error Recovery introduced).

    Relevance:  Error recovery is running while TOE connections exists.

 7. Problem:    CQ61570 CQ61366 CQ61727 CQ61726- Machine BSOD after BFS
                or reboot test.

    Change:     While cleaning up after iSCSI boot and before loading the eVBD,
                Or while machine shutdown/hibernate, the NIG block was reset
                while the MFW was looking into a packet. This caused the MFW
                to hang and as a result caused the eVBD to hit a fatal error.
                The fix is to halt MFW traffic before resetting the NIG block.
                The is follow up of earlier change in eVBD 7.2.12 which
                was not completely correct.

    Introduced: Day 1.

    Relevance:  BFS flow and NC-SI existence.
                More likely to happen with MFW rather than legacy boot code.

Enhancements:
-------------
 1. Request:    CQ60701 - Add suppot for separate tx/rx interrupt affinity.

    Relevance:  All.

 2. Request:    Prevent excessive assertion/windows log message in TOE
                zero byte Rx request processing.

    Relevance:  TOE.

Version 7.2.12 (February 15, 2012)
==================================
Internal FW 7.2.15

Fixes:
------
 1. Problem:    CQ61408 - SOL/CKVM connectivity is lost after a BSOD.

    Change:     Disable pause frame while BSOD happen.

    Introduced: Day 1 of BCM5778x0.

    Relevance:  BCM5778x0.

 2. Problem:    CQ61090 - Can't see OEM product version as defined in registry
                in shmem.

    Change:     Fix bug in non x86 (I386) machines.

    Introduced: With this feature (eVBD 7.2.8).

    Relevance:  T7.2.

 3. Problem:    (FW ETH) Theoretical bug introduced by GRO acceleration
                changes where the bytes on place on SGE was still calculated
                from the SGE Buffer Size.

    Change:     Firmware fix to placement of data of SGEs.

    Introduced: Firmware version 7.2.14.

    Relevance:  BCM57711/BCM57712/BCM578xx.

 4. Problem:    CQ61601 - The FW version for 84833 PHY was captured
                incorrectly. As a result, the major number is always
                reported as '1'.

    Change:     Fixed to read the correct field of the PHY register.

    Introduced: 7.2.4.

    Relevance:  84833 PHY.

 5. Problem:    CQ61583 - When default priority (admin_default_priority) is
                greater than iSCSI or FCoE negotiated priority, iSCSI or FCoE
                tagged with default priority.

    Change:     ISCSI or FCoE is tagged with default PRI only when there isn't
                a negotiated priority for the suitable protocol.

    Introduced: T7.0.

    Relevance:  DCBX.

 6. Problem:    CQ61570 CQ61366 - Machine BSOD after iSCSI boot or reboot test.

    Change:     While cleaning up after iSCSI boot and before loading the eVBD,
                Or while machine shutdown/hibernate, the NIG block was reset
                while the MFW was looking into a packet. This caused the MFW
                to hang and as a result caused the eVBD to hit a fatal error.
                The fix is to halt MFW traffic before resetting the NIG block.

    Introduced: Theoretically Day 1, practically more exposed in T7.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    CQ61484 - In NIV mode ,chimney should be disabled.

    Relevance:  NIV mode.

Version 7.2.11 (February 09, 2012)
==================================
Internal FW 7.2.14

Fixes:
------
 1. Problem:    CQ61262 - NIV default vlan is not stripped if priority or CIF
                is different than 0.

    Change:     Change the decision to strip the NIV default vlan, to be
                based only on VLAN ID(The priority and CIF fields are ignored).

    Introduced: eVBD 7.2.0.

    Relevance:  NIV mode.

 2. Problem:    CQ61229 - During continuous reboot on NIV mode, get BSOD.

    Change:     Remove redundant call to the FW.

    Introduced: eVBD 7.2.9.

    Relevance:  NIV mode, eVBD checked builds.

 3. Problem:    CQ61441 - BCM57810 Function shows link down in NPAR-SD.

    Change:     Re-read DCC link state (as well as MF configuration) upon
                chip init.

    Introduced: eVBD 5.0.7 (link state/BW DCC Implementation).

    Relevance:  NPAR-SD, DCC.

 4. Problem:    CQ61378 (related) - Storage miniports will try to enumerate
                although there is no valid license burned on chip.

    Change:     Save and restore shmem license while BACS sends license IOCTL.

    Introduced: "Day 1".

    Relevance:  Boards with invalid licenses and or nvm cfg 187 is set.

Enhancements:
-------------
 1. Request:    CQ58557 - Allow reading the external PHY FW from any driver
                instance even if it is not loaded since the value is stored in
                shared memory and does not require any locking or any special
                access.

 2. Request:    CQ61395 - Add 4-part ID for OEM.

 3. Request:    link read_status updates link partner's capabilities (fc,
                speed) whenever autoneg was used.

    Relevance:  All boards with phys that support autoneg.

 4. Request:    CQ60726 - INT3 on panic (for specific OEM) with SMI handler.

Version 7.2.10 (February 02, 2012)
==================================
Internal FW 7.2.14

Fixes:
------
 1. Problem:    NIV mode loopback MAC test didn't configure default vlan and
                allowed priorities appropriately.

    Change:     Assign constant default vlan for loopback tests (1) and allowed
                priorities (0xff - all allowed).

    Introduced: 7.2.9.

    Relevance:  NIV mode.

 2. Problem:    CQ60672 - iSCSI boot fails in 57810+84833 NIC when running at
                100HD link achieved via auto-neg.

    Change:     Added configuration to set MAC controller in half duplex mode
                when PHY links up in half duplex mode.

    Introduced: Day 1.

    Relevance:  578xx+848x3.

 3. Problem:    CQ61281 - Crash dump testing: New eVBD v7.2.9 causes no dump
                file generated after crash.

    Change:     Fixed driver pulse code after GRC dump.

    Introduced: 7.2.9.

Enhancements:
-------------
 1. Request:    Internal change in congestion management implementation.

 2. Request:    CQ61090 - Write OEM product version as defined in registry
                into shmem.

Version 7.2.9 (January 26, 2012)
================================
Internal FW 7.2.12

Fixes:
------
 1. Problem:    CQ61088 - Fix device id friendly name in INF.

    Introduced: T7.2.

    Relevance:  Specific device id's.

 2. Problem:    Possible BSOD during mac configuration.

    Change:     Release lock in error handling flow.

    Introduced: 7.2.7.

    Relevance:  All.

 3. Problem:    CQ56722 - drv capabilities (Virtual Link) report for NCSI
                management only for first function on port.

    Change:     Move the assignment from common part to function part.

    Introduced: T7.2 (New feature).

    Relevance:  All but SF.

 4. Problem:    CQ60579 - NIV mode first iteration of loopback MAC test
                fails in BACS Diagnostics.

    Change:     Added a flag to FW indicating we are in NIV mode.

    Introduced: T7.2 (New feature).

    Relevance:  NIV mode.

 5. Problem:    CQ60431 - NIV mode window may report link up status in network
                properties when AUT port is plugged to mismatching switch port.

    Change:     Report link only through VIF command.

    Introduced: T7.2 (New feature).

    Relevance:  NIV mode.

Enhancements:
-------------
 1. Request:    PDA: Involve MCP timeout for retail version.

    Relevance:  PDA only.

 2. Request:    PDA: Involve FW validation to prevent FW/HSI conflict
                with functions loaded in other VMs.

    Relevance:  PDA only.

 3. Request:    PDA: During HW information collection on BSOD prevent access
                to some HW blocks potentially troubling other active functions
                in other VMs.

    Relevance:  PDA only.

 4. Request:    Support split registers in GRC DUMP extracted from Windows
                memory dump.

    Relevance:  All.

Version 7.2.8 (January 19, 2012)
================================
Internal FW 7.2.12

Fixes:
------
 1. Problem:    CQ61028 (revised) - No LED at 1G on 57712+8727 designs.

    Change:     Removed a logic error checking for a different PHY.

    Introduced: T7.0.

    Relevance:  LED manipulation for 54616/18 and 8727 PHYs.

 2. Problem:    BCM84833 is able to link up when link speed is set to 10G
                force while link partner is set to 1G force.

    Change:     When requested speed is 10G force, advertise only 10G speed.

    Introduced: T7.0.

    Relevance:  BCM84833.

 3. Problem:    CQ61053 - Error recovery timeout.

    Change:     In host only (non PDA) mode prevent using HW
                synchronization mechanism.

    Introduced: eVBD 7.2.7.

 4. Problem:    CQ60953 - BACS diagnostics break when functions MAX
                Bandwidth > 0 (Refix).
                CQ60988 - Specific BW Configuration Settings Fails to
                Pass Traffic (Refix).

    Change:     Modified congestion management parameters initialization
                to include min. bandwidth value from NVRAM.

    Introduced: eVBD 7.2.5.

    Relevance:  Multi vnic, congestion management enabled.

Enhancements:
-------------
 1. Request:    CQ57932 - Add Tx-Fault link detection. In case TX errors are
                detected by the MAC layer, the elink will signal the OS that
                the link went down, and when the error is gone, a link up
                signal will be sent.

    Relevance:  BCM84823.

Version 7.2.7 (January 18, 2012)
================================
Internal FW 7.2.12

Fixes:
------
 1. Problem:    DBUS stops upon error recovery, no more DBUS info collected.

    Change:     DBUS now re-starts after error recovery.

 2. Problem:    CQ60944 - BSOD while running error recovery flows.

    Change:     Don't force HW lock taken before unlock
                after error recovery occurred.

    Relevance:  All, eVBD checked driver version only
                AND error recovery enabled (default in checeked is disabled).

    Introduced: eVBD 6.4 (When Error Recovery introduced),
                before that, (different) BSOD would happen anyway.

 3. Problem:    Existing evbd's error recovery mechanism does not cover
                PDA environment.

    Change:     In PDA environment functions involved in error recovery flow
                synchronize their execution via HW register.

    Relevance:  PDA (Windows VM): BCM57712/BCM5778x.

 4. Problem:    CQ58306, CQ58507 Intermittent KR link failure after link
                enable.

    Change:     Reset rx and tx path if link is not up.

    Introduced: Day 1.

    Relevance:  57810-KR, when MFW used is older than 7.0.48.

 5. Problem:    CQ60838 - Occasionally the KR link does not come up.

    Change:     Invoke auto-neg restart at the end of the KR link configuration.

    Introduced: T7.2.

    Relevance:  578xx KR.

 6. Problem:    CQ61028 - No LED at 1G on 57712+8727 designs.

    Change:     Drive the 1G LED on link up at 1G.

    Introduced: Day 1.

    Relevance:  57712 + 8727 designs.

 7. Problem:    CQ60953 - BACS diagnostics break when functions MAX
                Bandwidth > 0.
                CQ60988 - Specific BW Configuration Settings Fails to
                Pass Traffic.

    Change:     Fix overwrite of internal ram registers while initializing
                congestion management.

    Introduced: eVBD 7.2.5 .

    Relevance:  Multi vnic, congestion management enabled.

 8. Problem:    ChkInf failed due to duplicated oem device id's.

    Change:     Remove duplicate id's.

    Introduced: eVBD 7.2.5 (as part of CQ60717).

    Relevance:  All.

Enhancements:
-------------
 1. Request:    CQ59808 - Product version string should be 17.2.0.

 2. Request:    CQ57932 - Add Tx-Fault link detection. In case TX errors are
                detected by the MAC layer, the elink will signal the OS that
                the link went down, and when the error is gone, a link up
                signal will be sent.

    Relevance:  Chips: BCM57712, BCM57800, BCM57810.
                Phys: BCM8727, BCM8726, BCM84833.

 3. Request:    CQ60699 - Disable auto-grEEEn for 84833 PHY.

    Relevance:  84833 PHY only.

 4. Request:    VBD<->Clients(NDIS/FCoE/iSCSI) interface
                enhancement (internal):
                - Add more information.
                - Function number report is now absolute and not relative.

 5. Request:    CQ59363 - Display the link partner FC capabilities when FC is
                not autoneg.

    Relevance:  All.

 6. Request:    Add FCoE capabilities report for NCSI management.

    Relevance:  BCM57712/BCM578x0.

 7. Request:    CQ61005 - Add 4-part ID for OEM.

 8. Request:    CQ60996 - Add 4-part ID for OEM.

 9. Request:    CQ60997 - Add 4-part ID for OEM.

Version 7.2.6 (Jan 10, 2012)
============================
Internal FW 7.2.12

Fixes:
------
 1. Problem:    CQ60714 - FCoE client enumerated, although no license key is
                burned.

    Change:     Prevent FCOE client enumeration, if no license key is burned.

    Relevance:  BCM57712/BCM5778x without any licenses burned.

    Introduced: eVBD 6.4 (When FCoE introduced).

Enhancements:
-------------
 1. Request:    CQ60775 - Add 4-part ID for OEM.

 2. Request:    CQ60784 - Add 4-part ID for OEM.

 3. Request:    Initial implementation of PDA (Physical Device Assignment).

Version 7.2.5 (January 05, 2012)
================================
Internal FW 7.2.12

Fixes:
------
 1. Problem:    CQ60417 - DCBX: device ignored missing TLVs.

    Change:     Tread missing TLVs as an error - do not configure the feature.

    Relevance:  DCBX supported devices.

 2. Problem:    CQ60155 - eVBD BSOD is observed while changing number of
                RSS queues to 16.

    Change:     Firmware fix to relevant flow.

    Relevance:  BCM57711/BCM57712/BCM578xx.

    Introduced: eVBD 7.2.0.

Enhancements:
-------------
 1. Request:    CQ56159 - Add AutoGrEEEn Advanced Driver option for BCM578x0-1G
                and BCM578x0 10gbaseT ports.

 2. Request:    CQ60717 - Remove 100Mb Force for BCM84833 design.

 3. Request:    (Internal) congestion management implementation is by firmware
                and not by driver.

Version 7.2.4 (December 29, 2011)
=================================
Internal FW 7.2.11

Fixes:
------
 1. Problem:    CQ60276: NPAR SD: Cannot see IET target in
                Device manager with Tagged Vlan for iscsi device.

    Change:     Fixed wrong FW initialization.

    Relevance:  NPAR SD.

    Introduced: NPAR SD (7.2).

 2. Problem:    CQ60503 - NPAR SD evbda BSOD when changing min bw weight
                settings to non-zero value on NPAR SD function.

    Change:     Remove redundant ASSERT in checked build evbd driver.

    Relevance:  NPAR SD checked builds.

    Introduced: NPAR SD (7.2).

 3. Problem:    CQ60223 - NPAR SD see system event log every 5 seconds
                indicating that "The SAN link is up".

    Change:     Remove redundant link indication.

    Relevance:  All, mainly NPAR SD with periodic OEM commands events.

    Introduced: Day 1 of OEM MFW-->driver commands.

 4. Problem:    CQ60377 (FCOE FW) - Task was corrupted when working with CONF
                REQ.

    Change:     Firmware fix to relevant RX flows.

    Relevance:  BCM57712/BCM578xx.

    Introduced: eVBD 7.2.0.

 5. Problem:    The common PHY init function for 84833 got "was split", but
                the second half of the call was not invoked to capture the
                PHY FW version.

    Change:     Added code to invoke the second half. Also, use a different
                PHY register to collect the version info.

    Relevance:  84833 only.

Enhancements:
-------------
 1. Request:    CQ60291 - Add 4-part ID for OEM.

 2. Request:    CQ60293 - Add 4-part ID for OEM.

Version 7.2.3 (December 20, 2011)
=================================
Internal FW 7.2.10

Fixes:
------
 1. Problem:    PFC in 4-port mode is not functional.

    Change:     Take port index into account when configuring NIG registers.

    Relevance:  4-port + DCB devices.

 2. Problem:    CQ60491 - BCM57710/BCM57711 BSOD on driver load.

    Change:     Fixed a regression introduced by the new enhancement:
                "Add Support Ethernet/iSCSI/FCoE statistics request from MFW".

    Relevance:  BCM57710/BCM57711 devices.

    Introduced: eVBD 7.2.2.

 3. Problem:    CQ60315 - The 100Mbps "Speed&Duplex" strings settings between
                the NDIS miniport and VBD does not match.

    Change:     Fixed the strings to be the same.

    Relevance:  All boards that enumerates the 100Mbps Half/Full speeds.

    Introduced: Day 1.

 4. Problem:    CQ60400 - NPAR-SD mode evbda BSOD when clicking on
                NIC partition configuration in BACS while traffic is running.

    Change:     Access to MFW command mailbox was not protected
                in license interface.

    Relevance:  When frequent commands from MFW to driver are sent together
                with BACS querying the device while CPU's are loaded.
                The issue can happen since beginning of OEM commands request
                from/to driver but is more commonly exposed when these
                commands are frequent.

    Introduced: Day 1 when OEM MFW-->Driver commands were enabled.

 5. Problem:    Setting NPAR min/max bandwidth allocation might cause a BSOD
                in case working with a boot code which doesn't support this command.

    Change:     Fix the boot code version checking.

    Relevance:  Only to boot code version smaller than 6.2 that supports this
                feature. Since there is no such version, this is
                theoretical bug only.

    Introduced: Day 1 of NPAR min/max bandwidth allocation feature.

Enhancements:
-------------
 1. Request:    Support Basic Physical Device Assignment.
                Modified wide-bus accesses during init to use indirect
                interface when DMAE is not ready only in E1 (as it is only
                needed in E1 as a workaround for BIOS initiated ZLR, which is
                handled in later chips by the Root Complex). This allows
                driver to init chip even if indirect interface is unavailable
                as in PDA.

 2. Request:    Add dynamic statistics IOCTL to be used by winedebug (similar
                to qstats TCL script for ediag).

 3. Request:    Add PFC tx/rx frames counters to port statistics exposed to
                management tools.

Version 7.2.2 (December 12, 2011)
==================================
Internal FW 7.2.10

Fixes:
------
 1. Problem:    84833 PHY firmware size has grown to cause timeout
                on initialization. This leads to PHY misconfiguration
                due to PHY register clobbering between software and the
                PHY firmware.

    Change:     Extend firmware initialization timeout period for all ports.

    Introduced: Day one.

    Relevance:  84833 PHY designs with a single SPIROM.

 2. Problem:    CQ60065 - Error Recovery: After manually inducing HW Error
                with NPAR enabled running converged IO, SUT generates PFC pause
                storm.

    Change:     VBD did not fill in fields correctly in completion sent to FCOE
                miniport during error recovery flow.

    Introduced: T7.0.

    Relevance:  Error recovery flow under NPAR with fcoe/iscsi connections on
                functions 2 and above.

 3. Problem:    CQ59823 - Driver hang when FCoE IO starts.

    Change:     Firmware fix to data transmission flow.

    Introduced: eVBD 7.2.0 (Firmware version 7.2.0).

    Relevance:  All.

Enhancements:
-------------
 1. Request:    84833 PHY FW team recommended a few changes when
                configuring the PHY: (1) Use super isolate feature
                when the PHY is no longer use (e.g. unloading driver).
                (2) Bring PHY out of super isolate mode as the last
                step of initialization.

    Relevance:  84833 PHY only.

 2. Request:    CQ56732 CQ56727 CQ56722 CQ56716
                Add Support Ethernet/iSCSI/FCoE statistics request from MFW.

    Relevance:  BCM578x0 devices.

Version 7.2.1 (December 7, 2011)
=================================
Internal FW 7.2.9

Fixes:
------
 1. Problem:    CQ59812 - BACS showing 'Loopback PHY' test failure for BCM5711/BCM57710 devices.

    Change:     Fix set loopback mode flow.

    Introduced: eVBD 7.0.23

    Relevance:  BCM5711/BCM57710 devices.

 2. Problem:    CQ59828/CQ59875 - Unable to connect to iSCSI target in NPAR-SD mode.

    Change:     Allow setting MAC in NIG for NPAR-SD mode.

    Introduced: Day one.

    Relevance:  NPAR-SD mode.

 3. Problem:    CQ59750 - Enabling or Disabling DCB parameters via NDIS miniport
                "Advanced Properties" results in system breaking into debugger.

    Change:     Each port resets its own DCB common bits.

    Introduced: 7.0.35.87.

    Relevance:  578xx 4 port devices.

 4. Problem:    CQ41760/CQ59905 - Fan failure of device with generic ssid displays specific oem information in event viewer.

    Change:     Change the string from OEM specific name to "OEM".

    Introduced: 6.0.0

    Relevance:  BCM5771x devices with fan - event log wording only.

 5. Problem:    CQ59448 - Chip hangs when target sends FIN out-of-order or with isles open at the initiator side.

    Change:     Firmware implementation corrected to drop FIN received out-of-order or with isles still open.

    Introduced: Firmware version 6.0.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    CQ59918/CQ59882 - Add 4-part ID for OEM.

 2. Request:    CQ59194 - Add 4-part ID for OEM.

 3. Request:    CQ59195 - Add 4-part ID for OEM.

 4. Request:    CQ54414 - Add 4-part ID for OEM.

 5. Request:    CQ59827 - Change SSID for OEM.

 6. Request:    Enhanced memory pool tag assignment.

 7. Request:    Prevent attention interrupt in evbd on HW timer expiration.

 8. Request:    CQ58195 - Add 4-part ID for OEM.

 9. Request:    CQ59066 - Add 4-part ID for OEM.

Version 7.2.0 (November 15, 2011)
=================================
Internal FW 7.2.7

 1. Problem:     CQ58945 : When a PG is created with 0% BW, the ETS is not conforming.

    Change:      Driver support a ETS PG with BW of 0.

    Introduced:  T7.0.

    Relevance:   DCBX.

 2. Problem:     CQ58238, CQ58854, CQ58562 Link issues when storage miniports
                 are loaded prior to NDIS miniport this is because default
                 speed is used and not the speed configured by NDIS.

    Change:      VBD reads link preference from NDIS registry
                 when NDIS miniport is absence.

    Introduced:  Day 1.

 3. Problem:     CQ59412 : Fan Failure Mechanism test fails in SF.

    Change:      HW failure (for cases VBD asks to disable device) assumed
                 no offloaded connections exist when we receive the surprise
                 removal request. But this is not always the case.
                 The change is that at hw failure event the VBD requests
                 the OS to upload all connection, to assure this.

    Introduced:  T7.0.

    Relevance:   Fan failure flows.

 4. Problem:    CQ59454 - Port identify test fails on 54616 PHY.

    Change:     Updated driver to driver LEDs through MDIO for 54616

    Introduced: T7.0

    Relevance:  54616 PHY based boards.

 5. Problem:    CQ58179 - BSOD while running Super Stress with Error
                Injection script.

    Change:     Waiting for TOE to upload all connections during error
                recovery flow took too long, the reason was the change
                that TOE no longer uses OS work items, but instead a
                dedicated thread. The change was to increase the priority
                of the dedicated TOE thread.

    Introduced: 7.0.25.

    Relevance:  Error recovery flow under TOE stress.

Enhancements:
-------------
 1. Request:    Use 578xx-B0 built-in MDIO access work-around instead of
                578xx-A0 work-around

 2. Request:    CQ59665 - Add FCoE data to NPAR-SD statistics

    Relevance:  FCoE + NPAR-SD.

Version 7.0.200 (November 2, 2011)
==============================
Internal FW 7.2.7

 Fixes
 -----

 1. Problem:    A deadlock may occur if offloading a TOE connection fails.

    Change:     Release a lock if such an error occurs.

    Introduced: 7.0.32.74/7.0.26

    Relevance:  TOE.

 2. Problem:    CQ58853 - OS shows link speed as 10Gbps on 1Gb port when port
                is disconnected

   Change:      Report max speed correctly.

   Introduced:  Day one. Exposed by support for 1G ports.

   Relevance:   57800.

 3. Problem:    CQ58753 - iSCSI boot:  57800 - systems hangs at Windows splash
                screen when boot up via 4th port (1G port)

   Change:      Access correct MFW MB on driver initialization.

   Introduced:  eVBD 7.0.32

   Relevance:   All

 4. Problem:    CQ58962 - Hibernate failed in iSCSI Boot environment with
                NPAR enabled.

    Change:     When restoring mac addresses on returning from hibernate, the
                macs also need to be restored in the NIG LLH.

    Introduced: Day one.

    Relevance:  57712, 57800, Hibernate of iSCSI with NPAR enabled.

 5. Problem:    CQ58992 - Bugcheck running Plug and Play Driver Test on 57710

    Change:     Don't attempt to report client bind/unbind on chips that don't
                support this feature.

    Introduced: 7.0.36

    Relevance:  57710.

 6. Problem:    On 1G copper ports, the RX UMAC is not close to prevent arrival
                of partial segments during link reset process.

    Change:     Close the UMAC and the NIG RX during link reset process.

    Introduced: T7.0

    Relevance:  578xx.

 7. Problem:    Traffic blink rate LED is too fast.

    Change:     Adjust the blink rate to 578xx clock.

    Introduced: T7.0

    Relevance:  578xx.

 8. Problem:    CQ58992 (does not verify): Bugcheck running Plug and Play
                Driver Test on 57712

    Change:     Clear list of packets after moving to other list.
                Don't attempt to report client bind/unbind after bar has
                already been unmapped (during surprise removal).

    Introduced: T7.0

    Relevance:  All.

 9. Problem:     CQ59105 BSOD when trying to run CNIC stress in GOS in NPAR
                 mode.

    Change:      VMQ Dpc shouldn't try handling status blocks that don't
                 belong to VMQs.

    Introduced:  T6.0.

    Relevance:   VMQ running with iscsi/fcoe.

10. Problem:    Traffic LED blink rate for 10GBase-T designs is a bit slow.

    Change:     Adjust the slow clock counter in the PHY to increase the
                blink rate.

    Introduced: T7.0: a fix for CQ56846

    Relevance:  84823 and 84833 PHYs

11. Problem:    CQ58996 - After 20 iterations of reboot test, adapter does not
                dcbx-sync with switch.

    Change:     Perform hard reset to the XMAC during link establishment to
                clear possible left-overs.

    Introduced: T7.0

    Relevance:  57810/57800

12. Problem:    CQ58705 (does not verify) - Flow control does not function on
                fibre connections when alternative reporting mode is used.

    Change:     Include case related to fibre link, where connection is not
                auto-negotiated.

    Introduced: 7.0.39

    Relevance:  Flow control reporting mode.

13. Problem:    CQ58884 - possible link issues after unload/load of 1G
                copper ports.

    Change:     Close RX NIG in delay time after resetting the MAC.

    Introduced: T7.0.

    Relevance:  578xx.

14. Problem:    CQ58990 - KR link occasionally comes up at 1G when 10G is
                expected. This is exposed only when a previous software
                entity (e.g. MFW, prior to OS driver loading up) that owns
                the KR PHY left it at 1G.

    Change:     Keep auto-neg disabled while configuring the capbility
                advertisement. Re-enable it after configiuration is done.

    Introduced: Day One

    Relevance:  578xx blade designs.

15. Problem:    CQ59387 - OEM branded 57810s Has Incorrect Friendly Name under
                Evbd Instances.

    Change:     Changed friendly name in inf.

    Introduced: T7.0.

    Relevance:  OEM specific device.

16. Problem:    84833 PHY FW command handler interface requires further
                refinement as they don't seem to work.

    Change:     Made further adjustments and consolidated the command
                handler routine (in anticipation for other commands
                besides auto-grEEEn)).

    Introduced: v7.0.50.

    Relevance:  84833 PHY.

17. Problem:    CQ58705 – Implementation of OEM specific enhancement on
                how flow control is reported to upper models did not take
                into account some code architectural restrictions.

    Change:     Modify the code to adhere to the code architectural
                restrictions.

    Introduced: 7.0.39.

    Relevance:  Flow control reporting mode.

18. Problem:    CQ59394 - Intermittent disconnections using Windows 2008 R2
                Hyper V cluster.

    Change:     Criterion of coalescing buffer mechanism involving is fixed.

    Introduced: Day one.

    Relevance:  All.

19. Problem:    CQ58889 - Trying to enable "Quality of Service" under Network
                adapter properties applet results in BSOD.

    Change:     Firmware fix to relevant flow.

    Introduced: Firmware version 7.2.0.

    Relevance:  BCM57712/BCM578xx.


20. Problem:    (FCOE) CQ58774 - Arrival of packets beyond task IO size can
                lead to crash.

    Change:     Fix firmware data-in flow.

    Introduced: Day 1.

    Relevance:  All.


21. Problem:   (iSCSI) CQ57927 - Chip hangs when in case of retransmission not
                aligned to 4-bytes from the beginning of iSCSI PDU.

    Change:     Firmware implementation corrected to support arbitrary aligned
                retransmissions.

    Introduced: Firmware version 7.0.16.

    Relevance:  All

22. Problem:    Wrong configuration of TX HW input buffer size may cause
                theoretical performance effect.

    Change:     Configuration fix to relevant values.

    Introduced: Day 1.

    Relevance:  BCM57712/BCM578xx.

23. Problem:    (FCOE) VLAN priority is not taken from DCB results in SD-NPAR
                 mode.

    Change:     Always take VLAN from DCB result in SD-NPAR mode.

    Introduced: Day 1.

    Relevance:  All.

 Enhancements:
 -------------
 1. Request:    CQ58666 - Update eVBD inf to change Speed&Duplex display
                name from Auto to Auto Negotiation.

 2. Request:    CQ58705 – OEM specific enhancement on how the results of the
                auto negotiation flow control settings are being reported to
                the upper layers

    Relevance:  Everest based devices

 3. Request:    Add LED functionality to 54618SE PHY based boards.

 4. Request:    Put 84833 PHY in super isolate mode regardless of the
                strapping pin. The PHY stays in this mode until driver
                is loading up.

    Relevance:  84833 PHY only.

 5. Request:    CQ59337 - Add new devices to INF.

 6. Request:    CQ59442 - OEM friendly name change.

 7. Request:    prevents FCOE PDO enumeration on VISTA and W7 client version.


Version 7.0.51 (September 22, 2011)
==============================
Internal FW 7.2.4

 Fixes
 -----

 1. Problem:    CQ58318 - BSOD pointing to bxois while running Ultimate Stress
                with Error Injection script.

    Change:     VBD did not fill in all required fields in kcqe during internal
                completion flow (done only in error recovery flow).

    Introduced: VBD version 6.4.19.

    Relevance:  Only under error recovery flow.

 2. Problem:    MCP scratchpad parity attention was cleared for 57712/578xx,
                causing inconsistent behavior between checked build (in which
                parity was simply cleared and ignored) to retail (in which
                error recovery was initiated).

    Change:     Removed clearing of mcp scratchpad parity attention, so that
                now checked build and retail have consistent behaviour (assert
                in checked build and recover in retail).

    Introduced: Day one of 57712.

    Relevance:  57712/578xx checked build only.

 3. Problem:    CQ58322 - Wrong link speeds in NPAR mode.

    Change:     Fix iteration on all functions in a port to adjust for 4-port
                MF mode.

    Introduced: Day 1. Exposed by support for 4-port devices in T7.0.

    Relevance:  57800 and 57840(4-port), NPAR mode only.

 4. Problem:    CQ58351 -  BSOD caused by evbd 7.0.33 in NPAR mode on 57800 B0.

    Change:     Rewrite vnics_per_port calculation.

    Introduced: Day 1, exposed by fix #3.

    Relevance:  57800 and 57840(4-port), NPAR mode only.

 5. Problem:    Forced 100M speed cannot pass traffic with 578xx+84833.

    Change:     Configure the Warpcore to SGMII auto-neg when interfacing
                the 84833 PHY.

    Introduced: Day 1

    Relevance:  578xx + 84833 PHY only, PHY FW v1.27 is required.

 6. Problem:    Cannot establish link with 84833 PHY using PHY FW v1.27.

    Change:     The FW has been changed to fully support superisolate mode.
                That requires the PHY initialization sequence to change.

    Introduced: Day 1

    Relevance:  84833 PHY, PHY FW v1.27 is required.

 7. Problem:    In extreme rare cases and hardware faults, BSOD pointing to
                the driver might occur.

    Change:     Prevent BSOD.

    Introduced: Day 1.

    Relevance:  All.

 8. Problem:    CQ55875 - Incorrect port-level statistics reported in BACS.

    Change:     Fix incorrect configuration of HW statistics DMA transaction
                for 10GB link.

    Introduced: Day 1 of T7.0.

    Relevance:  All.


 9. Problem:    Theoratical bug: in BFS environment, if we have a recoverable
                error we may not be able to start the vbd_reset thread that
                handles the error.

    Change:     Start the thread at init-driver (if error recovery is enabled),
                when error occurs simply wake up the thread.

    Introduced: 6.4.19.

    Relevance:  When error recovery is enabled (Retail/Checked + registry key).

10. Problem:    VBD file size and memory footprint increased significantly.

    Change:     Remove redundant static arrays.

    Introduced: 7.0.32.

    Relevance:  All.

11. Problem:    CQ58474 - BSOD while running Ultimate Stress.

    Change:     Corner case in TOE flow didn't handle memory allocation
                failure, added proper handling.

    Introduced: VBD release 4.8.

    Relevance:  TOE.

12. Problem:    BSOD while running Ultimate Stress with Error Inject script.

    Change:     Under error recovery flow, a certain sanity check that all
                completions for toe rx were received is not valid. Check
                only if we're not during recovery.

    Introduced: VBD version 6.4.19.

    Relevance:  Checked versions, only during error recovery flow.

13. Problem:    CQ58582 -  57800 assert at evbda!lm_get_packets_sent when in
                NPAR mode and using image w/ latest EFI 7.0.23

    Change:     Fix FW resource allocation for mixed SF+MF mode.

    Introduced: With support for 4-port devices. Exposed by EFI v7.0.23.

    Relevance:  57800 NPAR mode only.

14. Problem:    Firmware may assert upon function update ramrod when changing
                the CoS mode.

    Change:     (FW Common) Firmware fix to relevant flow.

    Introduced: eVBD 7.0.50

    Relevance:  BCM57712/BCM578xx.

15. Problem:    CQ57933 - iSCSI does not support CoS 2.

    Change:     (FW iSCSI) Firmware fix to support CoS 2.

    Introduced: eVBD 7.0.50

    Relevance:  All platforms running DCB enabled with COS 2 and higher.

16. Problem:    TOE IP octets statistics wrongly included the ETH CRC bytes.

    Change:     (FW TOE) Firmware fix to exclude ETH CRC bytes from relevant
                statistics.

    Introduced: T7.0

    Relevance:  All.



 Enhancements:
 -------------

 1. Request:    CQ58307 - Add 4-part ID for new OEM platform.

 2. Request:    Add IOCTL to enable reading PCI configuration space (for use
                by internal tools)

 3. Request:    CQ58188 CQ58186 - OEM New (additional) 4 part ID match for
                BCM57712 and 8727C designs. (Already fixed in version 6.2.21a &
                applying to 7.0 as well).

 4. Request:    CQ58415 - Remove Windows Advanced Properties of AutoGrEEEn
                for specific OEM designs.

    Relevance:  578xx specific design.

 5. Request:    CQ57952 - unload the eVBD on fan failure detection

    Relevance:  Board designs that support fan failure detection.

 6. Request:    CQ58461 - INF changes for specific OEM designs.

    Relevance:  578xx specific design.

 7. Request:    CQ53679 - Implement New OEM Command: Get Virtual Link

    Relevance:  Requires MFW 7.0.52 or later.

 8. Request:    CQ58654 - Add new 4-part ID for OEM.

Version 7.0.50 (September 1, 2011)
==============================
Internal FW 7.2.1

 Fixes
 -----

 1. Problem:    Forced half duplex link may not be supported.

    Change:     Clear full duplex bit in Warpcore when configuring forced
                link.

    Introduced: Day 1.

    Relevance:  578x0 + 84833, no exposure to 54616S/18SE PHY because it is
                configured as SGMII interface, not XFI.

 2. Problem:    CQ56846 - 84833 PHY has no traffic LED on 10G.

    Change:     Enable LED stretch on a different register offset for 84833.

    Introduced: Day 1.

    Relevance:  84833 PHY.

 3. Problem:    CQ56813 - 84833 PHY can't link up at forced 100M

    Change:     PHY FW requires setting auto-neg advertisement even at
                forced link mode.

    Introduced: Day 1.

    Relevance:  84833 PHY.

 4. Problem:    84833 can't link up at 10G after the link went down from
                sub-10G.

    Change:     Re-enable 10G advertisement on every driver load instead of
                relying on hardware default.

    Introduced: Day 1.

    Relevance:  84833 PHY.

 5. Problem:    84833 PHY FW command handler interface changed (needed for
                (auto-grEEEn and RJ45 pair swap).

    Change:     Made register offset adjustments to accommodate the new
                interface.

    Relevance:  84833 PHY.

 6. Problem:    CQ58086 - on 578xx B0 ETS BW 0% is not allowed by driver.

    Change:     Provide alternative HW configuration for this case.

    Introduced: T7.0.

    Relevance:  578xx with DCB support.

 7. Problem:    CQ57969 - The iSCSI traffic completely stops when dual
                port FCoE & iSCSI Rx/Tx is run.

    Change:     Fix wrong HW Configuration. HW was configured to per mac
                guarantee mode instead of per class guarantee mode.

    Introduced: T7.0.

 8. Problem:    FCoE FIP packets are sent with wrong PRI field in NPAR-SD mode

    Change:     Force using the correct PRI value for FCoE packets in NPAR-SD
                mode

    Introduced: With NPAR-SD support.

    Relevance:  FCoE in NPAR-SD mode.

 9. Problem:    BSOD on driver load on 57710 and 57711 chips

    Change:     Don't write to invalid internal RAM offset on these chips.

    Introduced: eVBD 7.0.12, exposed by FW 7.2.1.

    Relevance:  57710 and 57711 only.

10. Problem:    CQ56758 - Offloaded connection will not allow disable of nagle
                after data was sent.

    Change:     (FW TOE) Firmware fix to relevant flow.

    Introduced: Firmware version 6.0.0.

    Relevance:  All

11. Problem:    CQ56960 - Arrival of un-solicited ASYNC message causes firmware
                to abort the connection with RST.

    Change:     (FW iSCSI) Firmware fix to relevant flow.

    Introduced: Firmware version 4.6.

    Relevance:  All

12. Problem:    Device may not send pause frames when configured to pause on exhausted rings.
                This is seen when configuration of the TX side to “pause disable” and the RX side to “pause on exhausted ring”.

    Change:    (FW Common) Firmware fix to relevant flow.

    Introduced: Firmware version 6.0.8.

    Relevance:  BCM57711/BCM57712/BCM578xx.

13. Problem:    Arrival of target-initiated NOP-IN during intense ISCSI traffic might lead to crash.

    Change:     (FW iSCSI) Firmware fix to relevant flow.

    Introduced: Firmware version 6.0.0.

    Relevance:  All



 Enhancements:
 -------------

 1. Request:    Support NPAR-SD vlan trunk mode.

    Relevance:  NPAR-SD mode only.

 2. Request:    Remove Timer 4 (id 3) sanity check because it is being
                used by temperature statistic reporting now.

Version 7.0.45 (December 20, 2011)
==================================
Internal FW 7.0.29.

Fixes:
------
 1. Problem:    CQ41760/CQ59905/CQ60397 - Fan failure of device with generic
                ssid displays specific OEM information in event viewer.

    Change:     Change the string from OEM specific name to "OEM".

    Introduced: Fixed in T5.2 but appeared again in 6.0.0.

    Relevance:  BCM5771x devices with fan - event log wording only.

Version 7.0.44c (November 29, 2011)
===================================

 Enhancements:
 -------------

 1. Request:    CQ59918/CQ59882 - Add 4-part ID for OEM.

Version 7.0.44b (November 23, 2011)
===================================

 Fixes:
 ------
 1. Problem:    CQ59876 - EVBD 7.0.44 fails chkinf in DTM.

    Change:     Fix missing parameter in INF.

    Introduced: eVBD 7.0.44

    Relevance:  All.

 Enhancements:
 -------------

 1. Request:    CQ59829 - Add 4-part ID for OEM.

Version 7.0.44a (November 22, 2011)
===================================

Enhancements:
-------------

 1. Request:    CQ59829 - Add 4-part ID for OEM.

Version 7.0.44 (November 22, 2011)
==================================

 Fixes:
 ------
 1. Problem:    CQ59812 - BACS showing 'Loopback PHY' test failure for BCM5711/BCM57710 devices.

    Change:     Fix set loopback mode flow.

    Introduced: eVBD 7.0.23

    Relevance:  BCM5711/BCM57710 devices.

 Enhancements:
 -------------

 1. Request:    CQ59194 - Add 4-part ID for OEM.

 2. Request:    CQ59195 - Add 4-part ID for OEM.

 3. Request:    CQ54414 - Add 4-part ID for OEM.


Version 7.0.43b (November 20, 2011)
===================================

 Enhancements:
 -------------

 1. Request:    CQ59829 - Add 4-part ID for OEM.

Version 7.0.43a (November 20, 2011)
===================================

 Enhancements:
 -------------

 1. Request:    CQ59829 - Remove 4-part ID for OEM.

Version 7.0.43 (November 3, 2011)
=================================
Internal FW: 7.0.29

 Fixes:
 ------
 1. Problem:    CQ59454 - Port identify test fails on 54616 PHY.

    Change:     Updated driver to driver LEDs through MDIO for 54616

    Introduced: T7.0

    Relevance:  54616 PHY based boards.

 2. Problem:    CQ58705 – Implementation of OEM specific enhancement on
                how flow control is reported to upper models did not take
                into account some code architectural restrictions.

    Change:     Modify the code to adhere to the code architectural
                restrictions.

    Introduced: 7.0.39.

    Relevance:  Flow control reporting mode.

 3. Problem:    CQ59394 - Intermittent disconnections using Windows 2008 R2
                Hyper V cluster.

    Change:     Criterion of coalescing buffer mechanism involving is fixed.

    Introduced: Day one.

    Relevance:  All.



 Enhancements:
 -------------

 1. Request:    CQ59442 - OEM friendly name change.

 2. Request:    prevents FCOE PDO enumeration on VISTA and W7 client version.



Version 7.0.42 (October 24, 2011)
=================================
Internal FW: 7.0.29

 1. Problem:    CQ58705 (does not verify) - Flow control does not function on
                fibre connections when alternative reporting mode is used.

    Change:     Include case related to fibre link, where connection is not
                auto-negotiated.

    Introduced: 7.0.39

    Relevance:  Flow control reporting mode.

 2. Problem:    CQ58884 - possible link issues after unload/load of 1G
                copper ports.

    Change:     Close RX NIG in delay time after resetting the MAC.

    Introduced: T7.0.

    Relevance:  578xx.

 3. Problem:    CQ58990 - KR link occasionally comes up at 1G when 10G is
                expected. This is exposed only when a previous software
                entity (e.g. MFW, prior to OS driver loading up) that owns
                the KR PHY left it at 1G.

    Change:     Keep auto-neg disabled while configuring the capbility
                advertisement. Re-enable it after configiuration is done.

    Introduced: Day One

    Relevance:  578xx blade designs.

 4. Problem:    CQ59387 - OEM branded 57810s Has Incorrect Friendly Name under
                Evbd Instances.

    Change:     Changed friendly name in inf.

    Introduced: T7.0.

    Relevance:  OEM specific device.



 Enhancements:
 -------------

 1. Request:    CQ59337 - added OEM specific 4-part ID.

Version 7.0.41 (October 17, 2011)
=================================
Internal FW: 7.0.29

 1. Problem:    CQ58996 - After 20 iterations of reboot test, adapter does not
                dcbx-sync with switch.

    Change:     Perform hard reset to the XMAC during link establishment to
                clear possible left-overs.

    Introduced: T7.0

    Relevance:  57810/57800

 2. Problem:    CQ58992 (does not verify): Bugcheck running Plug and Play
                Driver Test on 57712.

    Change:     Don't attempt to report client bind/unbind after bar has
                already been unmapped (during surprise removal).

    Introduced: T7.0

    Relevance:  All.

 3. Problem:    CQ58912: Port identification not working on 54618SE PHY when
                link is not present.

    Change:     Add ON functionality to the 54618SE PHY link LED.

    Introduced: T7.0

    Relevance:  54618SE PHY based boards.

Version 7.0.40 (October 11, 2011)
=================================
Internal FW: 7.0.29

 Fixes
 -----
 1. Problem:    CQ58992 (does not verify): Bugcheck running Plug and Play
                Driver Test on 57712

    Change:     Clear list of packets after moving to other list.

    Introduced: T7.0

    Relevance:  All.

 2. Problem:     CQ59105 BSOD when trying to run CNIC stress in GOS in NPAR
                 mode.

    Change:      VMQ Dpc shouldn't try handling status blocks that don't
                 belong to VMQs.

    Introduced:  T6.0.

    Relevance:   VMQ running with iscsi/fcoe.


Version 7.0.39 (October 10, 2011)
=================================
Internal FW: 7.0.29

 Fixes
 -----

 1. Problem:    A deadlock may occur if offloading a TOE connection fails.

    Change:     Release a lock if such an error occurs.

    Introduced: 7.0.32.74/7.0.26

    Relevance:  TOE.

 2. Problem:    CQ58992 - Bugcheck running Plug and Play Driver Test on 57710

    Change:     Don't attempt to report client bind/unbind on chips that don't
                support this feature.

    Introduced: 7.0.36

    Relevance:  57710.

 3. Problem:    CQ58306 and 58507 Intermittent link failure after link enable.

    Change:     Reset rx and tx path if link is not up.

    Introduced: Day one

    Relevance:  57810.

 4. Problem:    CQ58962 - Hibernate failed in iSCSI Boot environment with
                NPAR enabled.

    Change:     When restoring mac addresses on returning from hibernate, the
                macs also need to be restored in the NIG LLH.

    Introduced: Day one.

    Relevance:  57712, 57800, Hibernate of iSCSI with NPAR enabled.

 5. Problem:    On 1G copper ports, the RX UMAC is not close to prevent arrival
                of partial segments during link reset process.

    Change:     Close the UMAC and the NIG RX during link reset process.

    Introduced: T7.0

    Relevance:  578xx.

 6. Problem:    Traffic blink rate LED is too fast.

    Change:     Adjust the blink rate to 578xx clock.

    Introduced: T7.0

    Relevance:  578xx.

 7. Problem:    CQ58774 - Arrival of packets beyond task IO size can lead to crash.

    Change:     Fix firmware data-in flow.

    Introduced: Day 1.

    Relevance:  All.

 Enhancements:
 -------------
 1. Request:    CQ58705 – OEM specific enhancement on how the results of the
                auto negotiation flow control settings are being reported to
                the upper layers

    Relevance:  BCM577xx based devices.

Version 7.0.38 (September 28, 2011)
================================
Internal FW: 7.0.28

 Fixes
 -----
 1. Problem:     CQ58753 - iSCSI boot:  57800 - systems hangs at Windows splash
                 screen when boot up via 4th port (1G port)

    Change:      Access correct MFW MB on driver initialization.

    Introduced:  eVBD 7.0.32

    Relevance:   All

 2. Problem:     CQ58853 - OS shows link speed as 10Gbps on 1Gb port when port
                 is disconnected

    Change:      Report max speed correctly.

    Introduced:  Day one. Exposed by support for 1G ports.

    Relevance:   57800.

Version 7.0.37 (September 27, 2011)
================================
Internal FW: 7.0.28

 Fixes
 -----
 1. Problem:     CQ57927 - Chip hangs when in case of retransmission not aligned
                 to 4-bytes from the beginning of iSCSI PDU.

    Change:      Firmware implementation corrected to support arbitrary aligned
                 retransmissions.

    Introduced:  Firmware version 7.0.16.

    Relevance:   All


 Enhancements:
 -------------
 1. Request:    CQ58666 - Update eVBD inf to change Speed&Duplex display
                name from Auto to Auto Negotiation.

 2. Request:    CQ58688 - Remove redundant CAM TM initializations from E3.

    Relevance:  578xx designs.

Version 7.0.36 (September 19, 2011)
================================
Internal FW: 7.0.27

 Fixes:
 ------

 1. Problem:    CQ58474 - BSOD while running Ultimate Stress.

    Change:     Corner case in TOE flow didn't handle memory allocation
                failure, added proper handling.

    Introduced: VBD release 4.8.

    Relevance:  TOE.

 2. Problem:    BSOD while running Ultimate Stress with Error Inject script.

    Change:     Under error recovery flow, a certain sanity check that all
                completions for toe rx were received is not valid. Check
                only if we're not during recovery.

    Introduced: VBD version 6.4.19.

    Relevance:  Checked versions, only during error recovery flow.

 3. Problem:    CQ58582 -  57800 assert at evbda!lm_get_packets_sent when in
                NPAR mode and using image w/ latest EFI 7.0.23

    Change:     Fix FW resource allocation for mixed SF+MF mode.

    Introduced: With support for 4-port devices. Exposed by EFI v7.0.23.

    Relevance:  57800 NPAR mode only.

 Enhancements:
 -------------
 1. Request:    CQ58461 - INF changes for specific OEM designs.

    Relevance:  578xx specific design.

 2. Request:    CQ53679 - Implement New OEM Command: Get Virtual Link

    Relevance:  Requires recent-enough MFW.


Version 7.0.35 (September 12, 2011)
================================
Internal FW: 7.0.27

 Fixes:
 ------

 1. Problem:    In extreme rare cases and hardware faults, BSOD pointing to
                the driver might occur.

    Change:     Prevent BSOD.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ55875 - Incorrect port-level statistics reported in BACS.

    Change:     Fix incorrect configuration of HW statistics DMA transaction
                for 10GB link.

    Introduced: Day 1 of T7.0.

    Relevance:  All.

 3. Problem:    Theoratical bug: in BFS environment, if we have a recoverable
                error we may not be able to start the vbd_reset thread that
                handles the error.

    Change:     Start the thread at init-driver (if error recovery is enabled),
                when error occurs simply wake up the thread.

    Introduced: 6.4.19.

    Relevance:  When error recovery is enabled (Retail/Checked + registry key).

 4. Problem:    BSOD in surprise removal and fan failure scenarios.

    Change:     Revert a part of the change in enhancement #3 of eVBD 7.0.34

    Introduced: 7.0.34.

    Relevance:  All.

 5. Problem:    VBD file size and memory footprint increased significantly.

    Change:     Remove redundant static arrays.

    Introduced: 7.0.32.

    Relevance:  All.

 Enhancements:
 -------------
 1. Request:    CQ58415 - Remove Windows Advanced Properties of AutoGrEEEn
                for specific OEM designs.

    Relevance:  578xx specific design.


Version 7.0.34 (September 8, 2011)
================================
Internal FW: 7.0.27

 Fixes:
 ------

 1. Problem:    CQ58351 -  BSOD caused by evbd 7.0.33 in NPAR mode on 57800 B0.

    Change:     Rewrite vnics_per_port calculation.

    Introduced: Day 1, exposed by eVBD 7.0.33.

    Relevance:  57800 and 57840(4-port), NPAR mode only.

 Enhancements:
 -------------

 1. Request:    Add IOCTL to enable reading PCI configuration space (for use
                by internal tools)

 2. Request:    CQ58188 CQ58186 - OEM New (additional) 4 part ID match for
                BCM57712 and 8727C designs. (Already fixed in version 6.2.21a
                applying to 7.0 as well).

 3. Request:    CQ57952 - unload the eVBD on fan failure detection

    Relevance:  Board designs that support fan failure detection.


Version 7.0.33 (September 5, 2011)
================================
Internal FW: 7.0.27

 Fixes:
 ------

 1. Problem:    possible BSOD on driver load on 57710 and 57711 chips.

    Change:     Don't write to invalid internal RAM offset on these chips.

    Introduced: eVBD 7.0.12.

    Relevance:  57710 and 57711 only.

 2. Problem:    CQ58318 - BSOD pointing to bxois while running Ultimate Stress
                with Error Injection script.

    Change:     VBD did not fill in all required fields in kcqe during internal
                completion flow (done only in error recovery flow).

    Introduced: VBD version 6.4.19.

    Relevance:  Only under error recovery flow.

 3. Problem:    MCP scratchpad parity attention was cleared for 57712/578xx,
                causing inconsistent behavior between checked build (in which
                parity was simply cleared and ignored) to retail (in which
                error recovery was initiated).

    Change:     Removed clearing of mcp scratchpad parity attention, so that
                now checked build and retail have consistent behaviour (assert
                in checked build and recover in retail).

    Introduced: Day one of 57712.

    Relevance:  57712/578xx checked build only.

 4. Problem:    Arrival of target-initiated NOP-IN during intense ISCSI traffic
                might lead to crash.

    Change:     Firmware fix to relevant flow.

    Introduced: VBD Version 6.0.0 (Firmware version 6.0.0).

    Relevance:  All

 5. Problem:    CQ58322 - Wrong link speeds in NPAR mode.

    Change:     Fix iteration on all functions in a port to adjust for 4-port
                MF mode.

    Introduced: Day 1. Exposed by support for 4-port devices in T7.0.

    Relevance:  57800 and 57840(4-port), NPAR mode only.

 Enhancements:
 -------------

 1. Request:    CQ58307 - Add 4-part ID for new OEM platform.



Version 7.0.32 (August 29, 2011)
================================
Internal FW: 7.0.26

 Fixes:
 ------

 1. Problem:    CQ58086 - on 578xx B0 ETS BW 0% is not allowed by driver.

    Change:     Provide alternative HW configuration for this case.

    Introduced: T7.0.

    Relevance:  578xx with DCB support.

 2. Problem:    CQ57990 - OIS CERTS: 57711 - BSOD when running Sleep Stress
                with IO test (iSCSI Boot Environment), refix.

    Change:     Make the decision whether to do undi reset to happen
                exclusively and prevent condition race.

    Introduced: Day 1, exposed only on BFS flows.

    Relevance:  iSCSI boot Environment.

 3. Problem:    Bandwidth allocation produces invalid results on 4 port
                devices.

    Change:     Add support for 4-port mode devices to BW allocation code.

    Introduced: day one.

    Relevance:  57800 and 57840(in 4-port mode), NPAR only.

 Enhancements:
 -------------

 1. Request:    Enable FEC (Forward Error Correction) on 57810-KR

 2. Request:    CQ57662 - disable DCB for all 578xx boards.

    Relevance:  578xx.

 3. Request:    CQ57204 - Prevent enumeration of FCoE for 578xx boards.

    Relevance:  578xx.

 4. Request:    Include VFC and IGU data in the internal data saved in
                a Windows memory dump.

    Relevance:  57712 and later.

Version 7.0.31 (August 22, 2011)
================================
Internal FW: 7.0.26

 Fixes
 -----

 1. Problem:    CQ57879 - BSOD while running Super Stress with Error
                Injection script.

    Change:     Redundant assert in the driver can occur under error
                recovery flow, however the assert is not required in the
                first place, removed assert.

    Introduced: VBD version 6.4.19.

    Relevance:  Only under error recovery flow.

 2. Problem:    Setting NPAR max bandwidth or NPAR bandwidth weight fails
                for 578xx boards

    Change:     Allow bandwidth allocation changes for all chips newer then
                57711

    Introduced: T6.4

    Relevance:  578xx only

 3. Problem:    Paged code could theoretically be called in iscsi/fcoe boot
                environment.

    Change:     Remove all pragmas setting code as paged from VBD.

    Introduced: Day one.

 4. Problem:    CQ57841 - NIG timer error and connection loss after driver is
                loaded.

    Change:     Apply NIG drain when remote fault is detected.

    Introduced: T7.0.

    Relevance:  Fiber ports.

 5. Problem:    CQ57738, CQ57719, CQ55158 - Remote fault detection occasionally
                causes link issues, and traffic problems.

    Change:     Remove remote-fault detection for T7.0.

    Introduced: In 1.70.00.

    Relevance:  Fiber ports.

 6. Problem:    CQ57271 - PCI MPS violation in PF0 when resuming from Hibernate

    Change:     Enforce valid MPS value for PF0 by other PFs' load flow.

    Introduced: Third Party (OS issue).

    Relevance:  Only under a specific Windows version (Windows Server 2008
                R2 SP1. Issue does not occur in Windows Server 2008 SP2).

 7. Problem:    CQ57990 - OIS CERTS: 57711 - BSOD when running Sleep Stress
                with IO test (iSCSI Boot Environment).

    Change:     Make the undi reset to happen exclusively and prevent
                condition race.

    Introduced: Day 1, exposed only on BFS flows.

    Relevance:  iSCSI boot Environment.

 8. Problem:    Failure to validate manufacturing/upgrade license on 57800 and
                57840.

    Change:     Fix licensing code for 4 port devices.

    Introduced: day one.

    Relevance:  57800 and 57840 only.


Version 7.0.30 (August 15, 2011)
===============================
Internal FW: 7.0.26

 Fixes
 -----
 1. Problem:    CQ57564 - BSOD in iscsi flow is seen while changing
                Flow Control on port 0.

    Change:     Moving toe offload from system workitem to run in VBD worker
                thread caused a case of starvation to iscsi work items that
                were schedule in same thread. To handle starvation two worker
                threads are now created upon init, one for TOE and one for the
                rest.

    Introduced: VBD version 7.0.25.

    Relevance:  Multi Client setup.

 2. Problem:    CQ57240 - NDISTest: assertion during LSO packet processing
                when running MPE_Ethernet test script.

    Change:     Remove legacy sanity check.

    Introduced: Day one.

    Relevance:  CHKed evbd version.

 3. Problem:    CQ57250 - The LED Link light does not turn on at 1Gb/s speed

    Change:     Adjust elink_set_led to allow for correct LED behavior.

    Introduced: Day one.

    Relevance:  578xx with direct connection.

 4. Problem:    CQ56820 - Assert is seen while running bacs diag.
                XMAC loopback test may fail due to timing
                issue related to the CORE loopback type used.

    Change:     Change XMAC loopback to local line loopback.

    Introduced: T7.0.

    Relevance:  578xx.

 5. Problem:    CQ57464 - OIS CERTS: BSOD when running Common Scenario Stress
                with IO (iscsi boot environment).

    Change:     BSOD occured due to an attempt to allocate resources before
                boot connection was established. Changed iscsi resource
                allocation scheme.

    Introduced: Day one.

    Relevance:  Hibernation in BFS environment.



Version 7.0.29 (August 9, 2011)
===============================
Internal FW: 7.0.26

 Fixes
 -----
 1. Problem:    PMF migration during remote fault result in invalid link state.

    Change:     Sync link attributes during remote fault periodic check.

    Introduced: 7.0.14

    Relevance:  Fiber ports.

 2. Problem:    CQ57599 - BSOD while running Super Stress with
                Error injection script.

    Change:     New assert was added in driver flow of releasing omgr resources
                that didn't take into account error recovery flow.

    Introduced: 7.0.27.

    Relevance:  Only during error recovery flow.

 3. Problem:    CQ57357 - Data transfer stalled while running TOE stress
                tests.

    Change:     Moving toe offload from system workitem to run in VBD worker
                thread lowered the priority of the offload work, creating
                a large amount of pending offloads and uploads which caused
                the stall. Improved the offload allocation scheme to use pool
                of memory blocks instead of allocating/freeing (which is an
                expensive OS operation) per offload/upload.

    Introduced: VBD version 7.0.25.

    Relevance:  TOE.

Version 7.0.28 (August 2, 2011)
===============================
Internal FW: 7.0.26

 Fixes
 -----

 1. Problem:    CQ56820 - XMAC loopback test occasionally fails.
                This test is run over XMAC loopback mode, and once the test
                failed, XMAC appears to be in a bad state such that it cannot
                pull packets from the NIG, a thing which triggers a NIG drain
                event from the MFW side.

    Change:     Unreset the appropriate Warpcore lane to provide the clock
                for the XMAC. This issue was once seen with 20G, and was not
                supposed to affect 10G link, yet it clearly solve this problem.
                See related CQ52735.

    Introduced: T7.0.

    Relevance:  578xx.

 2. Problem:    CQ57422 - Assert is seen while upgrading to 7.0.26/27 with NPAR enabled.

    Change:     VBD flow didn't change rss chain count accordingly when disabling rss due to NPAR,
                while there was a registry key l4_enable_rss set in the VBD section.

    Introduced: Day one.

    Relevance:  NPAR checked build, if l4_enable_rss is set in VBD registry.

 3. Problem:    CQ55165,CQ56518 - DCBX READ IOCTL reports DCBX "In Sync" even after
                link is disconnected for several minutes.

    Change:     MFW updates driver if no DCBX frame was received from the peer,
                if DCBX was previously enabled.

    Introduced: T7.0.

Enhancements:
-------------

 1. Request:    DCB is enable if there is a configuration from BACS, regardless of if
                DCBX was received from the peer.

 2. Request:    Default priority(instead of zero) is used for FCoE and iSCSI priorities
                when there are no corresponding application priority entries.

Version 7.0.27 (July 28, 2011)
==============================
Internal FW: 7.0.26

 Fixes
 -----
 1. Problem:    CQ56294 - Incorrect Remote fault detection may lead to link
                down on 5771x fiber devices.

    Change:     Fix LSS fault mechanism to detect remote fault and transmit
                local fault through the BMAC. This change requires leaving the
                BMAC out of reset in case link of 10G goes down

    Introduced: 7.0.0.

    Relevance:  5771x-fiber devices (8706/8726/8727), 10G only.


 2. Problem:    Assert during error recovery flow: null pointer referenced.

    Change:     Pointer wasn't initialized properly in mac completion flow during error recovery.

    Introduced: 7.0.12.

    Relevance:  Only during error recovery flow.

 3. Problem:    CQ56294 - system hangs at shutdown when 7 or more iscsi sessions are present.

    Change:     Race in ISCSI shutdown flow.

    Introduced: First in version T6.0. Already fixed in version 6.4.33 (CQ54032) applying to 7.0 as well.

 4. Problem:    578xx devices won't pass traffic with VLAN in NPAR mode.

    Change:     Wrong initialization of parser register.

    Introduced: Not applicable.

    Relevance:  578xx B0, NPAR.

 5. Problem:    The GPHY ports are not completely powered down on
                driver unload if the GPHYs have no external pins to
                bring them to reset state. As a result, their link
                partner may still see link.

    Change:     Put the GPHY in low power mode.

    Introduced: 7.0.0.

    Relevance:  T0000G boards.

 6. Problem:    There is a probability that truncated FCoE packet on RX path won't get detected which might lead to crash.

    Change:     Verify the length of the FCOE packet.

    Introduced: VBD version 6.4.0 (Firmware version 6.4.0).

    Relevance:  All.

 7. Problem:    CQ56017 - 57712 Could do S5 WoL via Interesting Packet if S4 WoL is Performed Before That.

    Change:     NIG ACPI pattern related registers weren't brought back to init value upon initialization.

    Introduced: Day one.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add remote fault link detection for 578xx based on LSS errors
                in the MAC layer.

    Relevance:  578xx.

 2. Request:    Added 54616 PHY support.

    Relevance:  54616 PHY.

 3. Request:    CQ57299 - Remove Windows Advanced Properties of AutoGrEEEn
                for a specific OEM design.

    Relevance:  578xx specific design.

Version 7.0.26 (July 25, 2011)
==============================
Internal FW: 7.0.25

 Fixes
 -----

 1. Problem:    CQ56687 - Traffic LED do not blink under multiple OSes and dim.

    Change:     Enable LED blink and set rate.

    Introduced: 7.0.0

    Relevance:  57712 + 8727.

 2. Problem:    No flow-control on 578xx when link is up at 1G and below.

    Change:     Add pause functionality to UMAC.

    Introduced: 7.0.0

    Relevance:  578xx

 3. Problem:    CQ56960 - Arrival of un-solicited ASYNC message causes firmware to abort the connection with RST.

    Change:     Firmware fix to relevant flow.

    Introduced: VBD Version 6.4.0 (Firmware version 6.4.0).

    Relevance:  All.

 4. Problem:    CQ56758 - Offloaded connection will not allow disable of nagle after data was sent.

    Change:     Firmware fix to relevant flow.

    Introduced: VBD Version 6.0.0 (Firmware version 6.0.0).

    Relevance:  All.


 Enhancements
 ------------
 1. Request:    CQ57202 - Prevent enumeration of OIS in W2K3.

    Relevance:  All.



Version 7.0.25 (July 18, 2011)
==============================
Internal FW: 7.0.24

 Fixes
 -----

 1. Problem:    BSOD 0x7b on 57712 when running iSCSI reboot test.

    Change:     Ensure that PHY_TX_ERROR_CHECK_FLAG is asserted before error
                checking.

    Introduced: 7.0.8

    Relevance:  57712 and 578xx.

 2. Problem:    CQ57068 - Flow Control Tx/Rx setting inconsistency between NDIS and eVBD.

    Change:     The miniport setting was changed recently to reflect Microsoft’s definition.
                Changed the VBD inf setting to be consistent with the miniports.

    Introduced: When VBD is installed with NDIS Miniport 7.0.5 and higher.

    Relevance:  All.

 3. Problem:    CQ56995 - OIS CERTS: Common Scenario Stress Test Fails - deadlock.

    Change:     Don't use system workitems at all in VBD, use VBD worker thread instead.

    Introduced: Day one.

    Relevance:  Hibernation in BFS environment.

 4. Problem:    CQ56784 - LED doesn't flash during LED test.

    Change:     Add the missing configuration.

    Introduced: Day one.

    Relevance:  578xx.

 Enhancements
 ------------
 1. Request:    CQ56737 - Disable TX_DIS Signal when SFP+ module is plugged out
                to prevent current leakage.

    Relevance:  578xx.

 2. Request:    CQ57077 - Disable iSCSI and FCoE PDO enumeration for all BCM578xx boards on w2k3.

    Relevance:  BCM578xx.

 3. Request:    CQ57078 - provide max_link_speed imnformation to the BMAPI API 1Gb port on BCM57800.

    Relevance:  BCM57800.

 4. Request:    CQ57114 - Change "Disable" "Enable" to "Disabled" "Enabled" on driver properties to be consistent with other driver properties.

    Relevance:  All.

 5. Request:    Add driver register dump support, for 578xx-B0.

    Relevance:  578xx-B0.

Version 7.0.24 (July 14, 2011)
==============================
Internal FW: 7.0.24

 Fixes
 -----

 1. Problem:    Setting Warpcore registers may be ignored due to missing cycle
                in MDC/MDIO.

    Change:     On 578xx-B0, set free running counter on EMAC before each cl45
                access, and clear it at the end. This is not done globally,
                to prevent clock collisions between the four MDIO masters
                (One per EMAC).

    Introduced: Not applicable.

    Relevance:  578xx-B0

 2. Problem:    Possible no link when DAC is connected to 578xx device

    Change:     Restart WC microcode after module is plugged in and detected.

    Introduced: Day one.

    Relevance:  578x0 only.

 3. Problem:    Application priority mismatch may cause driver to falsely break.

    Change:     Fix flow in order not to falsely break.

    Introduced: 6.0.0.

 4. Problem:    CQ56907 - Win8: static variable initialization race condition.

    Change:     Each static variable is initialized separately.

    Introduced: T5.0.22.

    Relevance:  All.

 5. Problem:    CQ56950 CQ56914 - When speed is set to 1G on SFP+ device, link may
                fail to come up and system may hang due to incorrect
                initialization of the XGXS mode in the NIG.

    Change:     Fix typo.

    Introduced: 7.0.18

    Relevance:  57712+8727 and 57711+87x6

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

 1. Request:    CQ56937 - Expose Advanced Properties AutogrEEEn support to specific BCM57800 devices.

    Relevance:  BCM57800 inf.

 2. Request:    CQ56964 - Hide wol_cap configuration.
                WOL capabilities are now configured in the Ndis miniport's property page via
                *WakeOnMagicPacket and *WakeOnPattern keywords..

    Relevance:  Devices supporting WoL.

Version 7.0.23 (July 11, 2011)
==============================
Internal FW: 7.0.24

 Fixes
 -----
 1. Problem:    84833 PHY link does not come up. The extra PHY write to
                the auto-neg register is bringing the PHY to auto-neg
                failure, resulting in constant retry.

    Change:     Remove the extra write to this register when auto-neg is
                enabled.

    Introduced: Day one.

    Relevance:  84833 PHY only.

 2. Problem:    CQ56462 - Unable to get link on both ports on several systems.

    Change:     Initialize warpcore twice in succession.

    Introduced: 7.0.9

    Relevance:  578xx

 3. Problem:    84833 link still comes up at 10G even when configured to
                be forced 100.

    Change:     Disable 10G advertisement.

    Introduced: Day one.

    Relevance:  84833 PHY only, may affect 84823.

 4. Problem:    CQ56822 - BSOD 0x3B Occurs when Launching BACS4 Application.

    Change:     Remove redundant assert when link is down.

    Introduced: eVBD 7.0.22

    Relevance:  BACS4.

 5. Problem:    CQ56812 57800: BSOD during shutdown in Npar mode.

    Change:     Added support for 57800 NPAR mode during nig reset.

    Introduced: VBD version 7.0.0.

    Relevance:  57800 Npar mode.

 6. Problem:    CQ56526 - eVBD BACS4 BCM57810 Loopback test failed on both 1Gb ports.

    Change:     Moved loopback logics from bxdiag driver to eVBD.

    Introduced: BCM578xx.

    Relevance:  BCM578xx 1G ports.

 7. Problem:    Low performance in TOE TX traffic with small IOs due to wrong
                update of TOE dynamic host coalescing values.

    Change:     Firmware fix to update values correctly.

    Introduced: VBD version 7.0.20 (Firmware version 7.0.21).

    Relevance:  All.

 8. Problem:    CQ54951 - Error Recovery VMQ: BSOD during system bootup (after error recovery attempt failed).

    Change:     On driver load clear attention used by error recovery.

    Introduced: VBD version 7.0.3.

    Relevance:  Soft reset after error recovery attempt failed.




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

 1. Request:
       CQ56777 - Add 4part-ID Support in INF for OEM specific designs.

    Change:
       As requested.

Version 7.0.22 (July 07, 2011)
==============================
Internal FW: 7.0.23

 Fixes
 -----

 1. Problem:    CQ56780 BSOD when install/upgrade driver.

    Change:     Fix new flow in iscsi resource allocation on offload.

    Introduced: VBD version 7.0.21.

    Relevance:  iSCSI.


Version 7.0.21 (July 06, 2011)
==============================
Internal FW: 7.0.23

 Fixes
 -----

 1. Problem:    CQ56493 - BCM57800 adapter in Windows 2008 R2 has FCoE and iSCSI functions enumerated under 1GigE port.

    Change:     Change INF not to enumerate iSCSI and FCoE.

    Introduced: All versions.

    Relevance:  BCM57800 1GigE ports evaluation boards.

 2. Problem:    CQ56565 - eVBD fails ChkINF test.

    Change:     Fix 20gb speed string.

    Introduced: All versions.

    Relevance:  BCM57840 devices.

 3. Problem:    When DAC (Direct Attached Cable) is used, there's not actual
                link down event on the far side since transmitter output is not
                disabled.

    Change:     Disable transmitter output when link is disabled. The same
                change in MFW (since v7.0.20) will cause link to stay down
                using earlier version of this software (CQ56652). This version
                and after fixes it.

    Introduced: Day one.

    Relevance:  57712+8727.

 4. Problem:    Basic FCoE over NIV is not working when there is
                inner VLAN on packet.

    Change:     Fixed the flow in NIV mode to change a zero inner VLAN
                vid to the NIV default VLAN.

    Introduced: VBD version 7.0.20 (Firmware version 7.0.21).

    Relevance:  BCM57712 and BCM578xx, only with NIV and packets with inner VLAN.

 5. Problem:    (iSCSI) CQ54938 - BSOD when running stress test against an
                Equalogic target, while issuing RESET_LUN commands.

    Change:     Change of activity counter management in firmware cleanup flow.

    Introduced: VBD version 7.0.0 (Firmware version 7.0.0).

    Relevance:  All.

 6. Problem:    CQ56470 - 57810 BSOD while running error recovery script.

    Change:     Support error recovery flow for 578xx.

    Introduced: VBD version 7.0.0 (Firmware version 7.0.0).

    Relevance:  578xx during error recovery flow.

 7. Problem:    BSOD while running error recovery script during FCOE traffic.

    Change:     VBD now aborts tx packets before requesting FCOE miniport to stop chip access.

    Introduced: VBD version 7.0.3.

    Relevance:  Error recovery flow during FCOE traffic.

 8. Problem:    CQ56582 - BCM57810 may exhibit link down when connected to KR
                switch.

    Change:     Don't overwrite the value for other reg.

    Introduced: 7.0.20.

    Relevance:  578xx KR.

 9. Problem:    CQ56538 - DCBX: The PFC pause frames being sent have source MAC
                address of 00:00:00:00:00:00.

    Change:     Initialize source MAC address in the MAC

    Introduced: Day one.

    Relevance:  578xx.

10. Problem:    CQ54446 - Boot from SAN: EVBD driver crashed when system was being resumed from S4
                (paging deadlock).

    Change:     Driver now uses pre-allocated physical memory during connection
                offload instead of allocating memory in the offload operation.

    Introduced: Day one.

    Relevance:  Hibernation in BFS environment.

11. Problem:    Warning message: "MDC/MDIO access timeout" on the first driver
                load. This warning appears during the link reset sequence, but
                it has no significant meaning, since it occur prior to the
                first phy initialization command.

    Change:     Adjust AER and CL45 clock during link reset sequence

    Introduced: Day one.

    Relevance:  57712+8727

12. Problem:    CQ56736- inf of evbd Driver Does Not contain 4-part Support for Broadcom 57810s Device in NPAR Mode.

    Change:     Added missing NPAR device ids.

    Relevance:  578xx.

13. Problem:    Setting WOL patterns in NPAR-SD mode may enable function in nig too soon.

    Change:     Delay function enable until after nig is reset.

    Introduced: Day one.

    Relevance:  WOL in NPAR-SD mode.

14. Problem:    ETS may not work as expected when only one PG exists and there are
                both pause-able and non-pause-able priorities.

    Change:     Split the pause-able and non-pause-able priorities to two different COS.

    Introduced: VBD version 7.0.5.

15. Problem:    Error recovery state changed during error recovery flow causing unpredictable behavior.

    Change:     If another recoverable error occured during the error recovery process don't handle it, go to
                regular flow.

    Introduced: Version 7.0.3.

    Relevance:  Only during error recovery flows.

16. Problem:    Multiple priorities features does not coexist with DCB
                due to a wrong TX queue allocation scheme.

    Change:     Fix TX queue allocation scheme and DCB related firmware flows.

    Introduced: VBD Version 7.0.20 (Firmware version 7.0.19).

    Relevance:  57712/57810A0/57840A0, when multiple-priorities is activated
                together with DCB.

17. Problem:    CQ56189 - Link speed does not change in task manager when max
                bandwidth is changed in BACS for a specific PF.

    Change:     Make PMF indicate the link speed change to OS when its max
                bandwidth is changed.

    Introduced: eVBD 7.0.0

    Relevance:  NPAR mode only.

18. Problem:    CQ56434 - System crash after running IO and pulling cable.
                Occurs since TX pipe is stalled due to missed XON indication
                (from MAC did to NIG).

    Change:     Force XON on NIG on link down/up.

    Introduced: T7.0.

19. Problem:    CQ56605 VMQ: BSOD while running traffic and running reboot stress on VMs.

    Change:     Changed dpc to be affined to cpu so that when a dpc is scheduled from change-affinity
                flow it will run on the same cpu as if it is scheduled from an interrupt - which will
                assure that a DPC does not run in parallel on two different cpus.

    Introduced: VBD version 6.0.

    Relevance:  VMQ.



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

 1. Request:    Add AutogrEEEn support to 84833 and 54618SE (CQ56174) PHY.

    Relevance:  578xx.

 2. Request:    Support sharing of PFC configuration between functions
                on the same port.

    Relevance:  MF devices with DCB support.

 3. Request:    CQ56532 - Enable DCB on all 578xx 4 port devices.

 4. Request:    Add driver support to disaply in BACS for Line Speed in NPAR mode.


Version 7.0.20 (June 22, 2011)
==============================
Internal FW: 7.0.21

 Fixes
 -----

 1. Problem:    NC-SI traffic is not received by driver in promiscuous mode.

    Change:     Configure HW to send traffic to driver even if it should also
                be directed to MCP.

    Introduced: All versions.

    Relevance:  NC-SI + promiscuous mode only.

 2. Problem:    CQ56092 - W2k3-x64 F6 kit disk1 total file size is larger than a single floppy disk.

    Change:     Compress the .inf file to make it fit.

    Introduced: T7.0

    Relevance:  Windows F6 install procedure.

 3. Problem:    Need to update references from 54616 PHY to 54618SE.

    Change:     Updated references from 54616 PHY to 54618SE.

    Introduced: Day one

    Relevance:  No functional impact.

 4. Problem:    Need to update T0000G to enable AutogrEEEn by default.

    Change:     Updated T0000G to enable AutogrEEEn by default.

    Introduced: Day one.

    Relevance:  T0000G boards.

 5. Problem:    Driver loading problems on 4 port device with active MF mode.
                Problem occurs due to wrong calculation of mailbox function.

    Change:     In 4 port mode, change calculation of FUNC_MAILBOX_ID_PARAM to
                be: port_id + vnic_id*2.

    Introduced: Day one.

    Relevance:  4 port device (578xx) with active MF mode.

 6. Problem:    CQ55499 - Modify eVBD to allow Windows Affinity Policy functionality.

    Change:     Remove the hard code "AffinityPolicy" to "IrqPolicyAllProcessorsInMachine"
                for non RSS vectors.

    Introduced: Day one.

 7. Problem:    CQ56078 - VBD asserts on NPAR-SD VIF delete.

    Change:     Change parsing of SHMEM field when determining what VIF-SET
                operation occured.

    Introduced: T7.0.

    Relevance:  NPAR-SD mode only.

 8. Problem:    Storm clocks were not initialized properly in 578xx.

    Change:     Remove wrong clock initialization from init tool
                and move it to MCP.

    Introduced: VBD version 7.0.19 (Firmware version 7.0.20).

    Relevance:  BCM57800.
                Power-cycle of the device is needed in order to fix the
                Storm frequency, a regular driver update is not enough.

 9. Problem:    Possible race between writing event-ring element and
                updating the host-coalescing index.

    Change:     Fix the flow by sending host-coalescing index update
                only after the completion of the event-ring writing.

    Introduced: VBD version 7.0.17 (Firmware version 7.0.18).

    Relevance:  All.

10. Problem:    Basic FCoE over NIV was not working.

    Change:     Fixed the flow in NIV mode to add default vlan also
                when there is vlan with vid=0 on packet.

    Introduced: In all versions supporting NIV.

    Relevance:  BCM57712 and BCM578xx, only with NIV.

11. Problem:    CQ56031 - BSOD while running TOE TX traffic due to
                race in hardware blocks.

    Change:     Firmware workaround to avoid potential race.

    Introduced: VBD version 7.0.17 (Firmware version 7.0.18).

    Relevance:  All.

12. Problem:    Debug bus data was not collected properly on second engine.

    Change:     Disable close the gates before extracting grc dump.

    Introduced: 6.0.28.

    Relevance:  57712, 578xx.


Enhancements
------------
 1. Request:    CQ53961 - Remove 10Mbps from 84833 PHY. Honor PHY speed
                attributes for 10/100. If the driver is set up to advertise
                only 10M, no speed capability will be advertised. And
                no link will be established.

    Relevance:  84833 PHY based boards.

 2. Request:    Add definition for autogreen in eLink.

    Relevance:  84833 PHY and 54618SE PHY based boards.

 3. Request:    CQ54244 - Add operational DCB state to DCBX IOCTL read.

    Impact:     MFW 7.0.10 or newer is required.

 4. Request:    If PFC mismatch is detected PFC is disables .

 5. Request:    If Priority tagging mismatch is detected Priority tagging is disables.

 6. Request:    Honor BAM on KR NVRAM config for 578xx.

    Relevance:  578xx KR only.

 7. Request:    Added PFC statistic support for 578xx.

 8. Request:    CQ55991 (modified) - Change 57810S based customer friendly names in Windows 2k8 drivers.

 9. Request:    Add fan failure detection for 578xx-SFI

    Relevance:  578xx with fan mounted.

10. Request:    CQ56159 - Add AutoGrEEEn Advanced Driver option for BCM578x0-1G and BCM578x0 10gbaseT ports.

11. Request:    Support sending tx-only ramrod in slowpath

Version 7.0.19a (June 15, 2011)
==============================

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

 1. Request:    CQ55991 - Change 57810S based customer friendly names in Windows 2k8 drivers.

 2. Request:    CQ56090 - Add 57810S based customer friendly names to Windows 2k8 drivers


Version 7.0.19 (June 13, 2011)
==============================
Internal FW: 7.0.20

 Fixes
 -----

 1. Problem:    CQ55928 - Tx traffic stop in DCB update flow.

    Change:     (FW) Fix wrong address calculation in DCB update ramrod.

    Introduced: Version 7.0.14 (FW 7.0.16).

    Relevance:  BCM57712 and BCM578xx, only when DCB is enabled and FCOE is
                running.

 2. Problem:    No TX in Firmware WRR mode.

    Change:     (FW ETH) Fix CoS mapping to VOQs.

    Introduced: Version 6.4.0 (FW 6.4.0)

 3. Problem:    Possible firmware assert due to race in "fast-retransmit"
                and "slow-start" flows.

    Change:     Firmware workaround to avoid potential race.

    Introduced: Version 7.0.0 (FW 7.0.0).

    Relevance:  Toe.

 4. Problem:    CQ55598 - During fast retransmit, the TCP sequence is advanced
                by the size of the TCP data retransmitted.

    Change:     (FW iSCSI) Fix firmware to avoid update of in-order TCP
                sequence.

    Introduced: Version 7.0.14 (FW 7.0.16).

    Relevance:  iSCSI.

 5. Problem:    Chip may stop transmission after DCB update in NPAR-SD mode.

    Change:     (FW FCoE) Fix firmware calculation of transmission credit.

    Introduced: Version 7.0.0 (FW 7.0.0).

    Relevance:  FCoE, NPAR-SD mode.

 6. Problem:    CQ55321 (does not verify) missing 100MB speed capability.

    Change:     Add 100MB speed capability to inf.

    Introduced: Version 7.0.15.

    Relevance:  57840 ssid 1008.

 7. Problem:    CQ56186 NPAR pci_IDs for the 57800 are not present.

    Change:     Add pci ids to inf.

    Relevance:  57800 NPAR mode.


 Enhancements
 ------------
 1. Request:    Extend the ECORE_SPIN_LOCK_INIT() macro to accept a pdev. This
                is required for Solaris where spin_lock priority is adaptive
                and a driver handle contains the information needed for the
                spin_lock initialization.

 2. Request:    CQ56101 - Prevent FCoE client from enumerating in Win2k3.

    Impact:     Windows 2003 and earlier OS.

 3. Request:    Add elink_84833_hw_reset_phy function.

    Impact:     84833 PHY based boards.

 4. Request:    Added support for 2 queues on different CoSes in 57712 and 578xx A0.

 5. Request:    Performance improvements in order to resolve PCI bottleneck on
                short packet PPS test on multiple connections.

Version 7.0.18 (June 1, 2011)
==============================
 Fixes
 -----

 1. Problem:    Possible deadlock in error recovery flow.

    Change:     Use a dedicated system thread for error recovery flow.

    Introduced: Version 7.0.3.

    Relevance:  Only during error recovery attempt.

 2. Problem:    An assert may occur in DMAE module in error-recovery tests.

    Change:     Clean-up DMAE context if a transaction is aborted due to a HW reset.

    Introduced: Version 7.0.13.

    Relevance:  All.

 3. Problem:    NPAR-SD traffic is always transmitted with priority 0.

    Change:     Read default COS and allowed priorities from SHMEM.

    Introduced: Version 7.0.0.

    Relevance:  NPAR-SD mode only.

 Enhancements
 ------------
 1. Request:    Update PMD settings for 578xx SFI/XFI/DXGXS according to the
                new recommended values.

Version 7.0.17 (May 25, 2011)
==============================

 Fixes
 -----
 1. Problem:
       CQ55690 NPAR: iscsi / fcoe devices show Zero mac address in Npar mode.

    Cause:
       Driver looked at wrong parameter when determing where to read mac addresses
       from.

    Fix:
       Fixed driver code to look at correct parameter.

    Impact:
       Introduced in version 7.0.16, affect iscsi/fcoe devices in multifunction mode.

 2. Problem:
       BSOD may occur when loading the first function on a port.

    Cause:
       BMAC was reset after the NIG-to-BRB channel was open and before the FW was
       initialized. This caused a parity error in TCM.

    Fix:
       Reset BMAC before opening NIG-to-BRB channel.

    Impact:
       Exists in all T7.0 versions.

 3. Problem:
       CQ55127 BSOD when unloading a miniport in NPAR/NPAR-SD mode during traffic

    Cause:
       Driver unload flow in NPAR/NPAR-SD mode left the HW in a state that allowed
       packets to be directed to the unloaded PF.

    Fix:
       Clear the appropriate register so that packets to the unloaded PF will be
       marked as "classification failed" by HW.

    Impact:
       Exists in all T7.0 versions. NPAR/NPAR-SD mode only.

 4. Problem:
       Possible no link on 578xx SFP+.

    Cause:
       Failed reading from SFP+ module EEPROM due to I2C register not returning
       acknowledge over successful operation.

    Change:
       Add work-around of up to 3 retries in case read from I2C failed.

    Impact:
       578xx SFI

 5. Problem:
       BSOD when loading a driver on PF > 6 in NPAR-SD mode.

    Cause:
       Driver did not initialize vnics_per_port in NPAR-SD mode.

    Fix:
       Initialize vnics_per_port in NPAR-SD mode.

    Impact:
       exists in all T7.0 versions, NPAR-SD mode only.


 6. Problem:
       Driver may load in NPAR-SD mode even if SHMEM config is only
       partially valid for NPAR-SD mode (e.g because of missing NVRAM
       images etc...).

    Cause:
       Driver did not fully validate SHMEM info.

    Fix:
       Validate SHMEM info and fall back to SF mode if needed.

    Impact:
       NPAR-SD mode only, exposed by invalid NVRAM configuration.


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

 1. Request:
       Add the ability to switch settings from one speed to another in
       the Warpcore without having to unload the driver.

    Change:
       Add a routine to restore the Warpcore register settings back to
       default. The routine is called before configuring the Warpcore to
       the desired speed settings.

    Impact:
       578xx only.

 2. Request:
       Separate OOO related code on the compilation level in the ecore_sp.

    Change:
       As requested.

 3. Request:
       Performance enhancement - Reduce number of pcie transactions in high PPS rate scenarios.

    Change:
       Changing Status block DMA to host to be read from RAM instead of 3 IMM DMA's. This reduces the number of transactions
       on PCI and resolves with faster replenishment of PCI credits, since we reduced the number of read modify write transaction on host cash lines.

    Impact:
       None.

 4. Request:
       Support dcb disabled ramrod.

    Change:
       Changing start dcb ramrod to accept dcb disabled flag. Changing all offloaded protocols to restore priority and cos when dcb is disabled.

    Impact:
       None.

 5. Request:
       Add a global per-port statistics counter for RX drops, which should be used for debugging purposes.

    Change:
       Add packet_drop field to tstorm_per_port_stats.

    Impact:
       None.

 6. Request:
       Insure that the connection not in the CFC after terminate ramrod.

    Change:
       Add CDU request to remove the connection in the terminate ramrod.

    Impact:
       None.


Version 7.0.16 (May 18, 2011)
==============================

Fixes
-----

 1. Problem:
       Incorrect mac addresses set when mf mode is set to MF Allowed in
       nvram configuration, but multi function configuration hasn't been set.

    Cause:
       Mac address was read before we fully determined which mf mode we are in.

    Fix:
       Fix flow so that mac address is read only after we determine which mode we are in.

    Impact:
       Mf mode set to MF Allowed (nvm cfg 73=0) with no multi function configuration set.

 2. Problem:
       CQ55577: 57800 - BSOD when passing traffic from shared drives (FCOE).

    Cause:
       Driver allocated too many pages for eq chain. More than fw limit. This caused
       an array overflow in the FCOE FW causing the FW to write a completion to an address
       of a different function.

    Fix:
       Make sure number of pages allocated is less than FW limit.

    Impact:
       57800 only when all ports are loaded.


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

 1. Request:
       CQ55306 Add 4part-ID Support in INF for OEM specific designs.

    Change:
       As requested.


Version 7.0.15 (May 12, 2011)
==============================

Fixes
-----

 1. Problem:
       CQ54420 - Driver BSOD while running zone re-config test.

    Cause:
       Using a memory after it was already freed.

    Fix:
       Keep memory value before freed.

    Impact:
       FCoE flows only (while terminate a connection) T6.4. fixed in eVBD 6.4.35

 2. Problem:
       Wrong link LED when speed lower than 10G on 578xx devices

    Cause:
       Incorrect LED mode setting

    Change:
       Set correct LED mode setting

 3. Problem:
       TCM, DMAE, PBF, TIMERS, XCM, DMAE parity errors were ignored, while
       still asserting the "close the gates" bit.

    Cause:
       The appropriate bits were not checked when checking for parity errors.

    Fix:
       Added the missing bits handling to the parity recovery code.

    Impact:
       Introduced in version 7.0.13.

 4. Problem:
       Hardware attention occurs after 256 DCBX updates.

    Cause:
       Firmware doesn't read DCBX info because of DCB version wraparound.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.0.

 5. Problem:
       Packets are transmitted with wrong NIV header.

    Cause:
       Firmware doesn't read NIV info because of NIV version wraparound.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.0.

 7. Problem:
       Chip may crush during firmware statistics collection.

    Cause:
       Firmware may assert due to erroneous condition.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.16.

 8. Problem:
       FCoE packets are transmitted with wrong NIV header.

    Cause:
       Firmware updated NIV configuration only in DCBX mode.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.0.

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

 1. Request:
       Don't use atomic operations in ecore_sp unless needed.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Don't add vlan tag 0 and priority 0 to outgoing packets with no vlan when DCB is enabled.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       CQ55321 Add 4part-ID Support in INF for OEM specific designs

    Change:
       As requested.

Version 7.0.14 (May 4, 2011)
==============================

 Fixes
 -----
 1. Problem:
       MDC/MDIO access to Warpcore registers may fail with low
       probability.

    Cause:
       Warpcore PCB controller may get stuck without having MDC free
       running in the system.

    Fix:
       Add work-around for 578xx-A0 by adding another write to the
       MDIO bus after each MDC access to the Warpcore. This will be
       fixed in HW for 578xx-B0.

    Impact:
       578xx.

 2. Problem:
       (CQ49132) Link seen as up when cable(mostly fiber) is not fully
       connected.

    Cause:
       In this scenario, the physical link is up, while error are
       detected on the MAC layer.

    Fix:
       Add periodic check for LSS errors on the MAC layer, since
       they don't provide indication by interrupt.

    Impact:
       Currently only 57712.
       Note that this fix will not discover a case where one of two
       wires of fiber cable is plugged out.

 3. Problem:
       CQ54625 - BSOD during FCOE boot with VMQ enabled on system with 64 cpus.

    Cause:
       Bug in driver flow that configures affinity for a VMQ.

    Fix:
       Fixed driver flow.

    Impact:
       Introduced in version T6.0 Affects only systems with 64 cpus or more.

 4. Problem:
       Possible hardware deadlock may cause crush under traffic stress (theoretical bug).

    Cause:
       Deadlock in hardware buffer allocation mechanism (FW).

    Fix:
       Change hardware block configuration.

    Impact:
       Exists in all previous versions.

 5. Problem:
       In case of VLAN removal of a first small packet in RSC aggregation, driver may access uninitialized address.

    Cause:
       Firmware places a corrupted RX completion element in this case.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0.

 6. Problem:
       (FCOE) CQ54302 Task SP-RAM address is not updated during task evacuation to host (with sleep).

    Cause:
       Task SP-RAM address is not updated and the thread uses wrong SP-RAM address.

    Fix:
       Update SP-RAM address when evacuating a task during FP and MP.

    Impact:
       Introduced in firmware 6.4.0.

 7. Problem:
       (FCOE) CQ53330 - BSOD on graceful shut down.

    Cause:
       The firmware doesn't read appropriately from the driver the PBEs of KCQEs.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0. Affects 57810/57840 on 4-port mode only. Does not affect 57710/57711/57712.

 8. Problem:
       (TOE) Loss of traffic while transmitting large number of packets with very small mss.

    Cause:
       Wrong calculation of bytes sent.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.0.

 9. Problem:
       (CQ54552) System breaks once link is up after PMF migration
       when speed is 1G.

    Cause:
       Missing synchronization flag between PMF and non-PMF which
       indicate the XGXS type, led to incorrect initialization once
       link is up after PMF migration.

    Fix:
       Initialize this flag during synchronization

    Impact:
       Exists since day 1

 10. Problem:
       Over-current message displays with port0 instead of port1 on
       57712 SFP+ devices.

    Cause:
       57712 port enumeration is per path

    Fix:
       Set the correct port number of the over-current display message
       according to the device type.

    Impact:
       57712 with SFP+ boards.

 11. Problem
       Internal information saved by the driver to a Windows memory dump on BSOD contains a
       meaningless MCP trace.

    Cause:
       MCP trace contained trace of operations that occurred while saving the memory dump
       instead of what happened at the time of the crash.

    Fix:
       Save MCP trace before starting the memory dump.

    Impact:
       Exists in all versions that support saving driver information on BSOD.

 12. Problem:
       FCoE and iSCSI miniports not enumerated in NPAR-SD mode

    Cause:
       driver reads the protocols to enumerate from wrong SHMEM offset

    Fix:
       read the protocols to enumerate from the correct SHMEM offset in NPAR-SD mode

    Impact:
       NPAR-SD mode only, exists in all previous versions.

 13. Problem:
       Memory leak when running with driver verifier during VBD disable.

    Cause:
       Driver didn't delete all resources properly.

    Fix:
       Fixed flow.

    Impact:
       Introduced in 7.0.12.

 14. Problem:
       CQ55219 - Running Continuous evbd Driver Load/Unload Test Scenario Results in BSOD.

    Cause:
       Driver didn't use locking in some places that it should have.

    Fix:
       Add locking of critical sections.

    Impact:
       Introduced in 7.0.12.


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

 1. Request:
       CQ54793 - Add BACS/BMAPI interface for Virtual FCoE WWPN/WWNN

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Add default TX PMD settings (de-emphasis) for 578xx.

    Change:
       Set the TX settings per PMD type (SFI/XFI/DXGXS/KR) according
       to DVT measurements to achieve optimal link.

    Impact:
       578xx.

 3. Request:
      When driver is loaded, write LM version string to appropriate offset
      in the scratchpad (according to value written in ncsi_oem_data_addr field
      in shmem2).

    Change:
      If driver loaded is first one in the chip (according to response from MCP)
      then copy version string as required.

 4. Request:
      Remove zeroing of FW internal memories as it is done by init tool.

    Change:
      As requested.


 5.  Request:
        Add over-current check for 578xx

     Change:
        As requested

     Impact:
        578xx



Version 7.0.13 (April 13, 2011)
==============================

Fixes
-----

 1. Problem:
       CQ54270 - DRIVER_POWER_STATE_FAILURE (9f) on coming out of hibernation.

    Cause:
       Pageable code was called in the FCOE miniport powerup path.

    Fix:
       The pageable code was moved to the FCOE miniport bind stage.

    Impact:
       Introduced in eVBD 6.0.24.

 2. Problem:
       Incorrect SFP+ module power setting

    Cause:
       Value was swapped

    Change:
       Reverse value to fit board scheme

    Impact:
       578xx SFP+ when nvm cfg #160 is set

 3. Request:
       Remove initial DCBX configuration.

    Change:
       As requested.

    Impact:
       Only DCBX auto detected is supported. MFW 7.0.7 or newer is required.

 4. Problem:
       Error recovery process caused a interrupt status in PXP2.

    Cause:
       Read only register PXP2_REG_RQ_CFG_DONE was written to.

    Fix:
       Don't write to read only register (writing to PXP2_REG_RQ_RBC_DONE is enough).

    Impact:
       Only during error recovery attempt.

 5. Problem:
       CQ54250, CQ54294, CQ54298, 54396: BSOD During forced HW attention.

    Cause:
       QM was reset before PXP causing 'close the gates' to be de-activated shortly
       before resetting PXP, PSWRQ sends a write request to PGLUE, PXP is reset,
       PGLUE tries to read the payload data from PSWWR, but PSWWR does not respond.
       The write queue in PGLUE will be stuck, dmae commands will not return.

    Fix:
       Change reset order of PXP and QM blocks so that PXP is reset before QM.

    Impact:
       During error recovery flow of QM attention only.

 6. Problem:
       (CQ51066) Link status in port mailbox indicates AUTONEG is disabled and no
       Serdes.

    Cause:
       Link status was zeroed during link down state.

    Change:
       Set AUTONEG and SERDES indications when needed .

 7. Problem:
       CQ54433  Error recovery: BSOD during forced HW attention.

    Cause:
       TX packets were sent before recovery completed and FW was ready to
       accept new packets.

    Fix:
       Block tx packets until recovery has fully completed.

    Impact:
       Only during error recovery attempt.

 8. Problem:
       When accept all TX packets is enabled (all TX packets are duplicated to both the physical and loopback ports),
       LSO traffic throughput is less than expected.

    Cause:
       Firmware accounted duplicated LSO (and also some non-LSO) packets twice in the rate shaping algorithm,
       instead of only once.

    Fix:
       Fixed relevant firmware rate shaping bytes calculation for duplicated TX packets.

    Impact:
       Introduced in firmware 6.4.0.

 9. Problem:
       PF FLR while VFs are running may cause system to get stuck.

    Cause:
       If VF FLR happens after PF is down, the VF may try to send an event message to the PF by mistake.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.0.

10. Problem:
       When RSC is enable, tcp packets with erroneous length might add wrong bytes to packet.

    Cause:
       Firmware didn't verify the packet length is equal Ethernet header + IP total length.

    Fix:
       Added the required verification.

    Impact:
       Introduced in firmware 6.4.0.

11. Problem:
       BSOD while installing FCoE device on physical port 1.

    Cause:
       Wrong cos allocation.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.0. Affects 57810/57840. Does not affect 57710/57711/57712.


12. Problem:
       Chip hangs upon arrival of iSCSI packet with split digest.

    Cause:
       Firmware sends erroneous hardware read command.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 7.0.0.

13. Problem:
       CQ54471,CQ54250 Error Recovery: BSOD after generating timely HW attention.

    Cause:
       Bug in internal slowpath completion flow.

    Fix:
       Fix bug in completion flow.

    Impact:
       During error recovery attempt only.


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

 1. Request:
       Rewrite DMA Engine handling.

    Change:
       As requested.

    Impact:
       As requested.

 2. Request:
       Add 1G support for XFI serdes network interface type of Warpcore

    Change:
       As requested

    Impact:
       578xx - XFI

 3. Request:
       Add preliminary support for E3+84833 to pass extlb_test. Caveat that both
       drivers must be loaded at this time to function correctly.

    Change:
       As requested.

    Impact:
       As requested.

Version 7.0.12 (March 31, 2011)
=================================

Fixes
-----

 1. Problem:
       CQ51905 VMQ: System BSODs when running load/unload eVBD while running traffic on VM.

    Cause:
       Changing VMQ affinity scheduled the wrong dpc with the wrong message, causing the DPC
       of a different queue not to run if it tried scheduling the DPC at the same time and then not
       handle the interrupts for that queue.

    Fix:
       Schedule the correct DPC.

    Impact:
       Introduced in version T6.0.

 2. Problem:
       Link may not come up after SFP+ module plug in on BCM8726 based boards

    Cause:
       Module detection was not triggered by module insertion, which may lead to
       incorrect setting of EDC mode
       GPIO3 was not set as input to enable receiving module plug-in/out interrupt

    Change:
       Initialize AEU before collecting the group of signals in charge for
       generating interrupts. In addition, set GPIO3 to input to allow receiving
       module plug-in/out interrupts

    Impact:
       BCM8726 based boards
       Introduced in 5.2.50

 3. Problem:
       Changing bandwidth allocation parameters through BACS may fail even for valid values.

    Cause:
       Invalid validation of bandwidth allocation parameters by VBD.

    Fix:
       Fix parameter validation.

    Impact:
       Introduced in VBD 6.4.13, NPAR mode only.

 4. Problem:
       CQ54085 - EVBD breaks with checked version on 57711 in Win2k3

    Cause:
       A bug in RSS update flow with RSS version 1 ,when spreading
       the processors between the different function.

    Fix:
       Fixed the bug.

    Impact:
       Introduced in VBD 6.4.0.

 5. Problem:
       CQ53853 - NDIStest 6.0 2c_offloadchecksum fails

    Cause:
       FW fixed a problem that caused checksum to be reported as OK for certain packets even when it wasn't validated.

    Fix:
       Imitate previous FW behavior until checksum calculation is implemented in VBD for packets that FW did not validate

    Impact:
       Introduced in FW 6.4.15

 6. Problem:
       (CQ52000 & CQ51697 Cont.) XAUI short detection mechanism only applies to
       10G.

    Fix:
       Remove 1G XAUI short detection.

    Impact:
       8727 and 8706 PHYs.

 7. Problem:
       Fairness issue between functions 0, 1 and functions 2,3 on 57840 4x10G.

    Cause:
       BRB threshold registers weren't initialized properly.

    Fix:
       Use reset values of BRB threshold registers.

    Impact:
       57840 4P only.

 8. Problem:
       CQ53333 - Hyper-V: TX switching does not work in NPAR setting.

    Cause:
       Filtering rules were not set properly for non enlightened VMs.

    Fix:
       Flows fixed to support all types of hyper-V traffic flows.

    Impact:
       NPAR Tx switching of non enlightened VMs.

 9. Problem:
       CQ53347 - Data does not validate reported while running Chariot.

    Cause:
       In case of VLAN removal of a first packet in RSC aggregation, firmware
       may add padding bytes in the middle of the packet.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.25.

 10. Problem:
        CQ53523 - system stuck during load/unload under traffic.

    Cause:
        RX processor can get stuck in infinite loop when a set mac
        configuration is done during traffic.

    Fix:
       Fixed relevant firmware flow.

    Impact:
        Introduced in firmware 6.1.0.


Enhancements
------------
 1.  Request:
       (CQ52000 & CQ51697) Short on XAUI lanes on the MAC side of 8727 and 8706
       PHYs needs to generate link down event.

    Change:
       Tx fault detection has been added. In addition link qualification
       includes checking for Tx fault. The fault detection bit is read twice to
       clear any stale value.

    Impact:
       8727 and 8706 PHYs.

 2. Request:
       Support added for E3 + 84833B0 PHY firmware upgrade.

    Change:
       As requested.

    Impact:
       E3 + 84833B0 PHY combinations.

 3.  Request:
       CQ53761 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       Enable CL37 1G parallel detect

    Change:
       As requested.

    Impact:
       578xx KR.

 5. Request:
       Add MOD_ABS support for 578xx SFP+ modules

    Change:
       As requested.

    Impact:
       578xx

 6. Request:
       Invert OPTRXLOS signal on SFP/XFP interface for 578xx

    Change:
       As requested.

Version 7.0.11 (March 15, 2011)
=================================

Fixes
-----
 1. Problem:
       Setting multiple MAC addresses may cause a memory leak

    Cause:
       Failure to release some data if no set-MAC ramrod is sent

    Fix:
       Release the ramrod data if there is no need to send it

    Impact:
       Introduced in 6.4.26. Exposed by driver verifier only.

 2. Problem:
       CQ53338 - BACS3's MAC LoopBack diagnostic test fails intermittently

    Cause:
       PFC flow cleared the loopback mode unconditionally on 57712 boards

    Fix:
       Make PFC code take into account current loopback mode on 57712 boards

    Impact:
       Introduced with 57712 support in T6.2

 3. Problem:
       CQ53256 - VMQ: system breaks when trying to create a hyper-v virtual nic.

    Cause:
       eVBD mistakenly provides VMQ capability in non MSI-X environment.

    Change:
       Driver prevents reporting VMQ capability in non MSI-X environment.

    Impact:
       Introduced in version eVBD T6.x.

 4. Problem:
       CQ53444 - OIS Certs iSCSI Ping Test Fails.

    Cause:
       Mac filtering was overridden by last client loaded.

    Fix:
       Every client considers previous clients loaded.

    Impact:
       Introduced in T6.4 relevant for BCM57710/BCM57711.

 5. Problem:
       When machine goes to D3 and WoL is enabled, "Close the gate" error might happen
       and cause inconsistent behavior to the chip.

    Cause:
       Driver writes to a register which is less than 32 bits a value which has "ones" on unimplemented bits.

    Fix:
       Write "ones" only to the implemented bits.

    Impact:
       Introduced in eVBD 6.4.18

 6. Problem:
       CQ52772 - BCM NPAR specific configuration of bandwidth weight/maximum bandwidth Not Functional.

    Cause:
       MAX algorithm timer was set to smaller value then MIN algorithm. In some cases this may cause under-run on the line.

    Fix:
       Increase MAX algorithm timeout from 100usec to 400usec.

    Impact:
       Introduced in  eVBD 6.2.6.

 7. Problem:
       CQ50381 - BCM57712 WOL S5 does not work.
       CQ49175 - BCM57712 WOL S4 AUT fails to wake up from S4 via Interesting Packet (Magic Packet works).

    Cause:
       Implementation in driver and boot code was incorrect.

    Change:
       Fix the Implementation, including PF higher than 1.

    Impact:
       Introduced in version eVBD T6.2

 8. Problem:
       CQ51297 - BCM57712 WOL S5 System Unexpectedly Wakes Up from S5 State via Interesting Packets.

    Cause:
       Implementation in driver was incorrect.

    Change:
       Fix the Implementation.

    Impact:
       Introduced in version eVBD T6.2

 9. Problem:
       No fan failure notification when the fan failed and nvram option 83 is
       set to enabled.

    Cause:
       The fan failure worked only for specific external PHYs and not according
       to option 83.

    Change:
       Enable fan failure regardless of the PHY type if option 83 is set to
       enable.

    Impact:
       No fan failure notification unless the PHY is SFX7101, BCM8073, BCM8481,
       BCM84823 or BCM84833 - other PHYs or designs without external PHY will
       not report fan failures (but the FW will stop the PHY).

 10. Problem:
        CQ53454 - eVBD: VMQ with NPAR: driver assertion for packet smaller then 64B.

     Cause:
        Firmware was not padding packets placed on SGEs.

     Fix:
        Add packet padding to packets on SGEs.

     Impact:
        Only in VMQ on NPAR systems.

 11. Problem:
        CQ52245 (after "Does Not Verified") - E3 57810: NDISTest 6.0 2c_mini6rsssendrecv test fails.

    Cause:
        IPv6 addresses in hash string were built in a wrong register-order.

    Fix:
        Fixed relevant firmware flow.

    Impact:
        Introduced in 6.4.1. Affects 57712/57810/57840. Does not affect 57710/57711.

 12. Problem:
        Statistics of tx dropped packets may be incorrect (only in malicious VF flow).

    Cause:
        Firmware was not counting the dropped packets correctly in case there were no credits for the packet.

    Fix:
       Fixed relevant firmware flow.

    Impact:
        Introduced in 6.2.0. Affects 57712/57810/57840. Does not affect 57710/57711.

 13. Problem:
        CQ53303 and CQ52600 - Firmware doesn't support FLR on both ports in the same path simultaneously in 578xx.

    Cause:
        The Flr flow hold some variables only for the last port treated.

    Fix:
        Added an array to hold separate variables for each port.

    Impact:
        Introduced in 6.1.0, but should only affect 578xx.

 14. Problem:
        Fcoe doesn't identify function in NIV mode.

    Cause:
        FW use MAC classification.

    Fix:
        Classify function according to VIF ID.

    Impact:
        Introduced in 7.0.1.

 15. Problem:
        Everest hangs upon arrival of iSCSI packet with FIN flag set.

    Cause:
        Tstorm signals Ustorm to release same BRB block twice.

    Fix:
       Fixed relevant firmware flow.

    Impact:
        Introduced in 6.4.0.

 16. Problem:
        (iSCSI) on-chip TCP handshake transmitted TCP options with missing MSS and window-scale.

    Cause:
        timestamp padded with EOL instead of NOPs.

    Fix:
       Fixed relevant firmware flow.

    Impact:
        Introduced in 6.4.0.


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

 1. Request:
       Enhance EVBD to read FCOE FIP, WWPN and WWNN mac addresses from their
       updated location in shared memory, and report them to FCOE Miniport
       driver.

    Change:
       As requested.

    Ipmact:
       For FCoE, MFW 6.4.7 or newer is required.

 2. Request:
       EVBD doesn't change the application ID read from MFW.

    Change:
       As requested.

    Ipmact:
       For DCBX, MFW 7.0.3 or newer is required.


 3. Request:
       CQ50841 Add 4part-ID Support in INF for OEM specific designs.

    Change:
       As requested.

    Impact:
       As requested.

 4. Request:
       Add Support in INF for 57800 evaluation boards two have different
       advanced setting capabilities per port.

    Change:
       As requested.

    Impact:
       Requires updated nvm configuration for 57800 board
       included in lediag/ediag 7.0.3.

 5. Request:
       Add Support in INF for 57840 evaluation boards two have
       different advanced setting capabilities per flavor (2P or 4P).

    Change:
       As requested.

    Impact:
       Requires updated nvm configuration for 57840 board
       included in lediag/ediag 7.0.3.

 6.  Request:
        Honor GPIO configuration values on Tx laser control, on top of existing
        EPIOs.

    Change:
        As requested.

    Impact:
        578x0 SFP+ designs.

 7.  Request:
        Link support for Everest 57810 + 84833B0PHY.

     Change:
        As requested.

     Impact:
        Everest 57810 + 84833B0PHY combination can pass traffic for testing.

 8.  Request:
       CQ53632 - Add 1Gbps speed option to BCM57712 PNP ID.

    Change:
       As requested.

    Impact:
       iBoot for BCM957712A1213G.

 9. Request:
       CQ53450 - Add new BCM57712 device id's to the driver INF file.
       CQ53451 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 10. Request:
       CQ53604 Add new 57810S based device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 11. Request:
       Add SGMII support for a specific OEM design.

    Change:
       Clear signal detect and configure internal PHY before BCM54618SE
       establishes link.

    Impact:
       SGMII ports of 57800 only.

 12. Request:
       CQ53138 - NPAR BW Weight should be disabled if ETS is enabled.

    Change:
       As requested.

    Impact:
       None.

Version 7.0.10 (March 3, 2011)
=================================

Fixes
-----
 1. Problem:
       CQ52828 - bxnd60a!check_for_reset_done+e1; Assert is seen while deleting team

    Cause:
       eVBD does not send to FW existing MAC address but does not allow upper level recognize this state.

    Change:
       eVBD on set MAC address returns code allowing to process setting already existing MAC address.

    Impact:
       Introduced in version eVBD T6.4.

 2. Problem:
       CQ52894: System BSOD during shutdown.

    Cause:
       Delegated paramaters weren't read under reset.

    Fix:
       Read delegated paramaters just don't run sanity under reset.

    Impact:
       Introduced in version 6.4.19. (7.0.3) .

 3. Problem:
       Potential bug in MF mode when running load unload test on
       all the function and forcing link changes, PFC doesn't work.

    Cause:
       PFC state isn't passed between function when PMF migration
       occurs. If link changes the function that became PMF
       knows the PFC settings only if also DCBX settings has
       changed.

    Fix:
       Each function that becomes PMF will read the DCBX setting
       from chip regardless if the DCBX settings has changed.

    Impact:
       Introduced in release 6.4.0.

 4. Problem:
       Potential bug that can cause TX traffic to stop when running
       TOE disable enable stress test.

    Cause:
       A race in ramrod handling that involves DCBX ramrod.

    Fix:
       Solved the race in VBD.

    Impact:
       Introduced in release 6.4.0.

 5. Problem:
       (CQ51134) NC-SI functionality dependant on Port initialization
       Sequence

    Cause:
       During common init, the driver resets both BMACs such that if
       NCSI was enabled on the other port, it will stop working

    Change:
       BMAC will be reset during port initialization only

    Impact:
       5771x with NCSI enabled

 6. Problem:
       CQ53322 and CQ53368 - assert while running load/unload with
       driver verifier enabled.

    Cause:
       Bug in setting DPC affinity (corner case).

    Fix:
       Solved the bug.

    Impact:
       Introduced in version eVBD T6.4.26 , only when MSIX is disabled.

 7. Problem:
       (FW ETH)CQ52245 - NDISTest 6.0 2c_mini6rsssendrecv test fails.

    Cause:
       For first IP fragment of a TCP packet, the firmware was
       calculating 4-tuple RSS instead of 2-tuple RSS.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.1. BCM57712/57810/57840 only.


 8. Problem:
       (FW ETH)Coalesced packets might arrived after TPA disable, and might cause system
       crash. In addition, RSS connections might receive coalesced packets before
       TPA enable ramrod is completed.

    Cause:
       Firmware didn't refreshed the configuration after TPA disable for
       packets which arrived while the ramrod took place.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.7.

 9. Problem:
       (FW ETH)Coalesced packets might arrived after client deactivate and in
       some cases the system might crash.

    Cause:
       Firmware didn't closed aggregation after client deactivate.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 5.3.20.

 10. Problem:
       (FW ISCSI)CQ52834 - iSCSI connection/login issues in DCBX environment.

    Cause:
       Erroneous context override by firmware.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous versions that supports DCBX.


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

 1. Request:
       CQ50501 - Add new BCM57711 device id's to the driver INF file.
       CQ52559 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Update lm_idle_chk(): some errors were changed to error_no_traffic
       (error incase of no traffic only).

    Change:
       As requested.

 3. Request:
       CQ50840 - (part of CQ) Add new BCM57810 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       Support multiple TX connections for each TSS, each on different CoS.

    Change:
       As requested.

    Impact:
       Supported only at BCM587xx B0.

 5. Request:
       Add initial support for 1G over fiber

    Change:
       As requested.

    Impact:
       578xx fiber

 6. Request:
       CQ#50798 - Add support for BCM8722

    Change:
       As requested.

Version 7.0.9 (February  24, 2011)
=================================

Fixes
-----
 1. Problem:
       Theoretical bug eVBD low performance.

    Cause:
       Theoretical race that can lead to a situation where a RSS chain
       is work on wrong processor.

    Fix:
       Fix Theoretical race.

    Impact:
       Introduced in release 6.4.0, only when MSIX is disabled.

 2. Problem:
       CQ52984 - evbda!l2_send_packets+3f0 break during network stress test.

    Cause:
       eVBD RSS state was not initialized.

    Fix:
       Initialized eVBD RSS state to RSS disabled.

    Impact:
       Introduced in release 7.0.0.

 3. Problem:
       CQ53180 - 57710: BSOD during driver unload.

    Cause:
       Missing initializations to CM.

    Fix:
       Added missing initializations.

    Impact:
       Introduced in release 6.4.0 affects 57710 only.

 4. Problem:
       VBD assert on driver unload when multiple MAC addresses are set

    Cause:
       wrong error code returned when deleting more than a single MAC address

    Fix:
       return the correct error code

    Impact:
       introduced in T6.4

Enhancements
------------
 1. Request:
       Translate 10G-Force KR and 1G-Force KR to autoneg with advertisement of
       10G and 1G in accordance

    Change:
       As requested.

    Impact:
       578xx KR interface

 2. Request:
       Support NVRAM configuration of EPIO assignment on Tx laser control.

    Change:
       As requested.

    Impact:
       578xx SFP+ interface, existing boards with this parameter
       unconfigured should still work using hardcoded default EPIO.

Version 7.0.8 (Feb  21, 2011)
=================================

Fixes
-----
 1. Problem:
      (CQ52417), (CQ52845) Flow control doesn't work for 20G

    Cause:
       Flow control wasn't enabled for 20G

    Change:
       Set flow control on 20G according to settings

    Impact:
       57840 20G

 2. Problem:
       10G-KR doesn't link up on an OEM design.

    Cause:
       CL72 should not be disabled in KR environment.

    Change:
       Removed codes that disables CL72.

    Impact:
       578xx 10G-KR

 3. Problem:
       CQ52023 - Chip hangs due to hardware attention.

    Cause:
       Traffic type to priority/COS table was reset after link down by
       driver causing transmission on the wrong COS.

    Fix:
       Removing the table in RAM from HSI section.

    Impact:
       Introduced in firmware version 6.4.0.

 4. Problem:
       System may crash when configuring some RX rings with TPA
       enabled and some with TPA disabled.

    Cause:
       Firmware tries to do TPA also for the non-TPA clients.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.15, BCM57710/57711/57711E only.

 5. Problem:
       System crash under TCP traffic when driver is toggling TPA.

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.7.

 6. Problem:
       Firmware aggregated packets with wrong checksum.

    Cause:
       Firmware didn't check checksum as a requirement for aggregation.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 7. Problem:
       (TOE) CQ51832 - Hardware attention when working in NPAR mode and there
       is COS modifications by DCBX.

    Cause:
       DCBX update got lost due to firmware bug when working in NPAR mode.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.12.

 8. Problem:
      System locks up after loading driver on 1Gb copper ports

    Cause:
      Incorrect interrupt acknowledge when link change occurs lead to interrupt
      storm

    Change:
      Acknowledge the interrupt correctly on 1G ports

    Impact:
      578xx with 2x1G and 2x10 port
      Introduced in 7.0.6

 9. Problem:
       When resetting/disabling link in 578xx boards output for TX PAUSE
       signal to the MAC is not disabled.

    Cause:
       Relevant register in the NIG is not cleared when link is disabled.

    Fix:
       Set value to 0 in that register if link is disabled.

    Impact:
       578xx boards.

10. Problem:
       BCM57712 intermittently fails to link up after resuming from S4 power state.

    Cause:
       Locking mechanism for link initialization timed out.

    Fix:
       Increased the timeout of the phy lock.

    Impact:
       BCM57712 related. Already fixed in versoin 6.2.7 & 6.4.25 applying to 7.0 as well.

11. Problem:
       BCM578xx may misconfigure the link on some OEM designs.

    Cause:
       ELink determines 4-port mode strictly from the input pin, not from
       override register that MFW always configures.

    Fix:
       Changed to determine the 4-port mode by reading the override register.

    Impact:
       BCM578xx only.

12. Problem:
       Driver unload may halt under traffic fails.

    Cause:
       Incorrect order of disabling XMAC.

    Change:
       Close the XMAC RX path before issuing XMAC soft reset.

    Impact:
       578xx.

 13. Problem:
        CQ52927 - BSOD while running DVD install 2k8-SP2 AMD64 via L2 path.
        CQ52909 - BSOD while running 57712 benchmarks.
        CQ52855 - BSOD while running the NDISTest mpe_ethernet.
        CQ52796 - BSOD while running CNIC Stress in NPAR mode.
        CQ52967 - BSOD while running chariot ipv4/ipv6 and offload stress on both ports in

    Cause:
        Firmware lose packets synchronization during transmission (Xstorm Assert).

    Fix:
       Fixed relevant firmware flow.

    Impact:
        Introduced in firmware version 6.4.15, BCM57712 only.

 14. Problem:
        CQ52536 - Extra bytes might be added in the middle of the payload
        when a packet with padding after the TCP payload is received, while
        RSC is enabled.

    Cause:
        Firmware wrongly places padding bytes on RX SGEs.

    Fix:
        Fixed relevant firmware flow.

    Impact:
        Exist in all previous versions.
        The problem will be exposed only in very rare case in which a device
        on the network pads the Ethernet packet to longer than 72 bytes.

 15. Problem:
        RSC disable ramrod could cause the chip to halt.

    Cause:
        Firmware bug.

    Fix:
        Fixed relevant firmware flow.

    Impact:
        Introduced in firmware version 6.4.7, BCM57710/57711/57711E only.

 16. Problem:
        (TOE) CQ52721 - Driver assert on connection upload during context validation,
       in case a packet with timestamp was received, and the option was not
        negotiated during connection establishment.

    Cause:
       Firmware updated timestamp data, although it is disabled.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous versions.


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

 1. Request:
       Add to INF PNP Device ID's (synced with 6.2.16).
       Remove from INF BCM578xx devices.

    Change:
       As requested.

    Impact:
       As requested.

 2. Request:
       Added performance improvements to Ethernet transmit flows in BCM57711.

    Change:
       Firmware design and implementation optimizations.

    Impact:
       None.

 3. Request:
       CQ52000 Short on XAUI lines between Everest 2 and 8727 PHY needs to
       generate link down event.

    Change:
       Tx fault detection has been added. In addition link qualification
       includes checking for Tx fault.

    Impact:
       8727 PHY based boards.


 4. Request:
       Support duplicating CQEs to both VF and PF rings in RSC Update Ramrod.

    Change:
       As requested.

    Impact:
       None.

 5. Request:
       Support multiple concurrent classes of service in toe including
       3-cos-per-port mode and 6-cos-per-port bring up mode.

    Change:
       Per-connection configuration of Class of Service.

    Impact:
       Cannot work together with Tx-switching.

 6. Request:
       Support 4 port mode in TOE.

    Change:
       As requested.

    Impact:
       None.


Version 7.0.7 (Febuary 7, 2011)
=================================

Fixes
-----

 1. Problem:
       Memory Leak under Error recovery flow.

    Cause:
       Buffers used for error recovery flow weren't released properly.

    Fix:
       Release all allocated buffers.

    Impact:
       Introduced in VBD version 6.4.19 retail version.
       Occurs only if error recovery flow is initiated.

 2. Problem:
       CQ52366 - System BSODs when rebooted with FCoE client binded.

    Cause:
       FCoE FW reads from uninitialized UPB address which causes parity error.
       Parity error in checked version causes BSOD.

    Fix:
       Mask UPB parity error, which now won't cause BSOD until next FW release which
       will take care of accessing uninitialized memory.

    Impact:
       Introduced in 6.4.20.

 3.  Problem:
       Incorrect autoneg flow control resolution when using KR with
       autoneg speed.

     Cause:
       flow control resolution was ignored since autoneg was not
       considered to be completed.

     Change:
       Indicate autoneg to be completed

     Impact:
       BCM578xx
       Introduced in 7.0.5

 4. Problem:
       CQ52473 - Assert is seen while running BacsCLI automation on advanced driver properties.

    Cause:
       DMA engine access was not protected and caused multiple use from different flows.

    Change:
       Removed DMA engine use in the relevant flow.

    Impact:
       T6.2 BCM57712 mode load/unload flows when link is up.

 5. Problem:
       Potential wrong PHY initialization when loading the first function on a port,
       after another function from this port was unloaded.
       (CQ51091/CQ52178 Link loss on stress).

    Cause:
       In this case, the driver won't lock PHY access, which may cause MDC/MDIO collision.

    Change:
       Initialize the lock flag on the init driver stage, instead of the common and port init stage.

    Impact:
       T5.2a in MF mode (NPAR/Switch dependant) 8726 and 8727 (on top of the 8073) and any other MDC_MDIO design.
       Fixed in eVBD 6.2.14

 6. Problem: CQ#52051, CQ#52066, CQ#52291
       Several 20G speed related issues.

    Cause:
       Speed capabilites weren't configured properly for 578xx devices in inf file.

    Fix:
       Configure speed capabilities properly.

    Impact:
       578xx only.

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

 1. Request:
       Enhance error recovery flow to handle more parity errors and HW attentions (QM).

    Change:
       As requested

    Impact:
       None.

 2. Request:
       Restore basic VF test environment with current HSI.

    Change:
       As requested

    Impact:
       None.

Version 7.0.6 (January 31, 2011)
=================================

Fixes
-----

 1. Problem:
       CQ 52180 and 52192:The FCoE priority value for Tx traffic is not being
       configured correctly when adapter has non-default values configured via
       registry/GUI and  "willing" bit set fo all TLV.

    Cause:
       The eVBD wrote a wrong FCOE application ID to FW.

    Fix:
       The eVBD writes the right FCOE application ID to FW.

    Impact:
       Introduced in eVBD 6.4.15.


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

 1. Request:
       Add device ids for 57810/57840 B0 EMUL/FPGA.

    Change:
       As requested.

    Impact:
       578xx EMUL / FPGA



Version 7.0.5 (January 26, 2011)
=================================

Fixes
-----
 1. Problem:
       Link is sometimes not indicated to OS in NPAR-SD mode.

    Cause:
       Race between NPAR-SD and normal link status modification flows.

    Fix:
       Only change link status in NPAR-SD mode via NPAR-SD specific flow.

    Impact:
       Introduced in eVBD 6.4.15. NPAR-SD mode only.

 2. Problem:
       CQ52212 8073PHY intermittently exhibits signs of disconnected devices
       upon loading/unloading.

    Cause:
       Microcontroller and Driver both controlling Xaui Low Power Mode.

    Fix:
       Remove Driver control of Xaui Low Power Mode.

    Impact:
       8073 PHY based boards.

 3. Problem:
       CQ51624 PHY TXONOFF_PWRDN_DIS bit set to "1" instead of default 0 to
       prevent reset & power down of PHY.

    Cause:
       When GPIO controls TX Laser on 8727 and 8706, turning off laser will put
       PHY in low power mode.

    Fix:
       Set TXONOFF_PWRDN_DIS accordingly.

    Impact:
       8727PHY and 8706PHY based boards with TX laser controlled by GPIO_0.

 4. Problem:
      57800 GPHY port (SGMII) LEDs don't work.

    Cause:
      The LED setting routine is called only on 10G link.

    Change:
      Call the LED setting routine even for non-10G link.

    Impact:
      578xx


 5. Problem:
       L2 TX LSO Packets with LLC-SNAP header and in-band VLAN header
       are corrupted (BCM57710/BCM57711/BCM57711E).

    Cause:
       Firmware sends an illegal command, resulting with a corrupted header
       in such cases.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware release T4.4.

 6. Problem:
       Crash in TOE scenarios when RSS is enabled and working on physical
       port 1.

    Cause:
       Firmware bug in TOE RSS update flow.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 7.0.5.

 7. Problem:
       Chip hangs when running iSCSI IOs bigger than 32KBs.

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.


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

 1. Request:
       Preserve temperature input setting for PCIE and Warpcore
       Serdes equalization logic.

    Change:
       As requested, Warpcore initialization is now preserving
       that register value (no longer blindly overwrite it).

    Impact:
       578xx

 2. Request:
       Add autoneg parallel detect and pause support for 578xx KR

    Change:
       As requested

    Impact:
       578xx-KR


 3. Request:
       Added DCBX support in 578xx B0 boards.

    Change:
       As requested

    Impact:
       None.


Version 7.0.4 (January 18, 2011)
=================================

Fixes
-----
 1. Problem:
       578xx unable to link after unload-load sequence.

    Cause:
       Incomplete reset sequence

    Change:
       Fix reset sequence

    Impact:
       578xx

 2. Problem:
       CQ 57810: bxnd60a!set_nice_mac_addr+24f break during team deletion.

    Cause:
       Driver failed request to set the same mac twice.

    Fix:
       Driver recognizes that mac is set and returns success.

    Impact:
       Introduced in release T6.4.

 3. Problem:
       Chip halts when a packet with VLAN arrives, while working in
       NPAR-SD mode and the OS is in VMQ mode (BCM57712 only).

    Cause:
       Illegal command is sent by the firmware in such case.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.15.

 4. Problem:
       10G is blocked on boards that sets the KR enabler check even if the
       relevant GPIO is not set.

    Cause:
       Wrongly parsing the need to check if 10G should be blocked as blocked.

    Fix:
       10G is blocked only if the test is enabled and failing according to the
       relevant GPIO value.

    Impact:
       Introduced in 7.0.3.

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

 1. Request:
       Support multi-function and DCBX in 4 ports mode (BCM578xx).

    Change:
       As requested.

    Impact:
       None.



Version 7.0.3 (January 12, 2011)
=================================

Fixes
-----

 1. Problem:
       FLR after DCBX causes hardware attention.

    Cause:
       Firmware didn't update the physical queue info table at start.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exists in all previous releases that support DCBX.


 2. Problem:
       (ETH) L4 TX checksum offload for packets with IP header greater than
       64 bytes was written to wrong place on the packet.

    Cause:
       Firmware passed the wrong offset to hardware when IP header size
       is bigger than 64.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 3. Problem:
       Firmware might wrongly declare a VF as malicious.

    Cause:
       Firmware used a invalid buffer descriptor in security enforcement.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 4. Problem:
       Tx packets, in NPAR-SD mode, are sent with destination VIF value which
       is different than zero.

    Cause:
       Firmware set the destination VIF to be the same as the source VIF.

    Fix:
       Firmware now sets the destination VIF to 0 on each egress packet.

    Impact:
       Introduced in firmware version 6.4.15.

 5. Problem:
       In combined scenarios of L2 and Toe/iSCSI the chip might hang.

    Cause:
       The chip reached a deadlock when there is loopback traffic to both the L2
       and Toe/iSCSI connections while there is also traffic from the network port.

    Fix:
       Separate the reordering mechanism between the loopback and the network port.

    Impact:
       Exist in all previous versions.

 6. Problem:
       Firmware doesn't support FLR on both ports in the same path simultaneously
       at BCM578xx.

    Cause:
       FLR flow hold some variables for the last port treated.

    Fix:
       Added an array to hold separate variables for each port.

    Impact:
       Exist in all previous versions that supports BCM578xx.

 7. Problem:
       Firmware send DMA command with wrong PCI entity.

    Cause:
       Firmware calculated the PCI entity wrongly at Halt and TPA update ramrods.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.


 8. Problem:
       (FCoE) Firmware drop SRR accept packets.

    Cause:
       Middle path flow support only FCP_RSP and ELS packets.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Exist in all previous versions.

 9. Problem:
       (FCoE) REC_TOV timer doesn't expire after sequence cleanup.

    Cause:
       Firmware doesn't rearm REC_TOV timer after sequence cleanup.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Exist in all previous versions.

 10. Problem:
        (iSCSI) CQ50380 - iSCSI offload - Event viewer shows NOP events.

    Cause:
        TCP window was closed due to out-of-order state, and initiator
        failed to send a window update when exiting out-of-order state.

    Fix:
       Fixed relevant firmware flow.

    Impact:
        Introduced in release T6.0.

 11. Problem:
       Multi Function broken on Emulation/FPGA.

    Cause:
       Changes introduced to support more mf modes didn't
       take into account no MCP mode, which is what we have on emulation/FPGA.

    Fix:
       Initialize mf_mode in NO-MCP-Mode correctly.

    Impact:
       Emulation/FPGA only. Introduced in VBD 6.4.15.


 12. Problem:
       (iSCSI) Miscalculation of MSS during TCP handshake when timestamp exists.

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exists in all previous releases.

 13. Problem:
       (iSCSI) Valid NPAR-SD packets dropped in the iSCSI offloaded receive path.

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.14.


 14. Problem:
       (FCOE) Wrong data offset is being used during error recovery.

    Cause:
       The firmware reported the offset of the corrupted packet,
       instead of the last good packet.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exists in all previous releases that support error recovery.


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

 1. Request:
       Support rate limiting updates in NPAR-SD MF mode

    Change:
       As requested

    Impact:
       NPAR-SD mode only.

 2. Request:
       Update the format of NPAR-SD statistics to match the new structure in SHMEM

    Change:
       As requested

    Impact:
       NPAR-SD mode only.

 3. Request:
       Add count for coalesced aborts in the firmware.

    Change:

       As requested.

    Impact:
       None.

 4. Request:
       Support Error recovery for parity errors and device faults (Hw / Fw assertions)

    Change:
       Initial implementation for error recovery flows (process-kill) that
       can recognize and recover from certain HW / FW assertions, which until now resulted
       in BSOD.

    Impact:
       Enabled in retail version only.
       Enabled only for 57712.
       Assertions that until now caused a BSOD will in most cases be recoverable and result in a short connectivity loss.


 5. Request:
       Support SGMII with 54618SE GPHY for 57800.

    Change:
       As requested

    Impact:
       Devices 3 and 4 of 57800 and small Warpcore changes only.


 6. Request:
       Support 4-port mode in E3A0 and E3B0 with new QM configuration.

    Change:
       As requested.

    Impact:
       Multi-Function and DCBX are not functional when working in 4-port mode.


 7. Request:
       (FCOE) Re-arm REC_TOV timer after REC_TOV expiration.

    Change:
       As requested.

    Impact:
       None.



Version 7.0.2 (December 27, 2010)
=================================

Fixes
-----
 1. Problem:
       CQ51050 After disabling DCB, the standard flow control(pause) is not working.

    Cause:
       A HW block is not reset between bus driver unload and load, this
       block contains some PFC register configuration.

    Change:
       In bus driver load, initialize this register to pause configuration.

    Impact:
       Introduced in release T6.4, affects all chips.

 2. Problem:
       CQ51569 : iSCSI instances are not enumerating.

    Cause:
       missing pdo_flag in .inf file.

    Fix:
       added pdo_flag in .inf.

    Impact:
       57800, 57840 only.

 3. Problem:
       CQ51342: BSOD unloading vbd driver with verifier on.

    Cause:
       Memory leak: some new rt allocations were not freed.

    Fix:
       Make sure all rt allocations are freed.

    Impact:
       Introduced in release T6.4.

 4. Problem:
       BCM8727 Link LED not funtioning properly during BACS LED test.

    Cause:
       Not blinking correct link light.

    Impact:
       BCM57712 + BCM8727 based boards.

 5. Problem:
       CQ51134 - NCSI functionality dependant on Port initialization
       Sequence

    Cause:
       When the driver loads the first port, some PHYs require reset
       and loading their microcode on both ports. In case NCSI was
       enabled on the other port, the traffic was stopped since PHY
       was reset

    Change:
       Load PHY microcode during common init, only if the PHY
       microcode wasn't loaded.

    Impact:
       Requires bootcode 6.2.9 and above to resolve this problem
       PHY firmware upgrade will require reboot from now on

 6. Problem:
       CQ51367 - BCM84823/84833 activity LED blinks at lower rate on 10G
       link.

    Cause:
       The activity LED control registers are not configured right.

    Change:
       Enabled activity LED stretch_en bit. Made activity LED blink on
       source.

    Impact:
       BCM57712 + BCM84823/84833 based boards.

 7. Problem:
       Same MAC address is used for for iSCSI, FCoE and NDIS in NPAR-SD mode.

    Cause:
       FCoE and iSCSI MAC addresses were not read from SHMEM

    Fix:
       Read FCoE and iSCSI MAC addresses correctly also in NPAR-SD mode

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

 1. Request:
       Report various MF modes and FCoE MAC address in device info IOCTL.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
      CQ51710 - Disable CMS (common mode sense) feature in 84823 PHY, as
      this reduces power consumption and allows a better 10G link stability.

    Change:
      Clear the CMS bit in PHY register in PHY configuration routine.

    Impact:
      BCM84823B based boards

 3. Request:
       (CQ51889) Add Common Mode Sense (CMS) enable/disable
       functionality

    Change:
       Adding field 156 to nvm cfg, as well as support in eLink.

    Impact:
       NVM config and Common Mode Sense capable PHYs.

Version 7.0.1 (December 12, 2010)
=================================

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

 1. Request:
       Support 578xx B0 boards in driver initialization.

    Change:
       As requested.

    Impact:
       578xx B0 boards.

 2. Request:
       In the existence of DCBX, MinBW algorithm will be disabled.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       Bus driver enforces FCoE license.

    Change:
       As requested.

    Impact:
       FCoE PDO is enumerate only if the BCM57710/11/12 includes a FCoE license .

Version 7.0.0.2 (December 6, 2010)
==================================

Fixes
-----

 1. Problem:
       Driver load/unload failed in 4-port mode.

    Cause:
       Driver used incorrect fw client scheme.

    Fix:
       Allocate fw client correctly in 4-port mode.

    Impact:
       578xx only in 4-port-mode.


Version 7.0.0.1 (November 22, 2010)
==================================

Fixes
-----
 1. Problem:
       Multi function not working on 578xx.

    Cause:
       Driver code didn't take into account 578xx chip id in reading mf configuration.

    Fix:
       Take into account 578xx chip ids when reading mf configuration.

    Impact:
       578xx only.

 2. Problem:
       CQ51218 RSS Completion deadlock caused UM_reset in miniport to be called.

    Cause:
       L4 RCQ processing was suspended until all ramrod completions arrived including L2,
       but L2 ramrod was starved since L4 didn't handle other L4 ramrod completions.

    Fix:
       Driver fix: suspend l4 rcq processing only while L4 RSS ramrod hasn't completed.

    Impact:
       Introduced in T6.4, affects all chips.

 3. Problem:
       Warpcore microcode wasn't loaded as image from nvram.

    Cause:
       Non-clear loading sequence from the nvram forced loading
       microcode statically as temporary work-around.

    Change:
       Warpcore microcode will be loaded solely from the nvram by
       the bootcode.

    Impact:
       578xx
       Requires bootcode 7.0.0.0 /6.4.3 and above.


Version 6.4.40 (May 1, 2011)
===============================

Fixes
-----


 1. Problem:
       57712 device initialization may cause parity error (CQ54539 related).

    Cause:
       Initialization size defines were not correct.

    Fix:
       Corrected the values of the defines.

    Impact:
       BCM57710 and BCM57712, less likely to happen.

 2. Problem:
       Internal information saved by the driver to a Windows memory dump on BSOD contains a
       meaningless MCP trace.

    Cause:
       MCP trace contained trace of operations that occurred while saving the memory dump
       instead of what happened at the time of the crash.

    Fix:
       Save MCP trace before starting the memory dump.

    Impact:
       Exists in all versions that support saving driver information on BSOD. Exposed in T6.4 versions.


 3. Problem:
       (CQ54552) System breaks once link is up after PMF migration
       when speed is 1G.

    Cause:
       Missing synchronization flag between PMF and non-PMF which
       indicate the XGXS type, led to incorrect initialization once
       link is up after PMF migration.

    Fix:
       Initialize this flag during synchronization

    Impact:
       Exists since day 1

 4. Problem:
       Over-current message displays with port0 instead of port1 on
       57712 SFP+ devices.

    Cause:
       57712 port enumeration is per path

    Fix:
       Set the correct port number of the over-current display message
       according to the device type.

    Impact:
       57712 with SFP+ boards.

 5. Problem:
       On setups with NCSI, some packets are not received by the host (CQ55114).

    Cause:
       Unicast packets explicitly requested by the BMC such as ARP or
       specific VLAN are not forward to the host due to wrong filtering register value.

    Fix:
       Use correct filtering value to receive unicast packets both at the BMC and host.

    Impact:
       The problem is exposed when using NCSI 6.2.8 or MFW 6.4.10 or later with all VBD versions.



Version 6.4.39 (April 21, 2011)
===============================

Fixes
-----

 1. Problem:
       CQ54539 - Port does not start LLDP negotiation on reinsertion after a hot unplug.

    Cause:
       Driver accessed shared memory/registers set by mfw before mfw is ready.

    Fix:
       Fixed driver to verify mfw is ready before accessing shared memory/registers
       set by mfw

    Impact:
       Introduced in version T5.0, affects only hot plug scenarios.

 2. Problem:
       CQ54682 - BSOD when trying to access shared folder on network
       CQ54751 - BSOD when rebooting SUT after error recovery feature testing

    Cause:
       Default QG MSI-X affinity is in an inconsistent state which may lead to it being
       handled by 2 DPCs.

    Fix:
       Fix default QG affinity initialization

    Impact:
       Introduced in 6.4.37. VMQ mode only.

Version 6.4.38 (April 17, 2011)
===============================

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

 1. Request:
       CQ54793 - Add BACS/BMAPI interface for Virtual FCoE WWPN/WWNN

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       CQ54794 - Don't Enumerate FCoE PDO for specific device id (Undo CQ53268).

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       Don't add vlan tag 0 and priority 0 to outgoing packets with no vlan when DCB is enabled.

    Change:
       As requested.

    Impact:
       None.

Version 6.4.37 (April 13, 2011)
===============================

Fixes
-----

 1. Problem:
       CQ54625 - BSOD during FCOE boot with VMQ enabled on system with 64 cpus.

    Cause:
       Bug in driver flow that configures affinity for a VMQ.

    Fix:
       Fixed driver flow.

    Impact:
       Introduced in version T6.0 Affects only systems with 64 cpus or more.

 2. Problem:
       CQ54648 - Opening BACS cause an eVBD BSOD.

    Cause:
       VBD asserts when a non-PMF function tries to check if DCBX completion is received on a port as part of the GET_DCBX_PARAMS IOCTL.

    Fix:
       Fail the IOCTL for non-PMF devices.

    Impact:
       Introduced in eVBD 6.4.36

Version 6.4.36 (April 12, 2011)
===============================

Fixes
-----

 1. Problem:
       BSOD During forced HW attention.

    Cause:
       During error recovery OID_802_3_MULTICAST_LIST wasn't handled properly.

    Fix:
       Handle OID properly.

    Impact:
       Introduced in version 6.4.34, only during error recovery attempt.

 2. Problem:
       CQ54433 - Error recovery: BSOD during forced HW attention.

    Cause:
       TX packets were sent before recovery completed and FW was ready to
       accept new packets.

    Fix:
       Block tx packets until recovery has fully completed.

    Impact:
       Only during error recovery attempt.

 3. Problem:
       CQ54471, CQ54250 Error Recovery: BSOD after generating timely HW attention.

    Cause:
       Bug in internal slowpath completion flow.

    Fix:
       Fix bug in completion flow.

    Impact:
       During error recovery attempt only.

 4. Problem:
       CQ54495 - BSOD is observed while running reboot test on 57712.

    Cause:
       Synchronization issue in clear-multicast vs. add-multicast flow.

    Fix:
       Revert fix #6 from 6.4.34.

    Impact:
       Introduced in 6.4.34.

 5. Problem:
       CQ54302- Task SP-RAM address is not updated during task evacuation to host (with sleep). (FW FCOE)

    Cause:
       Task SP-RAM address is not updated and the thread uses wrong SP-RAM address.

    Fix:
       Update SP-RAM address when evacuating a task during FP and MP.

    Impact:
       Introduced in firmware 6.4.0.

 6. Problem:
       Possible hardware deadlock may cause crush (BSOD) under traffic stress (theoretical bug).

    Cause:
       Deadlock in hardware buffer allocation mechanism.

    Fix:
       Change hardware block configuration.

    Impact:
       Exists in all previous versions.

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

 1. Request:
       Firmware now support configuration in which the firmware doesn't add vlan 0 when DCB is
       enabled (FW internal - not used by VBD).

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Improved silent vlan removal by firmware - now supporting removal according to value
       and mask comparison (FW internal - not used by VBD).

   Change:
       As requested.

   Impact:
       None.

 3. Request:
       Firmware now allows sending a packet without vlan, even if the global configuration
       force vlan (like DCB, NIV and so) (FW internal - not used by VBD).

   Change:
       As requested.

   Impact:
       None.

 4. Request:
       CQ54244 - Add operational DCB state to DCBX IOCTL read.

   Change:
       As requested.

   Impact:
       MFW 6.4.9 or newer is required.

 5. Request:
       If PFC mismatch is detected PFC is disables .

   Change:
       As requested.

   Impact:
       None.

 6. Request:
       If Priority tagging mismatch is detected Priority tagging is disables .

   Change:
       As requested.

   Impact:
      None.

Version 6.4.35 (April 5, 2011)
==============================

Fixes
-----

 1. Problem:
       CQ54250, CQ54294, CQ54298, 54396: BSOD During forced HW attention.

    Cause:
       QM was reset before PXP causing 'close the gates' to be de-activated shortly
       before resetting PXP, PSWRQ sends a write request to PGLUE, PXP is reset,
       PGLUE tries to read the payload data from PSWWR, but PSWWR does not respond.
       The write queue in PGLUE will be stuck, dmae commands will not return.

    Fix:
       Change reset order of PXP and QM blocks so that PXP is reset before QM.

    Impact:
       During error recovery flow of QM attention only (T6.4 feature)

 2. Problem:
       CQ51066 - Link status in port mailbox indicates AUTONEG is disabled and no
       Serdes.

    Cause:
       Link status was zeroed during link down state.

    Change:
       Set AUTONEG and SERDES indications when needed.

    Impact:
       Exists in all versions.

 3. Problem:
       CQ54420 - Driver BSOD while running zone re-config test.

    Cause:
       Using a memory after it was already freed.

    Fix:
       Keep memory value before freed.

    Impact:
       FCoE flows only (while terminate a connection) T6.4

Version 6.4.34 (April 4, 2011)
==============================

Fixes
-----

 1. Problem:
       Error recovery process caused a interrupt status in PXP2.

    Cause:
       Read only register PXP2_REG_RQ_CFG_DONE was written to.

    Fix:
       Don't write to read only register (writing to PXP2_REG_RQ_RBC_DONE is enough).

    Impact:
       Only during error recovery attempt.

 2. Problem:
       When RSC is enabled, tcp packets with erroneous length might add wrong bytes to packet (FW ETH).

    Cause:
       Firmware didn't verify the packet length is equal Ethernet header + IP total length.

    Fix:
       Added the required verification.

    Impact:
       Introduced in firmware 6.4.0.

 3. Problem:
       CQ54004 - Chip hangs upon arrival of iSCSI packet with split digest or padding (FW iSCSI).

    Cause:
       Firmware sends erroneous BRB read command.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0.

 4. Problem:
       CQ54292/CQ54330 - BSOD while adding iSCSI target (FW iSCSI).

    Cause:
       Wrong DCBX parameters were used for iSCSI connections.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.31 (eVBD 6.4.32).

 5. Problem:
       CQ54270 - DRIVER_POWER_STATE_FAILURE (9f) BSOD on coming out of hibernation.

    Cause:
       Pageable code was called in the FCOE miniport powerup path.

    Fix:
       The pageable code was moved to the FCOE miniport bind stage.

    Impact:
       Exists in all previous T6.4 versions.

 6. Problem:
       VBD didn't clear previous multicast addresses when handling OID_802_3_MULTICAST_LIST.

    Cause:
       Missing implementation.

    Fix:
       Clear current multicast addresses before setting new ones.

    Impact:
       Exists in all previous T6.4 versions.

Version 6.4.33 (March 31, 2011)
===============================

Fixes
-----

 1. Problem:
       CQ54116 - BSOD during error recovery test.

    Cause:
       Error recovery flow didn't succeed since notification
       to second engine wasn't done properly.

    Fix:
       Fix flow in notifying second engine.

    Impact:
       Only during error recovery attempt.

 2. Problem:
       CQ54250 - Error Recovery: Generating Parity Error with error recovery enabled causes system crash (BSOD).

    Cause:
       Bug in counting outstanding ioctls caused error recovery flow to fail.

    Fix:
       Fix flow of counting outstanding ioctls.

    Impact:
       Only during error recovery attempt.

 3. Problem:
       Error recovery flow timed out.

    Cause:
       Wrong synchronization mechanism was used during recovery which caused starvation
       to the worker thread.

    Fix:
       Change flow to use the correct synchronization mechanism.

    Impact:
       Only during error recovery attempt.

 4. Problem:
       CQ54032 - System hangs at machne shutdown when 7 or more iSCSI sessions are present.

    Cause:
       Race in ISCSI shutdown flow.

    Fix:
       Fixed the race.

    Impact:
       Introduced in version T6.0.

Version 6.4.32 (March 28, 2011)
===============================

Fixes
-----

 1. Problem:
       (CQ52000 Cont.) 1G link is broken on 8706 PHY.

    Cause:
       Mechanism for detecting 10G fault does not apply to 1G.

    Fix:
       Only check 10G link for XAUI fault.

    Impact:
       8706PHY based boards.

 2. Problem:
       CQ51905 VMQ: System BSODs when running load/unload eVBD while running traffic on VM.

    Cause:
       Changing VMQ affinity scheduled the wrong dpc with the wrong message, causing the DPC
       of a different queue not to run if it tried scheduling the DPC at the same time and then not
       handle the interrupts for that queue.

    Fix:
       Schedule the correct DPC.

    Impact:
       Introduced in version T6.0.

 3. Problem:
       Link may not come up after SFP+ module plug in on BCM8726 based boards

    Cause:
       Module detection was not triggered by module insertion, which may lead to
       incorrect setting of EDC mode
       GPIO3 was not set as input to enable receiving module plug-in/out interrupt

    Change:
       Initialize AEU before collecting the group of signals in charge for
       generating interrupts. In addition, set GPIO3 to input to allow receiving
       module plug-in/out interrupts

    Impact:
       BCM8726 based boards
       Introduced in 5.2.50

 4. Problem:
       Changing bandwidth allocation parameters through BACS may fail even for valid values.

    Cause:
       Invalid validation of bandwidth allocation parameters by VBD.

    Fix:
       Fix parameter validation.

    Impact:
       Introduced in VBD 6.4.13, NPAR mode only.

 5. Problem:
       CQ54085 - EVBD breaks with checked version on 57711 in Win2k3

    Cause:
       A bug in RSS update flow with RSS version 1 ,when spreading
       the processors between the different function.

    Fix:
       Fixed the bug.

    Impact:
       Introduced in VBD 6.4.0.

6. Problem:
       CQ53853 - NDIStest 6.0 2c_offloadchecksum fails

    Cause:
       FW fixed a problem that caused checksum to be reported as OK for certain packets even when it wasn't validated.

    Fix:
       Imitate previous FW behavior until checksum calculation is implemented in VBD for packets that FW did not validate

    Impact:
       Introduced in FW 6.4.15


 7. Problem:
       (FW)Hardware attention occurs after 256 DCBX updates.

    Cause:
       Firmware doesn't read DCBX info because of dcb version wraparound.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0.


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

 1. Request:
       Disable NPAR Tx switching.

    Change:
       Both matched and unmatched Tx switching is disabled in NPAR.

    Impact:
       None.

Version 6.4.31 (March 21, 2011)
===============================

Fixes
-----

 1. Problem:
       CQ52000 & CQ51134 Cont - XAUI lane short may have false alarm. In
       addition, 1G link is broken.

    Cause:
       The Tx fault read from PHY could be stale. Also mechanism for detecting
       10G fault does not apply to 1G.

    Fix:
       Read the Tx fault bit from the PHY once more to clear stale value. Also,
       only check 10G link for XAUI fault.

    Impact:
       8727PHY based boards.

 2. Problem:
       HW attention occurs when TX traffic is duplicated to the physical and
       loopback ports (FW ETH).

    Cause:
       Firmware doesn't manage connection's activity correctly.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0

 3. Problem:
       CQ53347 - Data does not validate reported while running RH6.0 on x64 machine (FW ETH).

    Cause:
       In case of VLAN removal of a first packet in RSC aggregation, firmware
       may add padding bytes in the middle of the packet.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.25.

 4. Problem:
       CQ53523 - system stuck during load/unload under traffic (FW ETH).

    Cause:
       RX processor can get stuck in infinite loop when a set mac
       configuration is done during traffic.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0.

 5. Problem:
       Wrong FCoE statistics\CMNG calculation.

    Cause:
       Firmware doesn't count Ethernet preamble and inter-frame gap, and count
       outer vlan (FW FCoE).

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0.

 6. Problem:
       Transmission of inaccurate frame size in case MTU is too small (FW FCoE).

    Cause:
       Firmware doesn't count FC CRC size into the frame size in case MTU smaller
       than TX FC payload length (FW FCoE).

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0.

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

 1.  Request:
       CQ51697 - Short on XAUI lines on MAC side of 8706 PHY needs
       to generate link down event.

    Change:
       Tx fault detection has been added. In addition link qualification
       includes checking for Tx fault. The fault detection bit is read
       twice to clear any stale value.

    Impact:
       8076 PHY.

 2. Request:
       CQ53761 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       Remove initial DCBX configuration.

    Change:
       As requested.

    Impact:
       Only DCBX auto detected is supported. MFW 6.4.9 or newer is required.

 4. Request:
       CQ53268 - Enumerate FCoE PDO for specific device id.

    Change:
       As requested.

    Impact:
       As requested.

Version 6.4.30a (March 17, 2011)
================================

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

 1. Request:
       CQ53761 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

Version 6.4.30 (March 14, 2011)
===============================

Fixes
-----

 1. Problem:
       CQ53609 - BCM57712 Assert is seen while running ACPI S1 S3 sleep stress test.

    Cause:
       Mac filtering ramrod data was overridden when parallel run of clients occurred.

    Fix:
       Split the ramrod data per client in BCM57712 and use same ramrod data in BCM57710/BCM57711.

    Impact:
       Introduced in 6.4.29 relevant for BCM57712.

 2. Problem:
       No fan failure notification when the fan failed and nvram option 83 is
       set to enabled.

    Cause:
       The fan failure worked only for specific external PHYs and not according
       to option 83.

    Change:
       Enable fan failure regardless of the PHY type if option 83 is set to
       enable.

    Impact:
       No fan failure notification unless the PHY is SFX7101, BCM8073, BCM8481,
       BCM84823 or BCM84833 - other PHYs or designs without external PHY will
       not report fan failures (but the FW will stop the PHY).

 3. Problem:
       CQ53260 - Unsupported FCoE pcie request (FW FCoE).

    Cause:
       Firmware doesn't support Tx cache mechanism with more than 1 xfer ready packet.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0

 4. Problem:
       Inaccurate FCoE TX/RX statistics (FW FCoE).

    Cause:
       Firmware doesn't include ETH CRC and did not accumulate properly FCP_CONF frames.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all versions running FCoE (T6.4).

 5. Problem:
       Everest hangs upon arrival of iSCSI packet with FIN flag set (iSCSI FW).

    Cause:
       Tstorm signals Ustorm to release same BRB block twice.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0

 6. Problem:
       On-chip TCP handshake transmitted TCP options with missing MSS and window-scale (iSCSI FW).

    Cause:
       Timestamp padded with EOL instead of NOPs.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.0.

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

 1.  Request:
       CQ53632 - Add 1Gbps speed option to BCM57712 PNP ID.

    Change:
       As requested.

    Impact:
       iBoot for BCM957712A1213G.

 2. Request:
       CQ53450 - Add new BCM57712 device id's to the driver INF file.
       CQ53451 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 3.  Request:
       CQ53138 - NPAR BW Weight should be disabled if ETS is enabled.

    Change:
       As requested.

    Impact:
       None.

Version 6.4.29 (March 8, 2011)
==============================

Fixes
-----

 1. Problem:
       CQ53338 - BACS3's MAC LoopBack diagnostic test fails intermittently.

    Cause:
       PFC flow cleared the loopback mode unconditionally on 57712 boards.

    Fix:
       Make PFC code take into account current loopback mode on 57712 boards.

    Impact:
       Introduced with 57712 support in T6.2


 2. Problem:
       CQ52245 - NDISTest 6.0 2c_mini6rsssendrecv test fails (FW ETH).

    Cause:
       IPv6 addresses in hash string were built in a wrong order.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.1. BCM57712/57810/57840 only.

 3. Problem:
       CQ53454 - VMQ with NPAR - Driver assertion for packets smaller then 64B (FW ETH).

    Cause:
       Firmware was not padding packets placed on SGEs.

    Fix:
       Add packet padding to packets on SGEs.

    Impact:
       Exist in all versions that support VMQ and NPAR systems.

 4. Problem:
       CQ52000 - Error with previous fix for XAUI short detection caused false
       link down event.

    Cause:
       Need to check MDIO_PMA_REG_TX_ALARM for errors.

    Impact:
       8727PHY based boards.

 5. Problem:
       CQ53333 - Hyper-V: TX switching does not work in NPAR setting.

    Cause:
       Filtering rules were not set properly for non enlightened VMs.

    Fix:
       Flows fixed to support all types of hyper-V traffic flows.

    Impact:
       NPAR Tx switching of non enlightened VMs.

 6. Problem:
       When machine goes to D3 and WoL is enabled, "Close the gate" error might happen
       and cause inconsistent behavior to the chip.

    Cause:
       Driver writes to a register which is less than 32 bits a value which has "ones" on unimplemented bits.

    Fix:
       Write "ones" only to the implemented bits.

    Impact:
       Introduced in eVBD 6.4.18

 7. Problem:
       CQ53256 - VMQ system breaks when trying to create a hyper-v virtual nic.

    Cause:
       eVBD mistakenly provides VMQ capability in non MSI-X environment.

    Fix:
       Driver prevents reporting VMQ capability in non MSI-X environment.

    Impact:
       Introduced in version eVBD T6.x.

 8. Problem:
       CQ53444 - OIS Certs iSCSI Ping Test Fails.

    Cause:
       Mac filtering was overridden by last client loaded.

    Fix:
       Every client considers previous clients loaded.

    Impact:
       Introduced in T6.4 relevant for BCM57710/BCM57711.

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

 1. Request:
       Enhance EVBD to read FCOE FIP, WWPN and WWNN mac addresses from their
       updated location in shared memory, and report them to FCOE Miniport
       driver.

    Change:
       As requested.

    Impact:
       For FCoE, MFW 6.4.7 or newer is required.


Version 6.4.28 (March 3rd, 2011)
================================

Fixes
-----

 1. Problem:
       CQ50381 - BCM57712 WOL S5 does not work.
       CQ49175 - BCM57712 WOL S4 AUT fails to wake up from S4 via Interesting Packet (Magic Packet works).

    Cause:
       Implementation in driver and boot code was incorrect.

    Change:
       Fix the Implementation, including PF higher than 1.

    Impact:
       Introduced in version eVBD T6.2

 2. Problem:
       CQ51297 - BCM57712 WOL S5 System Unexpectedly Wakes Up from S5 State via Interesting Packets.

    Cause:
       Implementation in driver was incorrect.

    Change:
       Fix the Implementation.

    Impact:
       Introduced in version eVBD T6.2

 3. Problem:
       Setting multiple MAC addresses may cause a memory leak.

    Cause:
       Failure to release some data if no set-MAC ramrod is sent.

    Fix:
       Release the ramrod data if there is no need to send it.

    Impact:
       Introduced in 6.4.26. Exposed by driver verifier only.

 4. Problem:
       CQ52772 - BCM NPAR specific configuration of bandwidth weight/maximum bandwidth Not Functional.

    Cause:
       MAX algorithm timer was set to smaller value then MIN algorithm. In some cases this may cause under-run on the line.

    Fix:
       Increase MAX algorithm timeout from 100usec to 400usec.

    Impact:
       Introduced in  eVBD 6.2.6.

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

 1. Request:
       CQ50798 - Add support for BCM8722

    Change:
       As requested.

Version 6.4.27 (March 1st, 2011)
================================

Fixes
-----

 1. Problem:
       CQ52894 - System BSOD during shutdown.

    Cause:
       Delegated parameters weren't read under reset.

    Fix:
       Read delegated parameters just don't run sanity under reset.

    Impact:
       Introduced in version 6.4.19.

 2. Problem:
       Potential bug in MF mode when running load unload test on
       all the function and forcing link changes, PFC doesn't work.

    Cause:
       PFC state isn't passed between function when PMF migration
       occurs. If link changes the function that became PMF
       knows the PFC settings only if also DCBX settings has
       changed.

    Fix:
       Each function that becomes PMF will read the DCBX setting
       from chip regardless if the DCBX settings has changed.

    Impact:
       Introduced in release 6.4.0.

 3. Problem:
       Potential bug that can cause TX traffic to stop when running
       TOE disable enable stress test.

    Cause:
       A race in ramrod handling that involves DCBX ramrod.

    Fix:
       Solved the race in VBD.

    Impact:
       Introduced in release 6.4.0.

 4. Problem:
       (CQ51134) NC-SI functionality dependant on Port initialization
       Sequence.

    Cause:
       During common init, the driver resets both BMACs such that if
       NCSI was enabled on the other port, it will stop working.

    Change:
       BMAC will be reset during port initialization only.

    Impact:
       5771x with NCSI enabled.

 5. Problem:
       CQ52245 - NDISTest 6.0 2c_mini6rsssendrecv test fails (FW ETH).

    Cause:
       For first IP fragment of a TCP packet, the firmware was
       calculating 4-tuple RSS instead of 2-tuple RSS.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware 6.4.1. BCM57712/57810/57840 only.

 6. Problem:
       Firmware could find task context valid although it is not (FW FCoE).

    Cause:
       TX/RX valid bits are initialized to zero by driver.

    Fix:
       Driver should not set values to RX/RX valid bits and
       firmware should always toggle their values.

    Impact:
       Exist in all previous versions (FcoE).

 7. Problem:
       CQ53322 and CQ53368 - assert while running load/unload with
       driver verifier enabled.

    Cause:
       Bug in setting DPC affinity (corner case).

    Fix:
       Solved the bug.

    Impact:
       Introduced in version eVBD T6.4.26 , only when MSIX is disabled.

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

 1. Request:
       CQ50501 - Add new BCM57711 device id's to the driver INF file.
       CQ52559 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       CQ#50798 - Add support for BCM8722

    Change:
       As requested.

Version 6.4.26 (February 24, 2011)
==================================

Fixes
-----
 1. Problem:
       Theoretical bug eVBD low performance.

    Cause:
       Theoretical race that can lead to a situation where a RSS chain
       is work on wrong processor.

    Fix:
       Fix Theoretical race.

    Impact:
       Introduced in release 6.4.0, only when MSIX is disabled.

 2. Problem:
       VBD assert on driver unload when multiple MAC addresses are set

    Cause:
       wrong error code returned when deleting more than a single MAC address

    Fix:
       return the correct error code

    Impact:
       introduced in T6.4

 3. Problem:
       CQ52828 - bxnd60a BSOD is seen while deleting team.

    Cause:
       eVBD does not send to FW existing MAC address but does not allow upper level recognize this state.

    Change:
       eVBD on set MAC address returns code allowing to process setting already existing MAC address.

    Impact:
       Introduced in version eVBD T6.4.


Version 6.4.25 (February 22, 2011)
==================================

Fixes
-----
 1. Problem:
       BCM57712 intermittently fails to link up after resuming from S4 power state.

    Cause:
       Locking mechanism for link initialization timed out.

    Fix:
       Increased the timeout of the phy lock.

    Impact:
       BCM57712 related. Already fixed in version 6.2.7. applying to 6.4 as well.

 2. Problem:
       CQ53180 - 57710: BSOD during driver unload.

    Cause:
       Missing initializations to CM.

    Fix:
       Added missing initializations.

    Impact:
       Introduced in release 6.4.0 affects 57710 only.

 3. Problem:
       CQ52984 - BSOD during network stress test.

    Cause:
       eVBD RSS state was not initialized.

    Fix:
       Initialized eVBD RSS state to RSS disabled.

    Impact:
       Introduced in release 6.4.0.

 4. Problem:
       Coalesced packets might arrived after TPA disable and in some
       cases the system might crash (FW ETH).

    Cause:
       Firmware didn't refreshed the configuration after RSC disable
       for packets which arrived while the ramrod took place.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.7.

 5. Problem:
       No indication on error in case FCP bidirectional flags are set (FW FCoE).

    Cause:
       Firmware did not handle the verification properly.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Exist in all previous FCoE versions (T6.4).

 6. Problem:
       CQ52834 - iSCSI connection/login issues in DCB environment (FW iSCSI).

    Cause:
       Erroneous context override by firmware.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous versions with DCB support (BCM57712 only).

 7. Problem:
       Retransmit in TCP layer of data digest, resulted with iSCSI
       connection being rejected by target (FW iSCSI).

    Cause:
       Firmware transmitted data digest with wrong TCP sequence.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous versions.

Version 6.4.24 (February 14, 2011)
==================================

Fixes
-----

 1. Problem:
       CQ52927 - BSOD while running DVD install 2k8-SP2 AMD64 via L2 path.
       CQ52909 - BSOD while running 57712 benchmarks.
       CQ52855 - BSOD while running the NDISTest mpe_ethernet.
       CQ52796 - BSOD while running CNIC Stress in NPAR mode.
       CQ52967 - CQ52967 - BSOD while running chariot ipv4/ipv6 and offload stress on both ports in Win2k3-64.
       (FW ETH).

    Cause:
       Firmware lose packets synchronization during transmission. (XSTORM assert).

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in eVBD version 6.4.15, BCM57712 only.

 2. Problem:
       CQ52536 - Extra bytes might be added in the middle of the payload
       when a packet with padding after the TCP payload is received, while
       RSC is enabled (FW ETH).

    Cause:
       Firmware wrongly places padding bytes on RX SGEs.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous versions.
       The problem will be exposed only in very rare case in which a device
       on the network pads the Ethernet packet to longer than 72 bytes.

 3. Problem:
       RSC disable ramrod could cause the chip to halt (FW ETH).

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0, BCM57710/57711/57711E only.

 4. Problem:
       Chip doesn't detect two REC_TOV expirations (FW FCoE).

    Cause:
       Firmware ignore REC_TOV expiration if task is in warning state.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Exist in all previous versions (FCoE).

 5. Problem:
       CQ52925 - Driver aborts exchanges if the RO bit in the F_CTL
       field is set in a FCP_RSP packet (FW FCoE).

    Cause:
       Firmware detecting an error in case RO bit is set in FCP_RSP packet.

    Fix:
       Remove the verification of this bit in FCP_RSP frame.

    Impact:
       Exist in all previous versions (FCoE).

 6. Problem:
       CQ52721 - Driver assert on connection upload during context validation,
       in case a packet with timestamp was received, and the option was not
       negotiated during connection establishment (FW TOE).

    Cause:
       Firmware updated timestamp data, although it is disabled.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous versions.

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

 1. Request:
       Add to INF PNP Device ID's (synced with 6.2.16).
       Remove from INF BCM578xx devices.

    Change:
       As requested.

    Impact:
       As requested.

 2. Request:
       CQ52000 Short on XAUI lines between Everest 2 and 8727 PHY needs to
       generate link down event.

    Change:
       Tx fault detection has been added. In addition link qualification
       includes checking for Tx fault.


Version 6.4.23 (February 7, 2011)
==================================

Fixes
-----

 1. Problem:
       CQ57810 - BSOD (ASSERT) during team deletion.

    Cause:
       Driver failed request to set the same mac twice.

    Fix:
       Driver recognizes that mac is set and returns success.

    Impact:
       Introduced in release T6.4.

 2. Problem:
       CQ52473 - Assert is seen while running BacsCLI automation on advanced driver properties.

    Cause:
       DMA engine access was not protected and caused multiple use from different flows.

    Change:
       Removed DMA engine use in the relevant flow.

    Impact:
       T6.2 BCM57712 mode load/unload flows when link is up.

 3. Problem:
       Potential wrong PHY initialization when loading the first function on a port,
       after another function from this port was unloaded.
       (CQ51091/CQ52178 Link loss on stress).

    Cause:
       In this case, the driver won't lock PHY access, which may cause MDC/MDIO collision.

    Change:
       Initialize the lock flag on the init driver stage, instead of the common and port init stage.

    Impact:
       T5.2a in MF mode (NPAR/Switch dependant) 8726 and 8727 (on top of the 8073) and any other MDC_MDIO design.
       Fixed in eVBD 6.2.14

 4. Problem:
       (FW ETH)System may crash when configuring some RX rings with RSC
       enabled and some with RSC disabled.

    Cause:
       Firmware tries to do RSC also for the non-RSC clients.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.15, BCM57710/57711/57711E only.

 5. Problem:
       (FW ETH)System crash under TCP traffic when driver is toggling RSC.

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.7.

 6. Problem:
       (FW ETH)Firmware aggregated packets with wrong checksum.

    Cause:
       Firmware didn't check checksum as a requirement for aggregation.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 7. Problem:
       (FW FCoE)Redundant event writing to the driver.

    Cause:
       Race between driver and hardware caused false detection
       of CQ doorbell.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 8. Problem:
       (FW FCoE)CQ52023 - Chip hangs due to hardware attention.

    Cause:
       Traffic type to priority/COS table was reset after link down by
       driver causing transmission on the wrong COS.

    Fix:
       Removing the table in RAM from HSI section.

    Impact:
       Introduced in firmware version 6.4.0.


 9. Problem:
       CQ51832 - Hardware attention when working in NPAR mode and there is COS modifications by DCBX.

    Cause:
       DCBX update got lost due to firmware bug when working in NPAR mode.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.12.


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

 1. Request:
       Add an IOCTL for manipulating contiguous physical memory buffers.

    Change:
       As requested.

    Impact:
       Checked build only, used by winedebug.

 2. Request:
       (FW ETH)Added performance improvements to Ethernet transmit flows in BCM57711.

    Change:
       Firmware design and implementation optimizations.

    Impact:
       None.


Version 6.4.22 (January 24, 2011)
=================================

Fixes
-----
 1. Problem:
       Link is sometimes not indicated to OS in NPAR-SD mode.

    Cause:
       Race between NPAR-SD and normal link status modification flows.

    Fix:
       Only change link status in NPAR-SD mode via specific flow.

    Impact:
       Introduced in eVBD 6.4.15. NPAR-SD mode only.

 2. Problem:
       (FW ETH)Chip halts when a packet with VLAN arrives, while working in
       NPAR-SD mode and the OS is in VMQ mode (BCM57712 only).

    Cause:
       Illegal command is sent by the firmware in such case.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.15.

 3. Problem:
       (FW FCoE)When receiving out of order packet\timeout, chip requests from target
       to retransmit the entire data.

    Cause:
       Firmware request re-transmitting from beginning of the sequence instead
       of from the last good packet.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 4. Problem:
       (FW FCoE)Treating ABTS reply incoming frame improperly.

    Cause:
       Firmware could accept incoming ABTS reply frame (instead of dropping it)
       during abort procedure even if it did not transmit the ABTS request packet.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.13.

 5. Problem:
       (FW FCoE)(CQ52187) Chip issue sequence recovery request after timeout, even if task
       continued normally.

    Cause:
       Firmware always accepts sequence recovery requests from the driver.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 6. Problem:
       (FW FCoE)Chip hangs after detecting unmasked hardware attention.

    Cause:
       Firmware loads from a memory space which was not initialized during
       placement procedure.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Exists in all previous releases.

 7. Problem:
       (FW iSCSI)Miscalculation of MSS during TCP handshake when timestamp exists.

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exists in all previous releases.

 8. Problem:
       (FW iSCSI)Chip hangs when running iSCSI IOs bigger than 32KBs.

    Cause:
       Firmware bug.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.


Version 6.4.21 (January 18, 2011)
=================================

Fixes
-----
 1. Problem:
       CQ52366 - System BSODs when rebooted with FCoE client binded.

    Cause:
       FCoE FW reads from uninitialized UPB address which causes parity error.
       Parity error in checked version causes BSOD.

    Fix:
       Mask UPB parity error, which now won't cause BSOD until next FW release which
       will take care of accessing uninitialized memory.

    Impact:
       Introduced in 6.4.20.

 2. Problem:
       CQ52212 8073PHY intermittently exhibits signs of disconnected devices
       upon loading/unloading.

    Cause:
       Microcontroller and Driver both controlling Xaui Low Power Mode.

    Fix:
       Remove Driver control of Xaui Low Power Mode.

    Impact:
       8073PHY based boards.

 3. Problem:
       CQ51624 PHY TXONOFF_PWRDN_DIS bit set to "1" instead of default
       0 to prevent reset & power down of PHY.

    Cause:
       When GPIO controls TX Laser on 8727 and 8706, turning off laser
       will put PHY in low power mode.

    Fix:
       Set TXONOFF_PWRDN_DIS accordingly.

    Impact:
       8727PHY and 8706PHY based boards with TX laser controlled by
       GPIO_0.


Version 6.4.20 (January 17, 2011)
=================================

Fixes
-----

 1. Problem:
       CQ52180 and CQ52192: The FCoE priority value for Tx traffic is not being
       configured correctly when adapter has non-default values configured via
       registry/GUI and  "willing" bit set fo all TLV.

    Cause:
       The eVBD wrote a wrong FCOE application ID to FW.

    Fix:
       The eVBD writes the right FCOE application ID to FW.

    Impact:
       Introduced in eVBD 6.4.15.


 2. Problem:
       (FW ETH) Unexpected packet arrives after client update ramrod with
       BCM57712 at NPAR mode.

    Cause:
       Client update turned on the accept all unicast.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 3. Problem:
       (FW FCoE) Wrong data offset is being used during error recovery.

    Cause:
       The firmware reported the offset of the corrupted packet,
       instead of the last good packet.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exists in all previous releases that support error recovery (6.4.19)

 4. Problem:
       (FW FCoE) - Chip get stuck when initiating abort procedure.

    Cause:
        Firmware did not handle properly the case when abort is
        being initiated on a task that was already closed.

    Fix:
        Fixed the relevant firmware flow.

    Impact:
        Introduced in firmware version 6.4.13.

 5. Problem:
       Memory Leak under Error recovery flow.

    Cause:
       Buffers used for error recovery flow weren't released properly.

    Fix:
       Release all allocated buffers.

    Impact:
       Introduced in VBD version 6.4.19 retail version.
       Occurs only if error recovery flow is initiated.

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

 1. Request:
       (FW ETH) Add count for coalesced aborts in the firmware.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       (FW FCoE) Added performance improvements in BCM57711 Ethernet transmit flows.

    Change:
       Perform firmware optimizations.

    Impact:
        None.

 3. Request:
       Adding HSI version (major and minor fields) to FCoE constants and FCOE_INIT KWQE in order to allow HSI verification.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       Enhance error recovery flow to handle more parity errors and HW attentions (QM).

    Change:
       As requested.

    Impact:
       None.

Version 6.4.19 (January 10, 2011)
=================================

Fixes
-----

 1. Problem:
       Multi Function broken on Emulation/FPGA.

    Cause:
       Changes introduced to support more mf modes didn't
       take into account no MCP mode, which is what we have on emulation/FPGA.

    Fix:
       Initialize mf_mode in NO-MCP-Mode correctly.

    Impact:
       Emulation/FPGA only. Introduced in VBD 6.4.15.

 2. Problem:
       XSTORM assert due to wrong values in XSTORM RAM, occuring
       after turning up first interface on the other path
       (specifically traffic_type_to_priority_cos table was cleared
       in XSTORM RAM).

    Cause:
       driver used to reset LCPLL init common process,
       which is performed per each path. That configuration is
       not needed as it is done by the MCP, and is wrong because
       LCPLL is common and not per path.

     Change:
       Remove that configuration from driver (it is done by MCP).

    Impact:
       Introduced in eVBD 6.4

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

 1. Request:
       Support Error recovery for parity errors and device faults (Hw / Fw assertions)

    Change:
       Initial implementation for error recovery flows (process-kill) that
       can recognize and recover from certain HW / FW assertions, which until now resulted
       in BSOD.

    Impact:
       Enabled in retail version only.
       Enabled only for 57712.
       Assertions that until now caused a BSOD will in most cases be recoverable and result in a short connectivity loss.

Version 6.4.18 (December 30, 2010)
==================================

 1. Problem:
       (FW ETH)In combined scenarios of L2 and Toe/iSCSI the chip might hang.

    Cause:
       The chip reached a deadlock when there is loopback traffic to both the L2
       and Toe/iSCSI connections while there is also traffic from the network port.

    Fix:
       Separate the reordering mechanism between the loopback and the network port.

    Impact:
       Exist in all previous versions.

 2. Problem:
       (FW FCoE)CQ51752 - Second FCoE function does not stay logged in to the target
       in NPAR mode.

    Cause:
       Second function FCoE offload traffic treated like non offload traffic
       in NPAR mode.

    Fix:
       Add support for two functions in NPAR mode.

    Impact:
       Exist in all previous versions.

 3. Problem:
       (FW FCoE)Firmware drop SRR accept packets.

    Cause:
       Middle path flow support only FCP_RSP and ELS packets.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Exist in all previous versions.

 4. Problem:
       (FW FCoE)REC_TOV timer doesn't expire after sequence cleanup.

    Cause:
       Firmware doesn't rearm REC_TOV timer after sequence cleanup.

    Fix:
       Fixed the relevant firmware flow.

    Impact:
       Exist in all previous versions.

Enhancements
------------
 1. Request:
       (CQ51889) Add Common Mode Sense (CMS) enable/disable
       functionality

    Change:
       Adding field 156 to nvm cfg, as well as support in eLink.

    Impact:
       NVM config and Common Mode Sense capable PHYs.

 2. Request:
       Support rate limiting updates in NPAR-SD mode

    Change:
       As requested

    Impact:
       NPAR-SD mode only.

 3. Request:
       Update the format of NPAR-SD statistics to match the new structure in
       SHMEM

    Change:
       As requested

    Impact:
       NPAR-SD mode only.


Version 6.4.17 (December 22 2010)
================================

 1. Problem:
       CQ51342 - BSOD unloading vbd driver with verifier on.

    Cause:
       Memory leak: some new rt allocations were not freed.

    Fix:
       Make sure all rt allocations are freed.

    Impact:
       Introduced in release T6.4.

 2. Problem:
       BCM8727 Link LED not funtioning properly during BACS LED test.

    Cause:
       Not blinking correct link light.

    Impact:
       BCM57712 + BCM8727 based boards.

 3. Problem:
       CQ51134 - NCSI functionality dependant on Port initialization
       Sequence

    Cause:
       When the driver loads the first port, some PHYs require reset
       and loading their microcode on both ports. In case NCSI was
       enabled on the other port, the traffic was stopped since PHY
       was reset

    Change:
       Load PHY microcode during common init, only if the PHY
       microcode wasn't loaded.

    Impact:
       Requires bootcode 6.2.9 and above to resolve this problem
       PHY firmware upgrade will require reboot from now on

 4. Problem:
       CQ51367 - BCM84823/84833 activity LED blinks at lower rate on 10G
       link.

    Cause:
       The activity LED control registers are not configured right.

    Change:
       Enabled activity LED stretch_en bit. Made activity LED blink on
       source.

    Impact:
       BCM57712 + BCM84823/84833 based boards.

 5. Problem:
       Same MAC address is used for for iSCSI, FCoE and NDIS in NPAR-SD mode.

    Cause:
       FCoE and iSCSI MAC addresses were not read from SHMEM

    Fix:
       Read FCoE and iSCSI MAC addresses correctly also in NPAR-SD mode

 6. Problem:
       (FW)FLR after DCBX causes hardware attention.

    Cause:
       Firmware didn’t update the physical queue info table at start.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exists in all previous releases that support DCBX.

 7. Problem:
       (FW ETH)L4 TX checksum offload for packets with IP header greater than
       64 bytes was written to wrong place on the packet.

    Cause:
       Firmware passed the wrong offset to hardware when IP header size
       is bigger than 64.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 8. Problem:
       (FW ETH)Firmware might wrongly declare a VF as malicious.

    Cause:
       Firmware used a invalid buffer descriptor in security enforcement.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.


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

 1. Request:
       Report various MF modes and FCoE MAC address in device info IOCTL.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
      CQ51710 - Disable CMS (common mode sense) feature in 84823 PHY, as
      this reduces power consumption and allows a better 10G link stability.

    Change:
      Clear the CMS bit in PHY register in PHY configuration routine.

    Impact:
      BCM84823B based boards

Version 6.4.16 (December 14 2010)
================================

Fixes
-----
 1. Problem:
       CQ51050 After disabling DCB, the standard flow control(pause) is not working.

    Cause:
       A HW block is not reset between bus driver unload and load, this
       block contains some PFC register configuration.

    Change:
       In bus driver load, initialize this register to pause configuration.

    Impact:
       Introduced in release T6.4, affects all chips.

 2. Problem:
       (FW FCoE)CQ51584 - When the NIC PAR is enabled, initiator does
       not login to the target.

    Cause:
       Offload connection traffic was dropped due to classification
       failure.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exists in all previous FCoE releases.

 3. Problem:
       (FW TOE)Possible hardware attention during TOE stress scenarios with
       COS modifications by DCBX.

     Cause:
       Rare race condition could cause credit depletion in hardware block.

     Fix:
       Return credit according to DCBX class of service.

     Impact:
       Introduced in firmware version 6.0.24.

 4. Problem:
       (FW TOE)Possible hardware attention when performing TOE Tx-switching
       with COS modifications by DCBX.

     Cause:
       Firmware disregarded the DCBX info upon Tx-switching.

     Fix:
       Fixed relevant firmware flow.

     Impact:
       Introduced in firmware version 6.4.12.


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

 1. Request:
       In the existence of DCBX, MinBW algorithm will be disabled.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Bus driver enforces FCoE license.

    Change:
       As requested.

    Impact:
       FCoE PDO is enumerate only if the BCM57710/11/12 includes a FCoE license .

Version 6.4.15 (December 2 2010)
================================

Fixes
-----
 1. Problem:
       eVBD break while running ISCSI offload data.

    Cause:
       The FW completion element type isn't parsed correctly for ISCSI OOO.

    Change:
       Fixed the parsing of the FW completion element type.

    Impact:
       Introduced in version eVBD 6.4.10.

 2. Problem:
       BSOD on load/unload flows.

    Cause:
       Wrong parameter was sent to firmware statistics ramrod. the parameter caused illegal write to the chip.

    Change:
       Send the correct parameter to the firmware.

    Impact:
       Introduced in version eVBD 6.4.0

 3. Problem:
       Single connection performance is much lower than expected in BCM57712.

    Cause:
       The firmware uses a malfunctioning bit in the HW for
       single connection optimization.

    Fix:
       The firmware uses a different bit with similar functionality.

    Impact:
       Introduced in firmware 6.1.0 when the optimization was implemented
      (doesn't cause any penalty compare to older versions).

 4. Problem:
       FCoE: An FCP_CONF frame was not transmitted when required.

    Cause:
       A confirmation indication was not handle properly if
       the task was from middle path type.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous FCoE releases.

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

 1. Request:
       Enable by default TOE Tx Dynamic Host-Coalescing (DHC) possibility, set corrected TOE TX DHC timeouts.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Support RSC for IPv6 packets in firmware (doesn't activated in driver code).

    Change:
       Modify RSC code to support coalescing and modification of
       IPv6 packets.

    Impact:
       IPv6 RSC is supported in BCM57712 only.
       Trying to activate it on BCM57710/11 will cause a firmware assert.

 3. Request:
       Support for forward connection traffic in NPAR-SD mode.

    Change:
       TX packets are sent with destination field, on NPAR-SD header, which
       is equal to the source VIF value.

    Impact:
       NPAR-SD mode is supported in BCM57712 only.
       Forward connection traffic is relevant only for TOE and iSCSI traffic.

 4. Request:
       Support for offloaded traffic over TCP (TOE/iSCSI) in NPAR-SD mode.

    Change:
       In NPAR-SD mode All offloaded packets are sent with NPAR-SD tag info.
       Rx path validates NPAR-SD tag info of received packets.

    Impact:
       NPAR-SD mode is supported in 57712 only.

 5. Request :
      Support NPAR-SD NIC-partitioning (static VIF ID)

    Change:
      As requested

    Impact:
      57712 with appropriate bootcode only.

Version 6.4.14 (November 23 2010)
==================================

Fixes
-----
 1. Problem:
       CQ50681 Device hangs on up/down test when PFC is enabled

    Cause:
       If the device is going down while in PFC Xoff it will not set it to Xon and
       therefore, on the next load it will remain in constant Xoff

    Change:
       Force PFC Xon when enabling the device

    Impact:
       57712 and 578xx

 2. Problem:
       CQ51094,CQ50736 and CQ50611- eVBD doesn't enumerate OIS/FCOE driver during DVD
       installation using second port.

    Cause:
       eVBD read ISCSI/FCOE boot signature from a wrong register offset.

    Change:
       eVBD reads ISCSI/FCOE boot signature from a right register offset.

    Impact:
       57712 only issue for all function except function 0 on path 0.

 3. Problem:
       (FW L2)Tx packets are sent with wrong TCP checksum in case of
       TCP bi-directional scenarios.
    Cause:
       Firmware didn't update the L4/L3 checksum correctly in mixed traffic
       of packets with/without checksum offload.
    Fix:
       Fixed relevant firmware flow.
    Impact:
       Introduced in firmware version 6.4.10.

 4. Problem:
       (FW TOE)CQ50753 - Possible crash during terminate offload flow.
    Cause:
       Timer was not always cleared due to race in the firmware flow.
    Fix:
       Fixed relevant firmware flow.
    Impact:
       Introduced in release T5.2.

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

 1. Request:
       Remove WDM power code from KMDF compilation.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       CQ51065 - In NPAR Max BW has changed from units of "intervals of [100Mbps]"
       to units of "% of physical link speed".

    Change:
       As requested.

    Impact:
       None.

Version 6.4.13 (November 17, 2010)
==================================

Fixes
-----

 1. Problem:
       (FW L2)Single Tx L2 connection enhancement feature is broken when FLR is
       sent on function which is under traffic.

    Cause:
       Tx firmware didn't release internal resources, which may be taken
       by connections that belong to FLRed functions.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

 2. Problem:
       (FW L2)Broadcast packets are received on a client which isn't configured to
       receive them.

    Cause:
       The firmware always passed broadcast packets to the leading client
       even when it wasn't configured to received them.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in firmware version 6.4.7, BCM57711 only.

 3. Problem:
       (FW L2)RSC does not aggregate packet when RSS disable.

    Cause:
       Wrong initialization by firmware.

    Fix:
       Fixed firmware initialization.

    Impact:
       Introduced in firmware version 6.4.9.

 4. Problem:
       (FW iSCSI)CQ50672 - Chip hangs when running iSCSI traffic on one function
       and toggling load/unload on the other function.

    Cause:
       Firmware initialized the CAM incorrectly, causing iSCSI out of
       order client to receive an unexpected packet.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in release T6.0, BCM57710 only.

 5. Problem:
       CQ51218 RSS Completion deadlock caused UM_reset in miniport to be called.

    Cause:
       L4 RCQ processing was suspended until all ramrod completions arrived including L2,
       but L2 ramrod was starved since L4 didn't handle other L4 ramrod completions.

    Fix:
       Driver fix: suspend l4 rcq processing only while L4 RSS ramrod hasn't completed.

    Impact:
       Introduced in release T6.4, affects all chips.

Enhancements
------------
 1. Request:
       (FW Common)Support Tx-switching in TCP.

    Change:
       Toe and iSCSI can now use internal loopback for physical function to physical function
       communication within the same path.

    Impact:
       57712 multi function switch independent mode.

 2. Request:
       (FW TOE)Improve TOE performance to meet bi-directional line-rate traffic (BCM57800).

    Change:
       Reduce firmware cycle count in Rx path.

    Impact:
       None.

 3. Request:
       (FW FCoE)Synchronize all storms with ABTS operation before the transmission
       of ABTS packet, in order to avoid potential races.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       For L2 traffic when DCBX is enabled, the bus driver stops overwriting the priority of the
       "side band" VLAN if exist or adding a zero "side band" VLAN if a "side band"
       VLAN is missing.

    Change:
       The exact job is done from now on by L2 FW.

    Impact:
       None.

Version 6.4.12 (November 8, 2010)
==================================
 1. Problem:
       L2 TX traffic stopped.

    Cause:
       Tx firmware didn't synchronize TX packet completions.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.10 (VBD release 6.4.10)
       Rolled out in VBD 6.4.11, now all features/bug fixes of FW 6.4.10 are
       back in.

Version 6.4.11 (November 4, 2010)
==================================

Fixes
-----
 1. Problem:
       CQ50680 - System BIOS reports fatal error upon resume from system hibernate.

    Cause:
       A DCBX eVBD variable was not cleared before use coming back from D3.

    Fix:
       Initialize the variable before using it when coming back from D3.

    Impact:
       Introduced in release 6.4.0 57710 Only.

 2. Problem:
       TOE test fails on emulation.

    Cause:
       Mistaken activation of host-coalesing mechanism

    Fix:
       Prevent activation of host-coalesing mechanism for emulation

    Impact:
       Introduced in release 6.4.10 Emulation Only.

Enhancements
------------
 1. Request:
       Revert Firmware to 6.4.9

    Change:
       As Requested. Fixes marked as (FW) in 6.4.10 were reverted.


Version 6.4.10 (November 2, 2010)
==================================

Fixes
-----
 1. Problem:
       CQ50428 - NPART: Can not get DHCP assigned IPV4 address.

    Cause:
       NIG was not configured properly in nic partition mode.

    Fix:
       Configure NIG correctly when in nic partition mode.

    Impact:
       BCM57712 in NIC partitioning mode only.

 2. Problem:
       57710 driver load asserted.

    Cause:
       New classification flows didn't consider E1H properly.

    Fix:
       Fixed flows to support 57710.

    Impact:
       Introduced in release 6.4.0 57710 Only.

 3. Problem:
       BSOD when driver loads on 1G/100M/10M link speed

    Cause:
       Statistics DMAE context was not initialized properly in that case

    Fix:
       Initialize statistics DMAE context properly for 1G/100M/10M link speed

    Impact:
       Introduced in release 6.4.9

 4. Problem:
       RSS didn't function properly.

    Cause:
       Indirection table params weren't sent properly to FW.

    Fix:
       Update indirection table params properly.

    Impact:
       Introduced in T6.4.

 5. Problem:
       (FW L2)Weighted fair queuing congestion management doesn't work on BCM57712.

    Cause:
       Firmware might send packet to wrong port in case weighted fair
       queuing is enabled.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.2.0.

 6. Problem:
       (FW L2)Firmware doesn't work correctly for 2 TCP connections with the
       same toeplitz hash result, when RSC is enabled.

     Cause:
       The firmware wrongly invalidated the aggregation for the first
       connection, when a packet from the second connection arrived.

     Fix:
       Fixed firmware flow.

     Impact:
       Introduced in firmware version 6.4.7.

 7. Problem:
       (FW L2)When more than 16 RSC aggregations are open, aggregations might
       not close properly.

    Cause:
       The firmware miscalculated the RSC timer address.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.7.

 8. Problem:
       (FW iSCSI)CQ50380 - iSCSI offload - Event viewer shows NOP events.

    Cause:
       TCP window is closed and initiator cannot properly process
       incoming in-order packets.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in release T6.0.

Enhancements
------------
 1. Request:
       Support TOE Tx Dynamic Host-Coalescing possibility

    Change:
       As Requested.


Version 6.4.9 (October 27, 2010)
==================================

Fixes
-----
  1. Problem:
        CQ49515 & CQ50024 - Occasionally losing link on force 10/100 connections
        on boards with BCM84823 PHY.

     Cause:
        Not waiting for GPHY to complete reset.

     Fix:
        Add 50ms delay after 84823 PHY comes out of reset.

     Impact:
        BCM84823 based boards

  2. Problem:
        57711/57710: RSS Broken.

     Cause:
        HSI change wasn't done correctly by driver.

     Fix:
        Fixed HSI change.

     Impact:
        Introduced in release 6.4.6.

  3. Problem:
        CQ50538 - Reading hardware statistics causes a BSoD

     Cause:
        Driver initiated a DMAE transaction to an invalid address

     Fix:
        Fix DMAE destination address when reading NIC statistics

     Impact:
        Introduced in release 6.4.8

  4. Problem:
        (FW) When in MF mode, Hardware may get PCI error in case of
        TOE or iSCSI out-of-order flows.

     Cause:
         Firmware set the wrong PCI function ID.

     Fix:
         Fixed firmware flow.

     Impact:
         Introduced in firmware version 6.4.6, BCM57712 only.

  5. Problem:
        (FW)CQ50483: Chip got stuck during combined scenarios of Toe and L2.

     Cause:
        Context was not initialized correctly by the Firmware.

     Fix:
        Fix the initialization.

     Impact:
        Introduced in firmware version 6.4.6, BCM57710/11/11E only.

  6. Problem:
        (FW FCoE)Trying to transmit from invalid host memory address.

     Cause:
        Receiving incorrect FCP_XFR_RDY second packet.

     Fix:
        Rejecting the second FCP_XFR_RDY packet for the specific task.

     Impact:
        Introduced in firmware version 6.4.0.

  7. Problem:
        (FW FCoE)False timer REC_TOV expiration.

     Cause:
        Inappropriate advance of timer counter.

     Fix:
        Fixed firmware flow.

     Impact:
        Exists in all previous FCoE releases.

  8. Problem:
        (FW FCoE)Transmitting FCP_DATA frames with wrong OX_ID.

     Cause:
        Changing OX_ID once REC_TOV expiration is detected.

     Fix:
        Fixed firmware flow.

     Impact:
        Exists in all previous FCoE releases.



Enhancements
------------
 1. Request:
       Apply the T6.0 workaround for CQ50032, as permanent solution for T6.2 and forward:
       Block user configuration of number of iSCSI pending tasks.
       Use driver's binary default.

    Change:
       As Requested.


Version 6.4.8 (October 19, 2010)
================================
Fixes
-----

 1. Problem:
       57710: broadcast packets can be received on the wrong L2 client.

    Cause:
       Classification flow was using "unmatched unicast" flag also for
       broadcast packets.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.7.

 2. Problem:
       DCBX configuration of 802.1q pri may override VIC 802.1q pri
       configuration in NPAR-SD mode.

    Cause:
       Firmware override 802.1q pri field with DCBX configuration in
       case both DCBX and NPAR-SD are configured.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.4.

 3. Problem:
       Multicast NPAR-SD Rx packets are dropped in case they are received
       with NIV list which wasn't configured by the switch.

    Cause:
       Firmware discarded the packets in this case instead of flooding
       them to all active functions.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.4.

 4. Problem:
       When more than 16 RSC aggregations are open, aggregations are
       not closed properly.

    Cause:
       Firmware miscalculated the address for the RSC timers.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.7.

 5. Problem:
       (FCOE) RRQ frame was not sent after abort operation.

    Cause:
       Corrupted ABTS ACC frame reported to the driver.

    Fix:
       Firmware updates the correct R_CTL field in task context.

    Impact:
       Introduced in firmware version 6.4.0.


Enhancements
------------
 1. Request:
       Make sure starttype is 0 (SERVICE_BOOT_START), loadordergroup is
       System Bus Extender, and removed bootflags.

    Change:
       As Requested.

 2. Request:
       Support for E3 (57810, 57840).

    Change:
       As Requested.


Version 6.4.7 (October 13, 2010)
================================
Fixes
-----

  1. Problem:
         (FW)Rx packet are dropped in NPAR-SD mode.
     Cause:
         Firmware was using the wrong data of NPAR-SD tag parsing info.
     Fix:
         Fixed firmware flow.
     Impact:
         Introduced in firmware version 6.4.4.

  2. Problem:
         (FW L2)No Tx completions on forward connection.
     Cause:
         Firmware didn’t update the required internal counter for
         generating Tx completions.
     Fix:
         Fixed firmware flow.
     Impact:
         Introduced in firmware version 6.4.6.

  3. Problem:
         (FW L2)Malicious VF detection flow may cause memory corruption on
         TX processor.
     Cause:
         Bug in relevant firmware flow.
     Fix:
         Fixed firmware flow.
     Impact:
         Introduced in firmware version 6.4.0.

  4. Problem:
         (FW FCoE)CQ50211 - InvalidCrcCount value after collecting statistics.
     Cause:
         Wrong statistics collection in firmware.
     Fix:
         Fixed firmware flow.
     Impact:
         Introduced in firmware version 6.4.0.

  5. Problem:
         (FW FCoE)CQ50267 - ABTS sent with incorrect RX_ID value.
     Cause:
         Firmware reported incorrect task information when detecting
         the error.
     Fix:
         Fixed firmware flow.
     Impact:
         Introduced in firmware version 6.4.0.


Enhancements
------------
  1. Request:
        (FW L2)Add support for RSC (receive side coalescing) in windows 8.
     Change:
        New features:
             a. RSC enable/disable can now be control with ramrod.
             b. When closing a RSC aggregation, the firmware will also report the driver the num of packet coalesced into the aggregation
                and the timestamp difference between the first and last packet in the aggregation.
             c. New statistics were added (as mention in HSI changes).
             d. Adapt aggregation rules to fit MSFT RSC spec.
     Impact: None.


Version 6.4.6 (October 04, 2010)
================================
Fixes
-----

 1. Problem:
       (FW) Occasional HW attention in iSCSI out of order and TOE
       offload/upload scenarios.

    Cause:
       When multiple consecutive packets are sent on L2 forward connection,
       firmware might manage internal transmission credit incorrectly.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.2.0.

 2. Problem:
       (FW L2) LSO packets with large contiguous buffers may not be sent to
       network properly.

    Cause:
       Firmware didn’t calculate correctly the number of segments to
       be sent to network for LSO packet with large contiguous buffers.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.5.

 3. Problem:
       (FW FCoE) FCP_XFR_RDY verification failed leads to abort the task.

    Cause:
       Error in verification procedure in second FCP_XFR_RDY packet
       on single task.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in firmware version 6.4.0.

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

 1. Request:
       (FW L2) Support overriding TX packet priority field in NPAR-SD mode in
       case it doesn't match one of the allowed configured priorities.

    Change:
       As requested.

    Impact:
       None.

Version 6.4.5 (September 27, 2010)
==================================
Fixes
-----

 1. Problem:
       (FW L2) Wrong statistic counter might be updated.

    Cause:
       In client init the queue statistic address might be
       calculated wrongly.

    Fix:
       Fixed the calculation in client init.

    Impact:
       Introduced in firmware version 6.2.1.

 2. Problem:
       (FW L2) Congestion management doesn't work properly in case of
       single L2 connection scenario at 57712.

    Cause:
       In case of single connection L2 firmware didn't allow pausing
       transmission which is needed for the congestion management functionality.

    Fix:
       Firmware now considers congestion management decision to pause
       transmission.

    Impact:
       Introduced in firmware version 6.2.1.

 3. Problem:
       (FW L2) The firmware returned the wrong error state for Ethernet ramrods.

    Cause:
       The code in Xstorm didn't save error state correctly.

    Fix:
       Fixed the relevant flow.

    Impact:
       Introduced in firmware version 6.2.0.

 4. Problem:
       (FW L2) PF FLR could hangs the chip.

    Cause:
       The firmware didn't return activity counter to CFC correctly.

    Fix:
       Fixed the relevant flow.

    Impact:
       Introduced in firmware version 6.2.0.

 5. Problem:
       (FW L2) CQ49299 - Customer reported bug: HW stuck
       after 8 hours of heavy LSO traffic. Idle check shows PBF/QM
       credit underflow.

    Cause:
       When driver send an LSO packet which BDs are larger than 64K,
       the firmware calculate the total SGL length in a uint16 variable
       which overlaps and causing an erroneous PBF command.

    Fix:
       Change the counter to be uint32.

    Impact:
       Exists in all previous releases.

 6. Problem:
       (FW L2) L2 traffic might be stopped in case of dcb updates COS value for some
       traffic types.

    Cause:
       The firmware didn't return activity counter to CFC correctly.

    Fix:
       Fixed the relevant flow.

    Impact:
       Exists in all previous releases that support dcb updates.

Enhancements
------------
 1. Request:
        CQ50006 - Add OEM specific 4-part ID

    Change:
       As requested.

    Impact:
        None.


Version 6.4.4 (September 21, 2010)
==================================
Fixes
-----
 1. Problem:
       FCOE miniport fails to load.

    Cause:
       VBD driver gave the FW a wrong EQ base address at startup.

    Fix:
       VBD driver gives FW the correct EQ base address at startup.

    Impact:
       Introduced in release T6.4.3.

Version 6.4.3 (September 20, 2010)
==================================
Fixes
-----
 1. Problem:
       CQ49795 - Link loss on port after multiple iterations of load-unload

    Cause:
       When link change occur, and at the same time the driver is unloaded,
       the NIG attention is left latched since it is used to be cleared only
       during link change event. This leads that following link change events
       are actually masked.

    Fix:
       Clear NIG latched attention during driver unload

    Impact:
       BCM84823 based boards

 2. Problem:
       CQ49760 - Slow F6 installation on boards with BCM84823 PHY.

    Cause:
       Not waiting until PHY has come out of reset.

    Fix:
       Poll on reset bit. Timeout after 1 second.

    Impact:
       BCM84823 based boards

 3. Problem:
       CQ49803 - On systems that are PCIe hotplug capable, the bus driver child
       devices are displayed as removable devices in the "Safely remove hardware"
       dialog. These devices should not be listed in this dialog

    Cause:
       Bus driver did not clear the 'Removable' pci capabilty of its child devices.

    Fix:
       Clear the 'Removable' pci capabilty of bus driver's child devices.

    Impact:
       All previous versions


Enhancements
------------
 1. Request:
        Remove workaround added in T6.0 evbd for 57712, to move from IGU BC mode to IGU BCM57712 mode.
        (Since boot driver was enhanced to support BCM57712 mode)

    Change:
       As requested.

    Impact:
       Introduced in release T6.0. 57712 only.

 2. Request:
        DCB: Set traffic type of iSCSI ethernet ring to use iSCSI traffic type
        rather than network traffic type.

    Change:
       As requested.

    Impact:
       57712 with DCB only.

 3. Request:
       Increase drop threshold for receiver lossy COS, from
       10 to 90, when PFC is enabled.

    Change:
       As Requested.

    Impact:
       None.

Version 6.4.2 (August 31, 2010)
===============================
 1. Problem:
       Several Whql VMQ tests failues.

    Cause:
       Two causes: (1) bug in configuring mac-vlan pair.
       (2) Size of header was set incorrectly.

    Fix:
       Configure mac-vlan pair correcly, and set header size correctly
       according to new HSI

    Impact:
       Introduced in release T6.4.

 2. Problem:
       configuring more than 16 multicast addresses caused BSOD.

    Cause:
       Not implemented correctly with new HSI.

    Fix:
       Implement correctly with new HSI.

    Impact:
       Introduced in release T6.4.

 3. Problem:
       Mac addresses weren't cleared on driver unload if miniport didn't
       delete them one by one before.

    Cause:
       Not implemented.

    Fix:
       Implement flow.

    Impact:
       Introduced in release T6.4.

 4. Problem:
       Driver offload statistics were inconsistant

    Cause:
       iSCSI and TOE offload statistics were stored in the same counters, but iSCSI only updates some of the statistics counters.

    Fix:
       Seperate iSCSI and TOE statistics.

    Impact:
       The fields 'num_offloads' and 'num_uploads' that are returned by the IOC code B10_IOC_GET_OFFLOAD_STATS now contain only
       the number of TOE offloaded connections (in all previous versions the number of iSCSI connections was included as well).

 5. Problem:
       Packets sent on forward channel on BCM57712 were discarded by L2 firmware.

    Cause:
       Packets were erroneously discarded due to wrong meta information.

    Fix:
       Mark Packets sent on forward connection so they won’t be discarded by firmware

    Impact:
       Introduced in firmware version 6.2.0.

 6. Problem:
       The driver couldn't change RSS mode during runtime.

    Cause:
       RSS update ramrod didn't include control over RSS mode.

    Fix:
       Added control over RSS mode to RSS update ramrod.

    Impact:
       Introduced in firmware version 6.2.0.

 7. Problem:
       The chip didn't support offload checksum and RSS for IPv6 packets.

    Cause:
       The firmware didn't identify IPv6 packet correctly.

    Fix:
       Adjust firmware IPv6 identification flow.

    Impact:
       Introduced in firmware version 6.2.0.

 8. Problem:
       inactivated client with pair classification rule, might receives packets.

    Cause:
       The firmware didn't check activation state in case of pair match.

    Fix:
       Add the relevant check.

    Impact:
       Introduced in firmware version 6.2.0.

 9. Problem:
       CQ49244 - ABTS BA_ACC dropped due to F_CTL (LAST_SEQ bit)
       verification mismatch.

    Cause:
       Detecting a protocol violation in ABTS BA_ACC frame from
       target (target protocol violation).

    Fix:
       No need to verify LAST_SEQ bit in F_CTL field.

    Impact:
       Exists in all previous releases.

 10.Problem:
       BMAC relays control packet to host and BRB is filled with
       unnecessary packets.

    Cause:
       BMAC is configured to relay control packets to host.

    Change:
       Configure BMAC not to relay control packets to host.

Enhancements
------------
 1. Request:
       Re-arrange congestion management, and remove redundant support for:
           a. Software PFC.
           b. Protocol-level fairness.
           c. CMNG demo code.

    Change:
       Code was removed and re-written in stormC.

    Impact:
       None.

 2. Request:
       FW Support for NPAR-SD tag in RX and TX paths.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       Move all FCoE slow path operations in function level to be from none connection type.

    Change:
      As requested.

    Impact:
      None.

 4. Request:
       Use two cached SGEs instead SGL that contains two SGEs.

    Change:
       Use two cached SGEs in task context while placing data.

    Impact:
       None.


Version 6.4.1 (August 18, 2010)
==============================
 1. Problem:
       Transmit statistics weren't updated correctly.

    Cause:
       Request contained the same address for TOE + ETH statistics.

    Fix:
       Assign different physical addresses for Toe + Eth.

    Impact:
       Introduced in release T6.4.

 2. Problem:
       57711 driver load failed.

    Cause:
       Changes in 57710/57711 set-mac implentation broke 57711 functionality.

    Change:
       Fix changes.

    Impact:
       Introduced in release T6.4.

 3. Problem:
       L2 / L4 RSS was broken.

    Cause:
       New FW HSI was not implemented completely.

    Change:
       Completed implementation.

    Impact:
       Introduced in release T6.4.

 4. Problem:
       Possible race between DCB update and Ethernet Tx single
       connection optimizations.

    Cause:
       When Single Eth connection is present it may not allow
       updating the association of Tx queues to COS.

    Fix:
       L2 firmware now considers DCB updates and may stop a single
       connection run to allow DCB configuration update.

    Impact:
       Introduced in firmware version 6.0.15.


 5. Problem:
       The error field in ramrod CQE always sent as 0.

    Cause:
       Wrong initialization of the CQE.

    Fix:
       Sending the correct value.

    Impact:
       Introduced in firmware version 6.2.0.

 6. Problem:
       Firmware entered to infinity loop in same case in Cstorm Common VfZone handler.

    Cause:
       Wrong calculation of VF.

    Fix:
       Fix the calculation.

    Impact:
       Introduced in firmware version 6.2.0.


Enhancements
-------------
 1. Request:
       Support any DQ configuration of VF CIDs allocation.

    Change:
       Firmware is not aware of VF-ID location inside the CID.
       The driver supplies VF-ID in ETE client init ramrod instead.

    Impact:
       None.

 2. Request:
       Omit the need to add broadcast mac to the cam in 57710 by the driver.

    Change:
         As requested.

    Impact:
         None.

 3. Request:
       Support multiple RSS indirection tables per function in Everest2.

    Change:
       Introduce notation of "RSS engine ID". The driver can allocate
       several RSS engines per function.
       Every "leading connection" should point to its associated engine ID.

    Impact:
       None.

 4. Request:
       Support multiple approximate multicast tables per function in Everest2..

    Change:
       Introduce notation of "approximate multicast engine ID".
       The driver can allocate several multicast engines per function.
       Every engine should point to a client which accepts its packets
       upon match.

    Impact:
       None.

 5. Request:
       Add the ability for firmware to record all ETH/COMMON ramrods on RAM.

    Change:
       Throw a warning-level assert for each ramrod on all storms upon configuration.

    Impact:
       None.


Version 6.4.1 (August 3, 2010)
==============================

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

 1. Request:
       Add DCBX MF.

    Change:
       As requested.

    Impact:
       None.

Version 6.2.16 (February 1st, 2011)
===================================

Fixes:
------

 1. Problem:
       In some rare circumstances, a problem (stop of traffic, incorrect statistics) might occur.

    Cause:
       Possibility of collision on Wide bus writing/reading (fail writing/incorrect reading).
       This because not using DMA engine for WB access.

    Change:
       Use DMA engine for WB access as before eVBD 6.2.15 but this time, use spin lock to protect the engine.

    Impact:
       This type of problem was introduced in eVBD 6.2.15 as part of the fix CQ52473.

Version 6.2.15 (January 25, 2011)
=================================

Fixes:
------

 1. Problem:
       CQ52473 - Assert is seen while running BacsCLI automation on advanced driver properties.

    Cause:
       DMA engine access was not protected and caused multiple use from different flows.

    Change:
       Removed DMA engine use in the relevant flow.

    Impact:
       T6.2 BCM57712 mode load/unload flows when link is up.

Version 6.2.14 (January 24, 2011)
=================================

Fixes:
------

 1. Problem:
       CQ52212 8073PHY intermittently exhibits signs of disconnected devices
       upon loading/unloading.

    Cause:
       Microcontroller and Driver both controlling Xaui Low Power Mode.

    Change:
       Remove Driver control of Xaui Low Power Mode.

    Impact:
       8073PHY based boards.

 2. Problem:
       CQ51624 PHY TXONOFF_PWRDN_DIS bit set to "1" instead of default 0 to
       prevent reset & power down of PHY.

    Cause:
       When GPIO controls TX Laser on 8727 and 8706, turning off laser will put
       PHY in low power mode.

    Change:
       Set TXONOFF_PWRDN_DIS accordingly.

    Impact:
       8727PHY and 8706PHY based boards with TX laser controlled by GPIO_0.

 3. Problem:
       Potential wrong PHY initialization when loading the first function on a port,
       after another function from this port was unloaded.
       (CQ51091/CQ52178 Link loss on stress).

    Cause:
       In this case, the driver won't lock PHY access, which may cause MDC/MDIO collision.

    Change:
       Initialize the lock flag on the init driver stage, instead of the common and port init stage.

    Impact:
       T5.2a in MF mode (NPAR/Switch dependant) 8726 and 8727 (on top of the 8073) and any other MDC_MDIO design.

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

 1. Request:
       Reduce memory consumption for specific OEM BCM57712 devices (CQ50656/CQ50654)

    Change:
       As requested (INF).

    Impact:
       Specific BCM57712 OEM devices.

Version 6.2.13 (January 10, 2011)
=================================

Enhancements
------------
 1. Request:
       (CQ51889) Add Common Mode Sense (CMS) enable/disable
       functionality

    Change:
       Adding field 156 to nvm cfg, as well as support in eLink.

    Impact:
       NVM config and Common Mode Sense capable PHYs.

Version 6.2.12 (December 22, 2010)
==================================

Fixes:
------
 1. Problem:
       CQ51134 - NCSI functionality dependant on port initialization
       Sequence

    Cause:
       When the driver loads the first port, some PHYs require reset
       and loading their microcode on both ports. In case NCSI was
       enabled on the other port, the traffic was stopped since PHY
       was reset

    Change:
       Load PHY microcode during common init, only if the PHY
       microcode wasn't loaded.

    Impact:
       Requires bootcode 6.2.8 to resolve this problem
       PHY firmware upgrade will require reboot from now on.

 2. Problem:
       BCM8727 Link LED not functioning properly during BACS LED test.

    Cause:
       Not blinking correct link light.

    Impact:
       BCM57712 + BCM8727 based boards.

 3. Problem:
       CQ51367 - BCM84823/84833 activity LED blinks at lower rate on 10G
       link.

    Cause:
       The activity LED control registers are not configured right.

    Change:
       Enabled activity LED stretch_en bit. Made activity LED blink on
       source.

    Impact:
       BCM57712 + BCM84823/84833 based boards.

 4. Problem:
       CQ51694 - 57712 A1 EVBD/NDIS/FCOE/iSCSI device instance numbers are inconsistent.

    Cause:
       Bug in string manipulation.

    Change:
       Fix wrong string handling.

    Impact:
       Feature complete of CQ50608 (Introduced eVBD 6.2.4).

 5. Problem:
       CQ51867 - Speed and flow control options appear in drivers properties advance tab for NPAR devices.

    Cause:
       Redundant entries in INF

    Change:
       Remove the redundant parameters from INF.

    Impact:
       57712 Introduced in T6.2

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

 1. Request:
       CQ51710 - Disable CMS (common mode sense) feature in 84823 PHY, as
       this reduces power consumption and allows a better 10G link stability.

    Change:
       Clear the CMS bit in PHY register in PHY configuration routine.

    Impact:
       BCM84823B based boards

 2. Request:
      DCBX default settings were changed in eVBD from enable to disabled.

    Change:
       As requested

    Impact:
       57712 device.

Version 6.2.11 (December 15, 2010)
==================================

Fixes:
------
 1. Problem:
       CQ51685 - Some BCM8073 based boards fail during driver initialization

    Cause:
       BCM8073 microcode wasn't loaded correctly.

    Fix:
       Fix BCM8073 microcode load

    Impact:
       Introduced in release 6.2.10

Version 6.2.10 (December 14, 2010)
==================================

Fixes:
------

 1. Problem:
       CQ50380 - iSCSI offload - Event viewer shows NOP events.

    Cause:
       TCP window was closed due to out-of-order state, and initiator
       failed to send a window update when exiting out-of-order state.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in release T6.0.

 2. Problem:
       CQ51171 - One CX4 blade design does not autoneg to link up at 10G
       with a particular switch.

    Cause:
       The autoneg was not enabled due to incorrect setting at the XGXS
       AER.

    Change:
       Update the XGXS AER to devad 7 to allow proper configuration of
       autoneg.

    Impact:
       57712 device.

 3. Problem:
       CQ49175 - AUT fails to wake up from S4 via Interesting Packet.
       with a particular switch.

    Cause:
       Wrong configuration (missing register specific for 57712).

    Change:
       Write to the relevant register.

    Impact:
       57712 device.

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

 1. Request:
       CQ48296, CQ51540 - Add support for new BCM8727 boards

    Change:
       As requested

    Impact:
       BCM8727 based boards

 2. Request:
       CQ51640 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

Version 6.2.9 (December 2, 2010)
================================

Fixes:
------
 1. Problem:
       CQ50681 Device hangs on up/down test when PFC is enabled.

    Cause:
       If the device is going down while in PFC Xoff it will not set it to Xon and
       therefore, on the next load it will remain in constant Xoff.

    Change:
       Force PFC Xon when enabling the device

    Impact:
       57712 and 578xx.

 2. Problem:
       CQ48350, CQ49176, CQ50911 and CQ51200. BCM57712 not linking up after wake
       on S4 and S5.

    Cause:
       PHY firmware does not have enough time to download in 8073 and 8727 common init.

    Change:
       Poll until firmware is downloaded, and then timeout at 300ms.

    Impact:
       8727 and 8073 PHYs.

Version 6.2.8 (November 23, 2010)
=================================

Fixes:
------

 1. Problem:
       CQ51094,CQ50736 and CQ50611- eVBD doesn't enumerate OIS/FCOE driver during DVD
       installation using second port.

    Cause:
       eVBD read ISCSI/FCOE boot signature from a wrong register offset.

    Change:
       eVBD reads ISCSI/FCOE boot signature from a right register offset.

    Impact:
       BCM57712 only issue for all functions except function 0 on path 0.

 2. Problem:
       CQ50753 - Possible crash during terminate offload flow.

    Cause:
       Timer was not always cleared due to race in the firmware flow.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Introduced in release T5.2.

 3. Problem:
       Possible crash when FIN is received during out-of-order scenario.

    Cause:
       Illegal context load by firmware in a rare corner case of the above scenario.

    Fix:
       Fixed relevant firmware flow.

    Impact:
       Exist in all previous releases.

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

 1. Request:
       Removed DCBX BCM57711 only code.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Remove WDM power code from KMDF compilation.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       CQ51065 - In NPAR Max BW has changed from units of "intervals of [100Mbps]"
       to units of "% of physical link speed".

    Change:
       As requested.

    Impact:
       None.

Version 6.2.7 (November 18, 2010)
=================================

Fixes:
------

 1. Problem:
       CQ48350, CQ49175, CQ49176, CQ51078 - BCM57712 intermittently fails to link up after resuming from S4 power state.

    Cause:
       Locking mechanism for link initialization timed out.

    Fix:
       Increased the timeout of the phy lock.

    Impact:
       BCM57712 related.


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

 1. Request:
       CQ51034 CQ5114 - Add new BCM57712 device id's to the driver INF file (Updated).

    Change:
       As requested.

    Impact:
       None.

Version 6.2.6 (November 15, 2010)
=================================

Fixes:
------

 1. Problem:
       CQ50988 - Windows 2003 F6 installation: Windows BSOD at final boot-to-desktop phase.

    Cause:
       Different loading order of services in Windows 2003.

    Fix:
       Wdfldr and wdf01000 services are set to load group "Boot Bus Extender".

    Impact:
       Newly introduced in eVBD 6.2.3

 2. Problem:
       CQ50748 - MinBW not functioning as expected in certain NPAR configuration.

    Cause:
       MinBW algorithm coefficients were not calculated properly and cause the algorithm to not function well in extreme cases.

    Fix:
       re-calculate the algorithm coefficients to allow granularity of 1:100.

    Impact:
       Affects NPAR mode in which MAX bandwidth can be configured to over-subscription.

 3. Problem:
       Duplex status may be displayed incorrect

    Cause:
       Missing duplex configuration in some external PHYs when link goes up.

    Change:
       Set duplex to FULL when 10G link comes up

 4. Problem:
       CQ50610 - On systems with 6 CPU cores, when RSS chain count is set to 'auto',
       bus driver will set it to 3 instead of 4

    Cause:
       Bus driver doesn't make sure the number of RSS chain count is a power of 2.

    Fix:
       Bus driver makes sure the number of RSS chain count is a power of 2.

    Impact:
       Exist in all previous versions.

 5. Problem:
       CQ48350, CQ49175, CQ49176, CQ50911 - BCM57712 intermittently fails to link up after resuming from S4/S5 power states.

    Cause:
       BCM57712 missed locking mechanism for link initialization in specific phys.

    Fix:
       Add lock to the phy initialization.

    Impact:
       BCM57712 related.

 6. Problem:
       (FW)CQ50672 – Chip hangs when running iSCSI traffic on one function
       and toggling load/unload on the other function.

    Cause:
       Firmware initialized the CAM incorrectly, causing iSCSI out of
       order client to receive an unexpected packet.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in release T6.0, BCM57710 only.


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

 1. Request:
       CQ50291 - Include 1G speed option for specific boards so that it will support dual rate optic modules.

    Change:
       As requested.

    Impact:
       As requested.

 2. Request:
       CQ51034 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

Version 6.2.5 (November 8, 2010)
================================

Fixes
-----

 1. Problem:
       CQ50380 - iSCSI offload - Event viewer shows NOP events.

    Cause:
       TCP window is closed and initiator cannot properly process
       Incoming in-order packets.

    Fix:
       Fixed firmware flow.

    Impact:
       Introduced in release T6.0.

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

 1. Request:
       CQ49959 - Add Windows event log in case the PHY does not come out of reset after 1 sec.

    Change:
       As requested + log in case of MDIO access timeout.

    Impact:
       Enhanced implementation of existing events.

 2. Request:
       Init values change for BCM57712 A1

    Change:
       As requested.

    Impact:
       BCM57712 A1.

Version 6.2.4 (November 1, 2010)
================================

Fixes
-----
 1. Problem:
       CQ49515 & CQ50024 - Occasionally losing link on force 10/100 connections
       on boards with BCM84823 PHY.

    Cause:
       Not waiting for GPHY to complete reset.

    Fix:
       Add 50ms delay after 84823 PHY comes out of reset.

    Impact:
       BCM84823 based boards

 2. Problem:
       CQ50428 - NPART: Cannot get DHCP assigned IPV4 address.

    Cause:
       NIG was not configured properly in nic partition mode.

    Fix:
       Configure NIG correctly when in nic partition mode.

    Impact:
       BCM57712 in NIC partitioning mode only.

 3. Problem:
       CQ48203 Occasional assert is seen while traffic and load/unload on both ports together.

    Cause:
       Driver asserted on a valid condition.

    Fix:
       Removed assert.

    Impact:
       57710/57711 checked versions only (all versions).

Enhancements
------------
 1. Request:
       Apply the T6.0 workaround for CQ50032, as permanent solution for T6.2 and forward:
       Block user configuration of number of iSCSI pending tasks.
       Use driver's binary default.

    Change:
       As Requested.

 2. Request:
       CQ50609 - DMAE timeout should be 200ms for all request types (following the email thread about CQ49968).

    Change:
       As requested (in one of the flows it was 100ms).

    Impact:
       Only for emulation chips and future chip types.

 3. Request:
       CQ50608 - Append the SAME instance number to the end of the bus
                 driver's and its client device's friendly names (Corresponding 570x CQ36066).

    Change:
       As requested.

    Impact:
       Client's devices friendly name will have now same suffix as bus driver for all miniports (iSCSI, NDSI, FCoE etc...).

 4. Request:
       Introduce support MSI-X to msft brand's INF

    Change:
       As requested.

    Impact:
       Msft brand only


Version 6.2.3 (October 18, 2010)
==================================

Fixes
-----
 1. Problem:
       CQ49775 - Zero network utilization observed during cool down stage in NTTTCP.

    Cause:
       Amount of TOE memory is insufficient for some special cases of traffic.

    Fix:
       Restore TOE memory allocation up to sufficient amount.

    Impact:
       Introduced in T6.0

Enhancements
------------
 1. Request:
       Make sure starttype is 0 (SERVICE_BOOT_START), loadordergroup is
       System Bus Extender, and removed bootflags.

    Change:
       As Requested.

 2. Request:
       Implement bandwidth allocation for NPAR feature in BACS.

    Change:
       Add driver support for setting bandwidth allocation at runtime. Add bandwidth_min and bandwidth_max registry parameters.

    Impact:
       BCM57712 in NIC partitioning mode only.



Version 6.2.2 (September  27, 2010)
===================================

Fixes
-----

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

 1. Request:
       CQ50006 - Add OEM specific 4-part ID.

    Change:
       As Requested.

    Impact:
       None.

 2. Request:
       (CQ49904, CQ49905) Support external copper PHYs on 57712 for
       some OEM designs.

    Change:
       Tweaked GPIO control and PHY type lookup in shared memory to
       accommodate 57712 structure.

    Impact:
       None.

Version 6.2.1 (September 20, 2010)
==================================

Fixes
-----
 1. Problem:
       CQ49795 - Link loss on port after multiple iterations of load-unload

    Cause:
       When link change occur, and at the same time the driver is unloaded,
       the NIG attention is left latched since it is used to be cleared only
       during link change event. This leads that following link change events
       are actually masked.

    Fix:
       Clear NIG latched attention during driver unload

    Impact:
       BCM84823 based boards

 2. Problem:
       CQ49760 - Slow F6 installation on BCM84823

    Cause:
       Not waiting until PHY has come out of reset.

    Cause:
       Poll on reset bit. Timeout after 1 second.

    Impact:
       BCM84823 based boards

 3. Problem:
       BCM8726 was not reset during common init

    Cause:
       GPIO assert should have been swap due to board design

    Change:
       Assert reset through the swapped GPIO port

    Impact:
       BCM8726 based boards

 4. Problem:
       CQ49803 - On systems that are PCIe hotplug capable, the bus driver child
       devices are displayed as removable devices in the "Safely remove hardware"
       dialog. These devices should not be listed in this dialog

    Cause:
       Bus driver did not clear the 'Removable' pci capability of its child devices.

    Fix:
       Clear the 'Removable' pci capability of bus driver's child devices.

    Impact:
       All previous versions

 5. Problem:
       CQ49750 - Traffic was dropped by TOE receive, causing connection termination.

    Cause:
       Erroneous management of generic buffers when there is lack of
       buffers could lead to deadlock and long period of Xoff.

    Fix:
       Driver posts enough generic buffers so firmware will exit from Xoff.

    Impact:
       None.

 6. Problem:
       CQ49775 - Zero network utilization observed during cool down stage in NTTTCP.

    Cause:
       Driver erroneously initializes TOE DHC shift on early stage of loading.

    Fix:
       Driver initializes TOE DHC shift on advanced stage of loading having more information
       about TOE memory parameters.

    Impact:
       Introduced in T6.0.

 7. Problem:
       CQ49737 - eVBD:57711 SFP+: BSOD is seen while running stress test to SLB-AFD team,
       while running load/unload.

    Cause:
       Race between query of status block index while processing interrupt, and destruction of
       the driver data structure associated with the same status block index, resulted null
       pointer access.

    Fix:
       Fix driver logic to avoid the race.

    Impact:
       All driver versions.

 8. Problem:
       CQ49299 - (FW L2) HW stuck after 8 hours of heavy LSO traffic.

    Cause:
       Firmware miscalculated SGL length of LSO packet with BDs larger than 64K,
       leading to erroneous HW command.

    Fix:
       Fix calculation.

    Impact:
       Exist in all previous releases.

Enhancements
------------
 1. Request:
       Remove workaround added in T6.0 evbd for 57712, to move from IGU BC mode to IGU BCM57712 mode.
       (Since boot driver was enhanced to support BCM57712 mode)

    Change:
       As requested.

    Impact:
       Introduced in release T6.0. 57712 only.

Version 6.2.0 (September 1, 2010)
=================================

Fixes
-----
 1. Problem:
       CQ49649 - Dual Media: No 1Gb fiber link after changing driver
       speed property, when cable is connected.

    Cause:
       Link interrupt is generated from NIG attention common for both
       phys on dual media board. The NIG status was set for
       both PHYs while it should have been done for the copper
       attention only.

    Change:
       Set NIG attention according to the active PHY

    Impact:
       Dual media boards

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

 1. Request:
       Add BCM57712 device id's to INF.

    Change:
       As Requested.

    Impact:
       None.

Version 6.0.60 (October 24, 2010)
================================

Fixes
-----
 1. Problem:
       CQ50560 - Issues upgrading 57711 from T5.2 Gold to T6.0 Gold.

    Cause:
       Wrong initialization of FW RAM caused invalid address read/write which made the chip hang.

    Fix:
       Fixed wrong initialization.

    Impact:
       Introduced in eVBD 6.0.43 for 57711/57711E only.

Version 6.0.59 (October 7, 2010)
================================

Fixes
-----
 1. Problem:
       CQ50032 - BSOD when passing traffic on several iSCSI functions in parallel,
       while each of the functions has a different configured number of pending tasks.

    Cause:
       FW does not support this configuration.

    Fix:
       Workaround - Block user configuration of number of pending tasks.
       Use driver's default.

    Impact:
       All previous versions.

Version 6.0.58 (September 16, 2010)
===================================

Fixes
-----
 1. Problem:
       CQ49760 - Slow F6 installation on BCM84823

    Cause:
       Not waiting until PHY has come out of reset.

    Cause:
       Poll on reset bit. Timeout after 1 second.

    Impact:
       BCM84823 based boards

 2. Problem:
       BCM8726 was not reset during common init

    Cause:
       GPIO assert should have been swap due to board design

    Change:
       Assert reset through the swapped GPIO port

    Impact:
       BCM8726 based boards

Version 6.0.57 (September 13, 2010)
==================================

Fixes
-----
 1. Problem:
       CQ49795 - Link loss on port after multiple iterations of load-unload

    Cause:
       When link changes occurs, and at the same time the driver is unloaded,
       the NIG attention is left latched since it is used to be cleared only
       during link change event. This leads that following link change events
       are actually masked.

    Fix:
       Clear NIG latched attention during driver unload

    Impact:
       BCM84823 based boards

Version 6.0.56 (September 7, 2010)
==================================

Fixes
-----
 1. Problem:
       (FW L2) LSO packets with Large buffer size might not be sent correctly to network.

    Cause:
       Miscalculation of number of MSS existing within a LSO packet with large buffer sizes.

    Fix:
       Fix calculation.

    Impact:
       Introduced in firmware 6.0.32.

Version 6.0.55 (September 6, 2010)
==================================

Fixes
-----
 1. Problem:
       CQ49750 - Traffic was dropped by TOE receive, causing connection termination.

    Cause:
       Erroneous management of generic buffers when there is lack of
       buffers could lead to deadlock and long period of Xoff.

    Fix:
       Driver posts enough generic buffers so firmware will exit from Xoff.

    Impact:
       None.

 2. Problem:
       CQ49775 - Zero network utilization observed during cool down stage in NTTTCP.

    Cause:
       Driver erroneously initializes TOE DHC shift on early stage of loading.

    Fix:
       Driver initializes TOE DHC shift on advanced stage of loading having more information
       about TOE memory parameters.

    Impact:
       Introduced in T6.0.

 3. Problem:
       CQ49737 - eVBD:57711 SFP+: BSOD is seen while running stress test to SLB-AFD team,
       while running load/unload.

    Cause:
       Race between query of status block index while processing interrupt, and destruction of
       the driver data structure associated with the same status block index, resulted null
       pointer access.

    Fix:
       Fix driver logic to avoid the race.

    Impact:
       All driver versions.

 4. Problem:
        CQ49299 - (FW L2) HW stuck after 8 hours of heavy LSO traffic.

    Cause:
        Firmware miscalculated SGL length of LSO packet with BDs larger than 64K,
        leading to erroneous HW command.

    Fix:
        Fix calculation.

    Impact:
        Exist in all previous releases.

Version 6.0.54 (September 1, 2010)
==================================

Fixes
-----
 1. Problem:
       CQ49649 - Dual Media: No 1Gb fiber link after changing driver
       speed property, when cable is connected.

    Cause:
       Link interrupt is generated from NIG attention common for both
       phys on dual media board. The NIG status was set for
       both PHYs while it should have been done for the copper
       attention only.

    Change:
       Set NIG attention according to the active PHY

    Impact:
       Dual media boards

Version 6.0.53 (Aug 30, 2010)
=============================

Fixes
-----
 1. Problem:
       CQ49638 - 57711 SFP+: Link down is observed while running chariot HPT stress and load/unload on eVBD.

    Cause:
       MDIO lock was not taken for IOCTL's which caused link loss upon condition race (after 2-3 hours).

    Change:
       Take MDIO lock when relevant for PHY access.

    Impact:
       Specific PHY's, Only when BACS is open and load/unload is in background + Introduced eVBD 6.0.24

Version 6.0.52 (Aug 25, 2010)
=============================

Fixes
-----
 1. Problem:
       CQ48837 - SOL/CKVM connectivity is lost after a BSOD.

    Cause:
       Invalid register reads during debugging information collection upon BSOD,
       caused the MCP and the MGMT FW to hang due to parity errors.

    Change:
       Disabled the parity error check in MCP upon debugging information collection during BSOD.

    Impact:
       Re fix to a fix submitted in 6.0.48, in order to remove the restrictions of the Bootcode version
       and the reduce register read during BSOD.

 2. Problem:
       CQ49611 - Assert is seen while re-enabling NDIS in bacsCLI under resource reservations.

    Cause:
       Race between "CFC Delete Ramrod" of iSCSI connection and "Function Stop Ramrod", resulted the CFC DEL Ramrod
       to be erroneously executed after the Function Stop Ramrod and causing the FW to hang.

    Change:
       Fix driver logic to avoid the race.

    Impact:
        Introduced in release T6.0

 3. Problem:
       (Theoretical bug only) when testing ISCSI with heavy traffic on all the ISCSI connections and
       also sending ISCSI packets that contains errors, eVBD asserts.

    Cause:
       The FW doesn't have room to write the error notification into the "event queue", because driver
       doesn't take it into account error notification events when allocating the "event queue".

    Change:
       When the driver allocates the event queue, the error notification events are taken into account.

    Impact:
        All driver versions (when iSCSI client active)

Version 6.0.51 (Aug 24, 2010)
=============================

Fixes
-----

 1. Problem:
       CQ49516 CQ49493 - Revert back the S5 WOL functionality to always look at NVRAM magic packet WOL Setting (Refix)

    Cause:
       We changed to OOB state when WoL was disabled in NVRAM but in case WoL was enabled
       in NVRAM driver didn't configure the magic packet correctly.

    Change:
       In case WoL enabled in NVRAM, force driver to configure magic packet.
       If LAA/VMAC address exists use it otherwise use NVRAM address.

    Impact:
       Refix to a fix submitted in 6.0.49

 2. Problem:
       CQ49598, CQ49565 - Assert is seen while applying changes (remove vlans) to LACP team.

    Cause:
       When RSS enabled is called after RSS disabled and CPU0 is handled by a status block (SB) that is
       greater than SB_X(X>0). SB_X interrupts won't be handled because an eVBD parameter is
       run over in that state.

    Change:
       Removed the run over of the parameter in that state.

    Impact:
       Introduced in release 6.0.48

Version 6.0.50 (Aug 19, 2010)
=============================

Fixes
-----

 1. Problem:
       CQ49535 - VMQ: BSOD while running BACS diagnostic test with active VMQs.

    Cause:
       Driver failed the Diag's queue group creation in VMQ mode.

    Change:
       Allow the Diag's queue group creation in VMQ mode.

    Impact:
       Introduced in release T6.0.

 2. Problem:
       CQ49549,CQ49548 - BSOD when unplug the cable while passing iSCSI traffic and some of the ports are disabled.

    Cause:
       Driver writes to ISCSI OOO FW internal memory a parameter that is correct only for
       function 0.

    Change:
       Driver writes to ISCSI OOO FW internal memory a parameter that is right for all
       functions.

    Impact:
       Introduced in release T6.0.

 3. Problem:
       CQ49197 - No link at 1Gb/2.5Gb on BCM8073 based boards

    Cause:
       CL37 BAM was enabled on all boards while it should be configurable.

    Change:
       Disable CL37 BAM by default.

    Impact:
       BCM8073 based boards
       Introduced in 6.0.29

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

 1. Request:
       CQ49516 CQ49493 - Revert back the S5 WOL functionality to always look at NVRAM magic packet WOL Setting

    Change:
       Request to revert back the S5 WOL functionality to look at the NVRAM setting instead of Power management check-box for wake up capability.
       The device MAC address at the time of shutdown should be the device used to wake the system from magic packet.
       This mac address can be Physical, LAA, BOFM, MF and/or NP assigned MAC address.

    Impact:
       T6.0

Version 6.0.49 (Aug 17, 2010)
=============================

Fixes
-----

 1. Problem:
       False Magic Packet machine Wake up in multi vnic mode.

    Cause:
       Any function MAC would wake the machine in case at least one of the functions was
       configured by the user to wake up the machine.

    Change:
       Write an appropriate value to a register that will cause only
       required functions to wake up the system.

    Impact:
       eVBD 6.0.46 (part of "Advertise WoL capabilities to functions>1 also in switch dependent mode" enhancement)

 2. Problem:
       CQ49329 - NDISTest 6.5 vmqscalability test fails on 32 proc system.

    Cause:
       Wrong CPU affinity settings for VMQ's DPCs.

    Change:
       Fix CPU affinity settings for VMQ's DPCs.

    Impact:
       Introduced in release T6.0.

 3. Problem:
       In INTA and RSS disabled when all eVBD clients were disabled and then enabled,
       only one CPU shows traffic(instead of all processors).

    Cause:
       An Evbd internal parameter was not initialized when the first eVBD clients was enabled.

    Change:
       Initialize the Evbd internal parameter when the first eVBD client is enabled.

    Impact:
       All driver versions.

 4. Problem:
       In MSIX when evbd start with RSS disabled we will always work on CPU 0. (Instead of all processors).

    Cause:
       Initial RSS settings were run over.

    Change:
       Fix the run over of initial RSS settings.

    Impact:
       Newly introduced in T6.0.

Version 6.0.48 (Aug 12, 2010)
=============================

Fixes
-----

 1. Problem:
       Dual Media PHY 84823 activity and front panel LED's not
       functioning correctly. Also Diagnostic Mode LED's not firing
       correctly.

    Cause:
       LED masks not set correctly.

    Change:
       Changed LED masks, and added LED mode for Diagnostics.

    Impact:
       Dual Media boards.

 2. Problem:
       CQ49296 - Dual media:  Copper link would not come up upon removal of
       fiber media when serdes priority and 1GB full is set

    Cause:
       When Fiber link is set to 1G, its XAUI will not automaticity power down
       like it does in 10G. This cause the BCM84823 to detect false link from
       the BCM8727 even if Fiber is not connected. This ends up in not linking
       the copper side.

    Change:
       When link is configured to 1G, power down the BCM8727 XAUI side, and
       when link comes up, power it up.

    Impact:
       Dual Media boards.

 3. Problem:
       CQ46985 - Total throughput on 57711 10G NIC is 35-45% lower when
       hyper-threading is enabled and RSS set to auto.

    Cause:
       The problem here is that eVBD gets only one MSIX vector, in this state
       eVBD depends on static DPC affinity and can only work on processors 0-3.
       In hyper-threading windows sends in the RSS indirection table when
       hyper-threading is enabled only even real processors(processors
       0,2,4 and 6).(This problem also exists in RSS version 2.)

    Change:
       Added DPC dynamic affinity.

    Impact:
       All driver versions.

 4. Problem:
       CQ48837 - SOL/CKVM connectivity is lost after a BSOD.

    Cause:
       Invalid register reads during debugging information collection upon BSOD,
       caused the MCP and the MGMT FW to hang.

    Change:
       Reduce register read during BSOD.

    Impact:
       T6.0 Bootcode version should be used.

 5. Problem:
       CQ48817 CQ49197 - S5 WOL does not work after Windows shutdown.

    Cause:
       Due to slight enhancement change in WOL requirements for T6.0
       Code change caused S5 WOL to change the way it is configured
       So OS configuration for "Wake up the machine" were mistakenly ignored.

    Change:
       Consider OS configuration for S5 state.

    Impact:
       Newly introduced in T6.0

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

 1. Request:
       CQ49275 - Remove BCM57712 device id's from INF.

    Change:
       As Requested.

    Impact:
       None.

Version 6.0.47 (Aug 10, 2010)
=============================

Fixes
-----

 1. Problem:
       CQ49243 - Hyper-V: BSOD when running sockdie stress client on VM and sockdie stress server on host.

    Cause:
       Excessive driver's assertion on well known race condition between rejection of driver's data indication and zero byte request posting.

    Change:
       Modify assertion's condition to reflect real problem but not known condition.

    Impact:
       T5.2 Checked versions only.

 2. Problem:
       CQ48584 - Intermitted link issue and unexpected behavior using boards
       with external PHYs.

    Cause:
       PHY lock indication was missing on second port, so there was no locking
       between the ports. When two ports tried to read/write from the PHY, they
       the instruction may collide.

    Change:
       Set PHY lock indication of both ports

    Impact:
       57710/57711 on boards with external PHY.
       Introduced: 6.0.0

 3. Problem:
       CQ49219 - Dual media: Copper link does not come up once 10gbaseT priority
       is set in driver property

    Cause:
       Link indication from both Copper and Fiber

    Change:
       Ignore link indication from Fiber in case Copper is selected

    Impact:
       Dual-media boards
       Introduced: 6.0.46

  4. Problem:
        CQ49244 - ABTS BA_ACC dropped due to F_CTL (LAST_SEQ bit)
        verification mismatch.

     Cause:
        Detecting a protocol violation in ABTS BA_ACC frame from
        target (target protocol violation).

     Fix:
        No need to verify LAST_SEQ bit in F_CTL field.

     Impact:
        T6.0/FCoE.


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

 1. Request:
       Changed ETS behavior when 100%-0% bandwidth allocation is received,
       from no ETS configuration to 99%-1% bandwidth allocation.

    Change:
       As Requested.

    Impact:
       FCoE only.

Version 6.0.46 (Aug 5, 2010)
============================

Fixes
-----

 1. Problem:
       BACS Led test failed for some boards when running in "diag mode".

     Cause:
       When running in "diag mode" phy needs to be initialized before led is toggled.

     Change:
       start/stop chip in LED IOCTL in case IOCTL was received while eVBD is in diag mode.

 2. Problem:
       BACS Led test failed in case MAC loopback test ran before.

     Cause:
       When running in "diag mode" need to cancel loopback mode.

     Change:
       Cancel loopback mode before LED test.

 3. Problem:
       84823 PHY not showing correct Link LED's. Introduced in 6.0.22.

    Cause:
       Incorrectly setting LED Masks.

    Change:
       Eliminated offending branch in code.

    Impact:
       84823 boards.

 4. Problem:
       CQ49001 - WHQL vmqpnptest fails if vmqsharedmemory test is executed before it.

     Cause:
       Some fields in l2 client data structure were not properly initialized in case
       of VMQ LAH size of 0.

     Change:
       properly initialize all fields.

     Impact:
       VMQ only. Introduced in T6.0

 5. Problem:
       CQ49004 - Dual Media: Switch show link on both media
       simultaneously.

    Cause:
       Not disabling TX on non-active port.

    Change:
       Disable TX on non-active port.

    Impact:
       Dual-Media boards.

 6. Problem:
       CQ49086 CQ48975 - On BCM8727 based boards, when link speed is changed from 1G to 10G, PCS
       may be halted.

    Cause:
       Restoring 10G link setting was done according to old PHY microcode.

    Change:
       Restore default 10G link setting according to new microcode.

    Impact:
       BCM8727 based boards.

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

1. Request:
       Advertise WoL capabilities to functions>1 also in switch dependent mode.

    Change:
       In switch dependent mode WoL capabilities were set always to none. now it is as same as func 0/1.

    Impact:
       Systems with WoL capabilities in switch dependent mode in MF mode.

Version 6.0.44 (Aug 02, 2010)
=============================

Fixes
-----
 1. Problem:
       CQ48747 - Dual media: fiber port does not link at 1gig speed

    Cause:
       The link speed in the pass-through phy (84823) was set to 10G

    Change:
       Set the pass-through speed to 1G as well when fiber is set to 1G

 2. Problem:
       CQ49142 - 57712: Disabling persistent target caused BSOD

    Cause:
       Invalid memory access to the neighbor state of an uploaded
       connection in NIC partitioning multifunction mode.

    Fix:
       Access the memory before the neighbor state is discarded

    Impact:
       Introduced in eVBD 6.0.41

 3. Problem:
       CQ48837 - SOL/ckvm "not ready" after a BSOD

    Cause:
       As part of the bugcheck procedure eVBD halt all the storms.
       The halt cause BRB to get full that causes xoff to be sent
       and no more packets are received and then traffic stops and
       that's the reason for the loss of cKVM/SOL.

    Fix:
       Disable xoff at bugcheck.

    Impact:
       All driver versions.

 4. Problem:
       CQ48308 - In bacs diag test, the LED does not function as expected, LED does not flash during test in some of the boards

    Cause:
       LED operation is different between the boards.

    Fix:
       Add a new IOCTL to eVBD for LED support that will be generic for all boards.
       this IOCTL should replace existing IOCTL in bxdiag so BMAPI call eVBD new IOCTL instead

    Impact:
       In order to use the IOCTL, a new BMAPI is needed.

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

 1. Request:
       CQ48997 CQ47847 - PNP Device ID's for removal from INF's prior to T6.0 RC.

    Change:
       As Requested.

    Impact:
       None.

Version 6.0.43 (July 27, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ48974 - NDISTest 6.5 vlansendrecv test failure when VMQ is enabled.

    Cause:
       WHQL ndistest sets the default queue group's filter with "vlan present"
       flag and specific vlan, but expects the device to accept traffic with any vlan.

    Change:
       In VMQ enabled mode, the driver will set the default queue group's
       filter options to accept any vlan.

    Impact:
       Introduced in eVBD 6.0.24.

 2. Problem:
       CQ48816 - BSOD is seen while passing chariot traffic to 2
       teams and load/unload on 4 functions.

   Cause:
       Evbd wrote to a wrong FW RAM offset in BCM57711/2.

   Change:
       Removed the wrong write in BCM57711/2.

   Impact:
       Introduced in release T6.0.12.

 3. Problem:
       CQ48990 - First iteration of MAC loopback test intermittently fails while running BACS diagnostics.

    Cause:
       Potential race when driver change from operational link mode to diagnostics mode (loop back)
       might cause link down event after link is already changed to loopback mode.
       In this case, "loopback" link up state will be overridden by link down (old) event.
       This will cause failure of the loopback test.

    Change:
       In case of "old" link event - check if relevant and ignore it if not.

    Impact:
       All versions. Seems to be more probable in Dual Media design.

 4. Problem:
       CQ49028 - 57711: Dual media: Nic links and pass traffic using the copper as default link instead of fiber.

    Cause:
       Wrong driver initialization of multi PHY selection parameter.

    Change:
       Fix initialization of multi PHY selection parameter.

    Impact:
       Introduced in release T6.0 Dual Media boards.

Version 6.0.42 (July 22, 2010)
==============================

Fixes
-----

 1. Problem:
      CQ48945 - Dual media BACS, system hangs at Loopback-mac test.

   Cause:
      The PHY initialization did not account for the loopback cases in
      these designs and driver hit an assertion check.

   Change:
      Added code to accept loopback as the request medium for this media.

   Impact:
      Introduced in release T6.0 Dual Media design.

 2. Problem:
       57712 - Driver doesn't load after boot driver, with b.c. 6.0.24 and forward.

    Cause:
       Current boot driver works in IGU BC mode while driver and boot code expect IGU BCM57712 mode.

    Fix:
       Add workaround in driver to move from IGU BC mode to IGU BCM57712 mode, until boot driver supports BCM57712 mode as well.

    Impact:
       Introduced in release T6.0. 57712 only.

 3. Problem:
       CQ48794 CQ48877 CQ48350 CQ48815 - BSOD or machine hangs after coming back from hibernate/sleep states.

    Cause:
       Previous fix of CQ46800 exposed bugs that when machine come back from sleep
       it doesn't wait for the first few DMAE commands to complete and send new commands
       without waiting for response. This behavior caused various unexpected errors from driver or OS.

    Fix:
       Turn off ignore DMAE commands flag as soon as machine wakes up.

    Impact:
       Introduced in eVBD 6.0.39

 4. Problem:
       CQ48812 - BSOD with jumbo frames enabled and running chariot random I/O and bi-dir sockdie stress

    Cause:
       Race condition on tx/rx completion processing

    Fix:
       Fix synchronization for actions required both Tx and Rx completion’s processing

    Impact:
       All driver versions.

 5. Problem:
       DPC watchdog or other phenomena might happen when
       machine is set to D3 due to BRB interrupts.

    Cause:
       In eVBD 6.0.30 some of the BRB interrupts were unmasked but handling
       these interrupts was not considered.
       In addition, while machine is going to D3, the BRB interrupts are not
       disabled so we might get a BRB attention which is ignored.

    Fix:
       Handle the BRB attention in case happen.
       mask the attention when machine is in D3.

    Impact:
       Introduced in eVBD 6.0.30

 6. Problem:
       Link LED not functioning on 84823 on Dual Media board.

    Cause:
       Magjack did not match schematic.

    Change:
       Remapped LED1 and LED2 mask.

    Impact:
       Dual Media boards only.

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

 1. Request:
       CQ48871 CQ48868 CQ48865 - Add additional 57712 devices to INF.

    Change:
       As Requested.

    Impact:
       None.

Version 6.0.41 (July 19, 2010)
==============================

Fixes
-----

 1. Problem:
       Traffic wasn’t received on offloaded connections in Hyper-V guests when in MAC-partitioning mode…

    Cause:
       Guest’s packets are dropped since its MAC address is not found in the NIG

    Fix:
       In MAC partitioning mode, keep MAC address of  VM with offloaded connections in the NIG.

    Impact:
       Introduced in release T6.0. Number of guests with offloaded connections is limited to 14.

 2. Problem:
       CQ48772 - BSOD after approximately 5 days of stress test (Applied fix from eVBD 5.2.24).

     Cause:
       A race in the code of statistics collection mechanism
       caused a mismatch between driver and firmware.
       This mismatch caused a firmware ASSERT that leaded to the BSOD.

     Fix:
       Fix the code and the potential race so there will be
       no possibility to the mismatch scenario.

     Impact:
       Introduced in T4.6. Very unlikely to happen.

 3. Problem:
       CQ48770 - When working with rate-limiting in BCM57711/2
       with jumbo frames, the rate is half of what configured.

    Cause:
       Firmware miscalculated the amount of bytes transmitted.

    Fix:
       Fixed the calculation.

    Impact:
       Introduced in firmware version 6.0.20 (eVBD 6.0.23).

 4. Problem:
       (Theoretical bug only) link changes events ignored by driver after function unload in
       Multi function mode.

    Cause:
       Race between PMF migration indication and DCC update
       caused function to not handle PMF migration and
       as an outcome ignore future link changes.

    Fix:
       Fixed the potential race.

    Impact:
       Introduced in T5.0 when DCC is active and
       chip is configured to work in multi function mode.
       Theoretical bug only, very unlikely to happen.

 5. Problem:
       CQ47858 related - grc timeout when eVBD loads after UNDI driver was loaded.

    Cause:
       NIG is reset while MCP might access it so grc timeout might occur.

    Fix:
       eVBD takes ownership of the chip towards MCP so no collision will occur.

    Impact:
       iSCSI boot flows. Introduced with combination of eVBD and boot code 6.0 versions.

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

 1. Request:
       CQ48834 - Change BCM57712 NP friendly name.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       CQ48721 - Add event log message when BCM57712 cannot support 10G.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       Add iSCSI HSI version number to allow the iSCSI miniport to verify
       that the VBD uses the same HSI version.

    Change:
       As requested.

    Impact:
       OIS 6.0.11.0 (released in Jul 4th) and above is compatible with this change,
       otherwise, iSCSI miniport will yellow bang.

Version 6.0.40 (July 12, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ48703 - BCM57712: configuring FC through CCM driver failed to stick.

    Cause:
       The NVRAM Flow Control settings were overridden by registry parameters.

    Fix:
       In NIC partitioning mode, the driver will set Flow Control settings according to
       NVRAM configuration alone.

    Impact:
       Introduced in release T6.0

 2. Problem:
       CQ48728 - BCM57711: Dual media: link gets swapped when MTU is changed
       on a specific OEM board.

    Cause:
       Wrong driver logic when PHY indices are swapped, led to wrong PHY selection.

    Fix:
       Fix driver logic when initializing the PHYs parameters.

    Impact:
       Introduced in release T6.0

 3. Problem:
       CQ48771: Nic links at the copper for hardware default phy selection
       instead of Fiber.

    Cause:
       Incorrect multi phy selection assignment when PHY swap is enabled.

    Fix:
       Fix PHY selection assignment when PHYs are swapped.

    Impact:
       Dual media board.

 4. Problem:
       CQ48668 - BCM57712 : Unable to connect to iSCSI target in SF Mode.
       MAC address showed all "FFF" in window, on a specific OEM board.

    Cause:
       eVBD read ISCSI MAC address from a wrong place in this configuration.

    Fix:
       Read ISCSI MAC address form right place in this configuration.

    Impact:
       Introduced in release T6.0

 5. Problem:
       (FW L2) Possible crash during load/unload of one function,
       if more functions are loaded.

    Cause:
       Statistics ramrod of one function might override data
       of other functions.

    Fix:
       Fixed statistics ramrod (Firmware).

    Impact:
       Introduced in firmware 6.0.5.

Version 6.0.39 (July 06, 2010)
==============================

Fixes
-----

1. Problem:
      CQ46800 - System breaks and point to wdf01000.sys during reboot stress tests.

    Cause:
      During shutdown there where flows that cause unnecessary long waits.

    Fix:
      The unnecessary long waits where removed from these flows.

    Impact:
      Introduced in release T6.0.9.

2. Problem:
      Link lost every other time when driver is brought up.

   Cause:
      When the PHY swap parameter ('nvm cfg' option 124) is set, the PHY's
      swap every time the link is brought up.

   Change:
      Instead of storing the PHY order, we calculate it fresh every time.

   Impact:
      Dual-media boards.

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

 1. Request:
       Enforcement of matching iSCSI HSI version between miniport and VBD.

    Change:
       As requested.

    Impact:
       None.

Version 6.0.38 (June 30, 2010)
==============================

Fixes
-----

1. Problem:
      CQ48588 CQ48594 - Various BSOD's might happen while driver loading/running.

    Cause:
      Driver made redundant connection allocation that was not consistent with existing connection on chip.

    Fix:
      Change to correct default connection number (0).

    Impact:
      BCM57712 together with latest boot codes (6.0.23 and above) and specific license configurations.

Version 6.0.37 (June 29, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ48562 - Upgrading to evbd 6.0.36 driver cause BSOD (checked) or yellow banged (retail).

    Cause:
       In order to prevent corner case of array bound violation in the code, added ASSERT.
       The ASSERT was immoderate.

    Fix:
       Removed the ASSERT and still protect from bound violation.

    Impact:
       Introduced in eVBD 6.0.36 multi function mode only.

 2. Problem:
       CQ48565 - BSOD in case of grc timeout.

    Cause:
       Grc timeouts notifications, caused by boot code or other modules caused ASSERT (BSOD).

    Fix:
       Removed the ASSERT and call it only in case grc timeout is consistent.

    Impact:
       All versions.

 3. Problem:
       CQ48496 - BSOD occurred when host is rebooted.

    Cause:
       A work-item scheduled by eVBD didn't get served. A function was waiting for this
       work-item to complete, but apparently it was queued to a system work-item thread
       blocked by MPIO (MPIO occupied all the Delayed Work-Queue threads). There, it
       never got a chance to run.

    Fix:
       Used internal work-item mechanism (PsCreateSystemThread).

    Impact:
       Exists in all previous releases.

4. Problem:
      Potential and theoretical race accessing phy registers on BACS Transceiver Data IOCTL.

    Cause:
      The phy access during IOCTL was not protected.

    Fix:
      Protect the IOCTL with spin lock.

    Impact:
      New feature since version 6.0.24

Version 6.0.36 (June 28, 2010)
==============================

Fixes
-----
 1. Problem:
       Incorrect LED behavior on dual-media platform.

    Cause:
       The LED settings are used to control GPIO in favor of
       over-current detection.

    Fix:
       On NOC (No-OverCurrent) flavor, configure the GPIOs to reflect
       LED behavior rather than unnecessary over-current indication.

    Impact:
       BCM8727 based boards.

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

 1. Request:
       Fit Dual media selection to the new scheme.

    Change:
       As requested.

 2. Request:
       Enable to set the GPIO which controls the external PHY reset
       (through nvm cfg 129).

    Change:
       As requested.

    Impact:
       BCM8727 based boards.

 3. Request:
       Product version string should be 16.0.0

    Change:
       As requested.

    Impact:
       None.

Version 6.0.35 (June 23, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ48040 - BCM57711: iSCSI Boot F6 Installation of W2K3 x64 Fails

    Cause:
       Interrupts were masked in INTA mode later to the iSCSI Boot operation.

    Fix:
       Clear the Interrupt Disable bit from the PCI config space during driver load,
       if OS was loaded by iSCSI boot.

    Impact:
       Introduced in release T6.0

 2. Problem:
       CQ48473 - Disabling the FCOE miniport and then enabling the FCOE miniport causes a the
       system to crash.

    Cause:
       eVBD internal parameter wasn't cleaned when FCOE miniport was disabled.

    Fix:
       Cleaning the eVBD internal parameter when FCOE miniport is disabled.

    Impact:
       Introduced in release T6.0.34

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

 1. Request:
       Enhance evbd to be able to run on system that has more than 256 cpus.

    Change:
       As requested.

    Impact:
       None.


Version 6.0.34 (June 21, 2010)
==============================

Fixes
-----

 1. Problem:
       Wrong "friendly name" and no speed enumeration in BCM57712T1203 inf entry.

     Cause:
       A Typo in .inf

     Fix:
       Fixed the typo.

     Impact:
       Introduced in 6.0.33.

 2. Problem:
       CQ48387 Loss of network connectivity while running load/unload with team present.

     Cause:
       eVBD took the parameter for NumberOfInterruptMessages from a wrong place.

     Fix:
       Fixed the initialization of NumberOfInterruptMessages.

     Impact:
       Introduced in T6.0.

 3. Problem:
       Link down when using specific DACs (Direct Attached Cables).

    Cause:
       Some DAC's EEPROM do not respond at 400Khz speed.

    Fix:
       Set 2-wire transfer rate of SFP+ module EEPROM to 100Khz.

    Impact:
       BCM8727 based boards.

 4. Problem:
       CQ47047 57712 BSOD Upon resuming from S4.

    Cause:
       Page-able code was called when device leave a low-power state and returned to
       its working (D0) state.

    Fix:
       Removed page-able code from the flow of device leave a low-power state and
       returned to its working (D0) state.

    Impact:
       Introduced in T6.0.

 5. Problem:
       CQ46128: In MF mode, running chariot traffic resulted in CHR0245 error
       messages on Tx/Rx ends.

    Cause:
       When MSIX is enabled and a RSS version 1 update is received
       CPUs were not spread between different functions.

    Fix:
       Spread the CPUs between different functions in this mode.

    Impact:
       Introduced in T6.0.

 6. Problem:
       CQ48021 (FCoE) RESET_LUN operation failed due to error detection.

    Cause:
       Detecting a protocol violation in response frame from
       target (target protocol violation).

    Fix:
       Mask the error reporting.

    Impact:
       Exists in all previous FCoE releases.

 7. Problem:
       CQ47854 FCoE 10% performance degradation.

    Cause:
       Read queue used by firmware did not have enough credits.

    Fix:
       Change the read queue used by firmware.

    Impact:
       Introduced in firmware 6.0.27

 8. Problem:
       CQ48403 (FCoE) Target does not handle incoming FCP_DATA.

    Cause:
       Increasing SEQ_CNT is not supported by target.

    Fix:
       Reset the SEQ_CNT back to zero when transmitting new
       FCP_DATA frame.

    Impact:
       Exists in all previous FCoE releases.

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

 1. Request:
       Suppress enumeration of iSCSI PDO in .inf for specific boards.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Add counters for iSCSI out-of-order events.

     Change:
       As requested (counters can be read from RAM through GRC).

     Impact:
       None.

Version 6.0.33 (June 14, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ48322 - ASSERT (BSOD on checked build) on driver load.

     Cause:
       A Typo in .inf caused *SpeedDuplex string in registry to be empty, the invalid conversion from empty string to a number caused justified ASSERT.

     Fix:
       Fixed the typo (redundant comma).

     Impact:
       Problem introduced in eVBD 6.0.32 and relevant only for specific .inf entries (where there is no *SpeedDuplex enumeration).

 2. Problem:
       CQ47278 - Failed to wake up on NP MAC Address on 1G connection after S5 Shut Down.

     Cause:
       Incorrect settings for S5 in WOL.

     Fix:
       Changed S5 WOL settings to comply with the requirements (send different message to MCP).

     Impact:
       All.

 3. Problem:
       MAC address in BACS was showing same value as Permanent MAC address regardless the user configuration.

     Cause:
       MAC address was not updated correctly.

     Fix:
       Update the MAC address correctly.

     Impact:
       T6.0.

 4. Problem:
       Effective MAC address for WOL was always the one in the NVRAM.

     Cause:
       requirements change.

     Fix:
       Effective MAC address for WOL is now the one in NVRAM OR the one configured by user if overridden.

     Impact:
       All.

Version 6.0.32 (June 10, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ47853 - Incorrect flow control counters reported by BACS when 10Gb NIC running @ 1Gb.

    Cause:
       Driver reads corresponding statistics from ReadClear HW register banks causing reset the registers.

    Fix:
       Extract statistics from ReadOnly HW registers banks.

    Impact:
       This issue is exposed to all driver versions.

 2. Problem:
       CQ45501 - L2ND System Event Log Error Message When Running Diagnostics on Everest.

    Cause:
       EvtDevicePrepareHardware was not implemented in eVBD for PDOs.
       In Diag mode eVBD didn't reject EvtDevicePrepareHardware for other PDOs except diag.

    Fix:
       Implemented EvtDevicePrepareHardware in eVBD for PDOs and in diag mode
       eVBD didn't reject EvtDevicePrepareHardware for other PDOs except diag.

    Impact:
       This issue is exposed to all driver versions.

 3. Problem:
       Fixed a potential bug in case device failed to load due insufficient resources.

    Cause:
       Wrong rollback handling.

    Fix:
       Fixed the rollback.

    Impact:
       T6.0 only.

 4. Problem:
       Changed default speed settings for some boards.

    Cause:
       Wrong settings.

    Fix:
       Fixed to the correct settings.

    Impact:
       None.

Enhancements
------------
 1. Request:
       Add specific support for BCM57712 Nic partitioning mode in inf.

    Change:
       As requested.

    Impact:
       None.

Version 6.0.31 (June 07, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ47700 - Can't get Link when forcing speed on 10/100M

    Cause:
       When link is not set to autoneg, MDIX wasn't enabled so link
       couldn't be established on direct cables

    Fix:
       Enable MDIX when autoneg is disabled

    Impact:
       BCM84823 based board

 2. Problem:
       CQ48124 - 57712: BSOD is seen while running ACPI S4 stress

    Cause:
       Wrong assert.

    Fix:
       Fix the wrong assert.

    Impact:
       Introduced in driver version 6.0.30

 3. Problem:
       57710 - Load/unload stress test could potentially cause a BSOD.

    Cause:
       Disable of device in the middle of MSIX message can cause a deadlock
       in HC block.

    Fix:
       Use PCI configuration space to avoid the deadlock.

    Impact:
       57710 only.


 3. Problem:
       In Mac-Partition mode, promiscuous mode would pass traffic of all functions.

    Cause:
       Promiscuous mode was treated as "accept-all" instead of "accept-all-unmatched".

    Fix:
       If promiscuous mode is set accept all unmatched.

    Impact:
       57712 - Mac-partitioning mode.

Enhancements
------------
 1. Request:
       Align TCP advertised window in iSCSI (4b alignment).

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Mask FCoE protocol violations error detected by chip on some specific OEM targets.

    Change:
       Masking the specific checks.

    Impact:
       None.

 3. Request:
       Change PXP Write block initialization values in 57712 to help reduce latency.

    Change:
       As requested.

    Impact:
       57712 only.


Version 6.0.30 (June 01, 2010)
==============================

Fixes
-----

 1. Problem:
       ISCSI is broken in Mac Partitioning Mode (multi function based on mac classification)
       Toe low performance in Mac Partitioning Mode.

    Cause:
       Mac addresses weren't written properly to NIG LLH.

    Fix:
       Write mac addresses correctly.

    Impact:
       Introduced in 6.0.20.

 2. Problem:
       All BRB interrupts are masked.

    Cause:
       BRB interrupt mask is not initialized so reset value is used.

    Fix:
       Initialize interrupt mask so only parser read length errors are masked.

    Impact:
       In scenarios where BRB interrupts occur, indicate appropriate error information.

 3. Problem:
       CQ46033, CQ45750 - 57712: Driver load fails during iSCSI Boot (NDIS and HBA path)

    Cause:
       iSCSI boot support in the driver for BCM57712 was not complete.

    Fix:
       Complete iSCSI boot support for BCM57712.

    Impact:
       BCM57712.

 4. Problem:
       CQ47924 - iBoot-Wn2008-R2: iSCSI Boot via NDIS path fails with BSOD. when tagged VLAN is enabled.

    Cause:
       Changes in eVBD<->NDIS interface have been changed.

    Fix:
       iSCSI Boot info populated during L2 client binding.

    Impact:
       iSCSI Boot T6.0 only.

 5. Problem:
       CQ47378 - Assert is seen when running sockdie stress on one port and loading drivers on second port.

    Cause:
       Expired NDIS miniport internal timeout of group's creation.

    Fix:
       Implement synchronous creation of group in evbd.

    Impact:
       Introduced in T6.0

 6. Problem:
       CQ48073 - Assert is seen when using DriverInstaller, v14.2.2.3 repair\uninstall option.

    Cause:
       Race between destruction of queue group and initialization of a new queue group,
       when iterating the queue group list, caused null pointer access.

    Fix:
       Fix the queue group destruction and initialization flows to avoid the race.

    Impact:
       Introduced in T6.0

 7. Problem:
       CQ46918 - (iSCSI FW) Network bursts are larger than the configured
       connection on OEM board.

    Cause:
       Inaccurate bytes calculation at rate shaping mechanism.

    Fix:
       Calculation was fixed.

    Impact:
       None.

 8. Problem:
       CQ47623, CQ46388, CQ47225, CQ47833 - (iSCSI FW) System hangs during
       iSCSI stress traffic.

    Cause:
       Incorrect packet trimming lead to HW internal error.

    Fix:
       Fixed packet trimming on LB port.

    Impact:
       Introduced in firmware 6.0.11.

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

 1. Request:
       Forward setup ramrod should complete on event ring and not
       as a Tx consumer increment.

    Change:
       As requested.

    Impact:
       None.

Version 6.0.29c (May 26, 2010)
==============================

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

 1. Request:
       CQ46209 - Suppress enumeration of FCoE PDO.

    Change:
       As requested.

    Impact:
       None.

Version 6.0.29 (May 24, 2010)
=============================

Fixes
-----

 1. Problem:
       CQ47786 - Assert is seen while running sockdie stress on 1 port and load/unload on 2nd port

    Cause:
       Wrong cleanups made by the driver during error path of iSCSI client load,
       resulted invalid data access.

    Fix:
       Fix driver logic for iSCSI client load error path.

    Impact:
       Introduced in T6.0.

 2. Problem:
       CQ47808 - Assert is seen while running continuous driver reset test.

    Cause:
       Driver waits for completion of work items only for last client's unbind.

    Fix:
       Add waiting for completion of work items in flow of non last client's unbind.

    Impact:
       All versions.

 3. Problem:
       CQ47849 - VMQ: Assert is seen while running load/unload and passing traffic to several GOS

    Cause:
       Multiple client miniports tried to set MAC addresses at the same time, causing
       common resource to be overwritten.

    Fix:
       Use per client resource to hold MAC settings.

    Impact:
       Exists in previous releases.

 4. Problem:
       CQ47898 - When the L2 class is lossy, the adapter pauses when the Pause is received
       for the L2 priority.

    Cause:
       Priority mask was initialized to the priority bitmap of the COS regardless if it was
       lossless or lossy.

    Fix:
       Priority mask shall be initialized to the priority bitmap of lossless priorities or
       to 0 if it is considered as lossy COS.

    Impact:
       Introduced in 6.0.19.

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

 1. Request:
       CQ47837 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

Version 6.0.28 (May 18, 2010)
=============================

Fixes
-----

 1. Problem:
       CQ47782 - Windows iSCSI offload: System BSOD when logging in to target (X64_0xD1_evbda!_um_tcp_ofld_tcp).

    Cause:
       Using TOE only relevant data in common flow, resulted null pointer access.

    Fix:
       Using TOE data under corresponding constrains.

    Impact:
       Introduced in 6.0.27.

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

 1. Request:
       Enable PFC statistics in MAC

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Added debug bus capability to driver.

    Change:
       As requested.

    Impact:
       None.
Version 6.0.27 (May 17, 2010)
===============================

Fixes
-----

 1. Problem:
       Link change after PMF migration may halt the system.

    Cause:
       PHY attributes are provided to the initial PMF only.

    Fix:
       Load PHY attributes for every new function regardless of being PMF or not.

    Impact:
       Multi-function mode.

 2. Problem:
       CQ47445 - The duplex mismatch does not work as expected.

    Cause:
        Duplex was set correctly in the phy, but wasn't passed to the
        driver. In addition, when setting 10/100 force speed, it
        actually advertised 10/100 with autoneg.

    Fix:
        Return the correct duplex result, and when speed is set to 10/100,
        set the speed actually for force 10/100.

    Impact:
        BCM84823 based boards.

 3. Problem:
       CQ47383 - It takes long time to re-establish link in when
       working against some switches in force 1G mode.

    Cause:
       PHY is unable to establish good link in this mode.

    Fix:
       Enable CL37 BCM autoneg instead of working in force 1G.

    Impact:
       BCM8073 based boards.

 4. Problem:
       CQ47694: Running latest version of DCBXInfo causes system crash.

    Cause:
       The assert was caused because the IOCTL B10_IOC_GET_DCBX_PARAMS was
       called and DCB wasn't enabled in NVRAM, so MCP didn't support DCB(DCB enabled).

    Fix:
       Driver implementation has changed to return STATUS_UNSUCCESSFUL in
       case DCBX IOCTL are called and the driver or MCP are not supporting DCB.

    Impact:
       Introduced in Release T6.0.24.

 5. Problem:
       CQ47771 - Memory leak during driver unload when TOE is disabled.

    Cause:
       TOE related resources were allocated without consideration of TOE status,
       and were not freed if TOE was disabled.

    Fix:
       Allocate TOE related resources only if TOE is enabled.

    Impact:
       Introduced in version 6.0.9

 6. Problem:
       CQ45860 - Hyper-V: evbda!lm_tcp_comp_abortive_disconnect_request seen when running
                 load/unload of physical adapter while network stress test on GOS.

    Cause:
       Assertion (according to design) on abortive disconnect completion during indication

    Fix:
       Introduce mechanism pending completion of abortive disconnect.

    Impact:
       Introduced in version T5.0

 7. Problem:
       CQ46715 - VMQ: BDOS during NDISTest6.5 VMQScalability (X64_0x0_VRF_evbda!um_create_q_group_common)
       CQ45882 - VMQ: BSOD during NDISTest6.5 vmqtestingoids (X64_0x0_VRF_evbda!um_create_q_group+a9b)

    Cause:
       Dynamic CPU affinity change for VM queues was not complete.

    Fix:
       Fix dynamic CPU affinity change flows for VM queues.

    Impact:
       Introduced in version T6.0

 8. Problem:
       CQ47716  Load/unload break : evbda!mm_rt_free_phys_mem+0xbd

    Cause:
       Mistakenly releasing physical memory under lock (on DISPATCH level)

    Fix:
       Release memory on PASSIVE level

    Impact:
       Introduced in version T6.0


  9. Problem:
        CQ47674 - (FCOE) Chip hangs during destroy FCoE connection flow.

     Cause:
        FCoE reordering mechanism was corrupted during disable
        connection flow.

     Fix:
        Assure not to overrun relevant context for reordering operation.

     Impact:
        Exists in all previous T6.0 releases.


 10. Problem:
        CQ47644 - (FCOE) Chip reporting an error instead of dropping the packet.

     Cause:
        Some errors were detected before verifying FCoE delimiters.

     Fix:
        Once an error detected, verify first the FCoE delimiters before
        reporting an error.

     Impact:
        Exists in all previous FCoE releases.


 11. Problem:
        (iSCSI) Chip hangs during out-of-order traffic.

     Cause:
        Firmware internal synchronization issue between iSCSI and L2 flows.

     Fix:
        Firmware fix.

     Impact:
        Introduced in firmware 6.0.11.

 12. Problem:
        Driver load on 57712 devices takes ~20 seconds on IA64 machines.

     Cause:
        init_pxp2_common performs ~6000 indirect register write operations,
        while there isn't any reason not to use direct (and much faster) ones.

     Fix:
        Change reg write operations to be direct.

     Impact:
        57712 devices only.

 13. Problem:
        CQ47472 - IA64, 57711E – When load/update eVBD, it gets yellow bang.

     Cause:
        Shared feature configuration SHARED_FEAT_CFG_FORCE_SF_MODE_SPIO4 wasn't handled in vbd.

     Fix:
        handle the option SHARED_FEAT_CFG_FORCE_SF_MODE_SPIO4 correctly in vbd.

     Impact:
        Introduced in version 6.0.20.


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

 1. Request:
       CQ47555 - Remove not supported portion of 2.5G link on BCM957711A1102G.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Add upload request to abortive disconnect completion.

    Change:
       As requested.

    Impact:
       None.


 3. Request:
       Support DCB for Toe and Tcp (iSCSI not supported).

    Change:
        Set vlan priority and CoS according to DCB info in ram.

    Impact:
        None.

Version 6.0.26 (May 10, 2010)
===============================

Fixes
-----

 1. Problem:
       CQ47518,CQ47504 - Changing the FCoE CoS value while the traffic was running
       caused the system crash.

    Cause:
       Assert in the eVBD because of illegal ETS parameters reception. When
       switch changes configuration in runtime it sends several packets that
       contain illegal configuration until the actual configuration is merged.

    Fix:
       The current solution is to change the assert to disable ETS when illegal
       ETS parameters are received.

    Impact:
       Introduced in Release T6.0.24

 2. Problem:
       External phy firmware version is not available after driver is loaded

    Cause:
       External phy firmware is not re-loaded during driver load, only once
       during bootcode initialization stage

    Fix:
       Initialize external phys during once during common init stage

    Impact:
       57711+8073/8726/8727

 3. Problem:
       CQ47496 - 57711- AUT fails to continue CERTS Test "DPK WDK - Hot-Add - Device
       Test - verify driver support for Hot-Add CPU"

    Cause:
       Store-Port calls FindAdapter second time after STOP_DEVICE, instead of calling BXOIS
       with SRB_FUNCTION_PNP/StopStartDevice.

    Fix:
       Refusing IRP_MN_QUERY_STOP in eVBD PDO for BXOIS and BXFCOE child devices.

    Impact:
       Exists in all previous releases.

 4. Problem:
       Dynamic Host-Coalescing functionality - interrupt rate is
       toggling too fast.

    Cause:
       Dynamic Host-Coalescing counters were summed between several
       status blocks, and not separately per status block.

    Fix:
       Firmware calculation was fixed.

    Impact:
       Introduced in T6.0.

 5. Problem:
      CQ47609 -Link Level Pause causes link to pause after PFC has been negotiated.

   Cause:
      Wrong MAC registers configuration

   Change:
      Fix configuration

    Impact:
       BCM57712 only

 6. Problem:
      CQ47544,CQ47629 - TOE memory allocation/free race condition.

   Cause:
      Non synchronized operations with memory TOE blocks

   Change:
      Fix synchronization

    Impact:
       T6.0 only. Introduced in version 6.0.23


Enhancements
------------
 1. Request:
       Remove redundant LCPLL setting which is done already in the bootcode.

    Change:
       As requested

    Impact:
       None.

 2. Request:
       eVBD support for going to D3 while BXFCOE is still bounded.

    Change:
       As requested

    Impact:
       None.

Version 6.0.25 (May 03, 2010)
===============================

Fixes
-----

 1. Problem:
       CQ47348 - On WS08SP2 evbd assert while running on a system with
       48 core, when number of RSS chains is 16.

    Cause:
       Wrong handling of the indirection table when receiving processors numbers that
       are higher than 16.

    Fix:
       Fixed the handling for processor numbers that are higher than 16.

    Impact:
       Introduced in Release T6.0

 2. Problem:
       CQ46978 - BSOD after some IOCTL's in IA64 systems.

    Cause:
       odd value of pointer casting is fatal in IA64.

    Fix:
       Consider the odd pointer in the code so BSOD won't happen.

    Impact:
       All version. IA64 systems only.

 3. Problem:
       CQ47367 - BSOD while running iomonkey for iSCSI traffic.

    Cause:
       Incorrect parsing of FW data for functions higher than 0.

    Fix:
       Fix the parsing code.

    Impact:
       New feature since version 6.0.23.

 4. Problem:
       Loading driver on one port may cause link toggling on the other port

    Cause:
       PLL was initialized for both ports instead of per chip

    Fix:
       Initialize PLL once during common init

    Impact:
       57712

 5. Problem:
       CQ46495 - ETH connection loss or ping stops for too long when OS holds more than 80% of rx buffers

    Cause:
       Chip have no rx buffers (most of them are on OS) due to a high threshold, this cause
       xoff and as a result connectivity loss.

    Change:
       When going below a defined amount of rx buffers, indicate a packet as resource to the OS.
       Than packets will be returned immodestly to the chip.

    Impact:
       Problem observed in Windows Server 2003.

 6. Problem:
        Possible race between firmware threads when loading context to chip.

    Cause:
        Common firmware handler which loads context for slow path handler
        may override other handlers context load responses.

    Fix:
        The common handler considers it's thread Id when waiting for the
        context load response.

    Impact:
        Exists in all previous releases.

 7. Problem:
        Firmware generates false data digest error on incoming PDU.

    Cause:
        Data digest arrived splitted into 3 packets.

    Fix:
        Firmware fix.

    Impact:
        Introduced in firmware 6.0.11.

 8. Problem:
        (CQ46388,CQ46608,CQ46638) Chip hangs when running stress iSCSI traffic.

    Cause:
        iSCSI firmware caused connection activity-counter to drop to a negative value.

    Fix:
        Firmware fix.

    Impact:
        Introduced in firmware 6.0.11.

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

 1. Request:
       Added new fields to DCBX/LLDP IOCTL's.

    Change:
       As requested

    Impact:
       None.

 2. Request:
       CQ47412 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       Enhance vbd/miniport interface with generic way of indicating events

    Change:
       As requested.

    Impact:
       T6.0 only.
       evbd 6.0.25 and forward supports only T6.0 client miniports released
       from 5/3/10 and forward.

 4. Request:
       Changing PFC RX configuration . In RX COS0 will always be configured
       to lossy and COS1 to lossless.

    Change:
       As requested

    Impact:
       None.

 5. Request:
       Scale the number of bd pages allocated according to number of RX descriptors.

    Change:
       As requested

    Impact:
       None.

 6. Request:
       For VMQueue, support minimum look ahead buffer to be 14 bytes
       (with vlan removal set) and 18 bytes without it.

    Change:
       As requested.

    Impact:
       None.

 7. Request:
       Improve accounting of bytes for rate shaping mechanism.

    Change:
       Added preamble and inter packet gap to bytes reported to rate shaping mechanism.

    Impact:
       None.

Version 6.0.24 (April 26, 2010)
===============================

Fixes
-----

 1. Problem:
       CQ46327 - IOCTL for BACS Transceiver Data information fails with status invalid parameter.

    Cause:
       Wrong handling of input buffer.

    Fix:
       Fixed the input buffer handling.

    Impact:
       New feature since version 6.0.23

 2. Problem:
       CQ47198 - Hyper-V:evbda!_lm_tcp_isle_get_free_list break during multi GOS L4 stress and Virtual team modification.

    Cause:
       Isles pool is not synchronized between FW and driver.

    Fix:
       Increase isles pool to prevent race conditions of the pool using.

    Impact:
       Introduced in Release T6.0

 3. Problem:
       CQ47286 - device id's missing in .inf

    Cause:
       Id's wrongly mixed so the in IA64 .inf there was wrong combinations of device id's.

    Fix:
       Fixed the wrong id's.

    Impact:
       Introduced in eVBD 6.0.9

 4. Problem:
       CQ47026 - 57711 fails NDISTest 6.5 powermanagement test

    Cause:
       Rx Buffers weren't reposted when returning to D0 due to client-state being inactive

    Fix:
       Don't treat client-state when re-posting buffers when returning to D0.

    Impact:
       Introduced in release T6.0

 5. Problem:
       CQ46674 - Unexpected ungraceful reboot occurs while running "Dynamic Partitioning
       (DP) Simulator and Test - DP WDK - Hot Replace Device Test Verify Driver support
       for D3 power stat"

    Cause:
       eVBD didn't supported going to D3 while OIS is still bounded.

    Fix:
       eVBD supports going to D3 while OIS is still bounded.

    Impact:
       Introduced in evbd 6.0.0.


 6. Problem:
       CQ47166 - 57712sfp+: System breaks @ X64_0x0_evbda!lm_get_packets_sent+288 while running disable\enable using devcon

    Cause:
       Status block index of forward chain was mistakenly cleared during unload of vbd. This was since clear-chains-sb-cons
       was called on RXQ chains which don't have a status block index anymore and aren't initialized properly.

    Fix:
       don't call clear-chains-sb-cons on rxq chains (they don't have a status block index, only txq + rcq)

    Impact:
       Introduced in release T6.0

 7. Problem:
       On 57710/57711 Toe traffic can stop if a different function loaded after traffic has begun.

    Cause:
       Searcher "NIC mode" for the case that there is no offload is a common configuration in 57710/57711 and not per function
       as in 57712

    Fix:
       Set nic-mode in common phase for 57710/57711 and not function phase

    Impact:
       Introduced in VBD version 6.0.23
       affects 57710/57711 only.

 8. Problem:
       Chip transmitting unwanted FCP_CONF frames.

    Cause:
       Incorrect update of the CONFQ TX producer.

    Fix:
       Reset the CONFQ TX producer at the beginning of
       transmission flow.

    Impact:
       Exists in all previous FCoE releases.


9. Problem:
       CQ47280 - Power Management Tab is grayed out, not allowing switch independent mode device to wake up from S4.
       Only the actual physical port allow the Power management tab to be check.

    Cause:
       It was limited hard coded to declare WOL support only for functions 0 and 1.

    Fix:
       Remove the hard coded limitation and support WOL for all functions for switch independent mode.

    Impact:
       Related to switch independent mode only (new feature for T6.0).

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

 1. Request:
       Modify LED configuration of the BCM84823 to fit the new
       phy firmware (2.25 and up)

    Change:
       As requested

    Impact:
       BCM84823 based boards only.

 2. Request:
       CQ46429 Move the *InterruptModeration parameter from the bus driver to the miniport

    Change:
       Phase 2 ("honor miniport request for InterruptModeration setting") is implemented.

    Impact:
       NDIS Miniport 6.0.8 or later must be used.

 3. Request:
       Added ETS support.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       Added ISCSI OOO support.

    Change:
       As requested.

    Impact:
       None.

 5. Request:
      Improve TOE single connection performance (Rx path).

    Change:
      Adding “Dominant connection” feature and reducing firmware
      cycles count.

    Impact:
      None.


Version 6.0.23 (April 19, 2010)
===============================

Fixes
-----

 1. Problem:
       CQ47100: When the force KR enabler is set correctly, traffic
       does not work on 8073 based boards.

    Cause:
       Polarity swap was not set correctly in case link is set to 1G

    Fix:
       Initialize polarity swap correctly when enabled.

    Impact:
       BCM8073 based boards only

 2. Problem:
       Link down when upgrading BCM84823 phy firmware to 2.24/2.25

    Cause:
       Changes in the firmware initialization required setting different values.

    Fix:
       Set the require phy register to achieve link and led in all speeds.

    Impact:
       BCM84823 based boards.

 3. Problem:
       FlowControl options should not be enumerated for certain devices

    Cause:
       Wrong INF settings.

    Fix:
       Fixed INF settings..

    Impact:
       Introduced in evbd 6.0.19.

 4. Problem:
       CQ47068 evbda!lm_gen_attn_everest_processing while running L4 GOS network stress + load/unload of physical adapter

    Cause:
       There was no reordering mechanism in the relevant firmware flows.

    Fix:
       Adding reordering.

    Impact:
       Introduced in firmware 6.0.12.


 5. Problem:
       (FCOE) (CQ47126, CQ47129) Miss detection of fc-crc error.

    Cause:
       Firmware bug.

    Fix:
       Firmware fix.

    Impact:
       Introduced in firmware 6.0.6.


 6. Problem:
       (iSCSI) Firmware generate false data digest on incoming PDU.

    Cause:
       First 4 data bytes arrived splitted into 3 packets.

    Fix:
       Firmware fix.

    Impact:
       Introduced in firmware 6.0.11.

 7. Problem:
       BSOD During driver-unload. um_destroy_q_group caused assert in free-memory

    Cause:
       qgroup item memory was freed too late causing null pointer access

    Fix:
       Fix sequence of calls

    Impact:
       Introduced in Release T6.0

 8. Problem:
       CQ047058: Link occasionally doesn't come up with 8073 based boards

    Cause:
       Insufficient delay during phy firmware load sequence

    Fix:
       Increase delay during phy firmware load sequence to 120ms

    Impact:
       BCM8073/BCM8727

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

 1. Request:
        L2 Performance optimization (57710/57711/57712)
        Add support for Searcher "NIC mode" for the case that there is no offload.

    Change:
        As requested.

    Impact:
        None.

 2. Request:
       CQ47227 - Add new BCM57712 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       CQ46327 - Add IOCTL for BACS Transceiver Data information.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       CQ46465 - 577xx eVBD: complete new generic buffer allocation scheme for TOE

    Change:
       As requested.

    Impact:
       None.


Version 6.0.22 (April 12, 2010)
===============================

Fixes
-----

 1. Problem:
        Link LED for 10M/100M/1000M is not functional on BCM84823 based boards.

    Cause:
        LED functionality was controlled by 10G core all the time.

    Fix:
        When link speed is up in 10M/100M/1000M, set led control to 1G core.

    Impact:
        BCM84823/BCM8481 based boards.


 2. Problem:
        CQ47040 - BSOD on division by zero.

    Cause:
        Non effective wrap around protection of statistics parameter using as divider.

    Fix:
        Fix protection of the parameter to prevent division by zero.

    Impact:
        This issue is exposed to all driver versions.

 3. Problem:
        Total Throughput on W2k8 server is 35-45% lower, when Hyper-threading
        is enabled and number of processors is larger than 2.

    Cause:
        In RSS V1 (W2k8 server) the eVBD modulo the RSS indirection table to the
        number of RSS chains.
        In HT, windows sends in the RSS indirection table, when
        hyper-threading is enabled, only even processors that can be higher from the
        number of RSS chains.

    Fix:
        Remove modulo in this case.

    Impact:
        W2k8 server when Hyper-threading is enabled and number of
        processors is larger than 2.

 4. Problem:
        CQ47021 - 57711E: Break when uninstalling NDIS driver (evbdx!l2_close_q_groups)

    Cause:
        Wrong driver logic, resulted null pointer access.

    Fix:
        Fix driver logic.

    Impact:
        Introduced in eVBD 6.0.20

 5. Problem:
        (FW L2) DCB change during FLR might cause chip hang.

    Cause:
        Firmware skipped DCB update when encountered a PCI error.

    Fix:
        Firmware flow changed to first update DCB version and
        only then to proceed to handle PCI error.

    Impact:
        Introduced in firmware 6.0.15.

 6. Problem:
        (FW TOE )(CQ46996) Chip hangs during TOE stress test.

    Cause:
        Illegal completion after joining TCP isle with FIN.

    Fix:
        Firmware fix.

    Impact:
        Introduced in firmware 6.0.6.

 7. Problem:
        (FW FCoE) Chip hangs after trying to access inappropriate host
        memory address.

    Cause:
        Firmware instructed corrupted SGEs in PBF command due
        to corrupted Xstorm context.

    Fix:
        Save entire Xstorm context during disable connection
        procedure.

    Impact:
        Exists in all previous FCoE releases.

 8. Problem:
        (FW FCoE) (CQ47022) Disabling/Enabling the adapter from Host side
        without IO, causes device manager to hang.

    Cause:
        Firmware did not update task properly in host memory after
        detecting illegal CONF request.

    Fix:
        Save task context only after all verification has been
        completed.

    Impact:
        Introduced in firmware 5.3.7.

 9. Problem:
        (FW iSCSI) Connection close does not complete.

    Cause:
        final ACK from target is discarded by firmware.

    Fix:
        Firmware fix.

    Impact:
        Introduced in firmware 6.0.11.

 10. Problem:
        CQ47007 - eVBD error seen on system shutdown.

    Cause:
        Wrong unload sequence on 57712 in 2-port mode when cable
        isn't connected.

    Fix:
        Fix the unload sequence.

    Impact:
        Introduced in eVBD 6.0.19.

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

 1. Request:
        (FW FCoE) Reset the entire KCQE before start initializing it.

    Change:
        As requested.

    Impact:
        None.

 2. Request:
        (FW FCoE) Change firmware assert to error notification to driver
        when receiving MP frame with unknown R_CTL.function mode.

    Change:
        As requested.

    Impact:
        None.


Version 6.0.21 (April 6, 2010)
===============================
Fixes
-----
 1. Problem:
       In 57712 only in 2-port mode, eVBD asserts when there is only
       one eVBD client and he is toggled.

    Cause:
       False assert.

    Fix:
       Removed false assert.

    Impact:
       Introduced in Release T6.0.20, 57712 Only in 2-port mode.

Enhancements
------------
 1. Request:
       CQ46816- Remove 1 Gb full speed setting from certain OEM IDs

    Change:
       As requested.

    Impact:
       None.


Version 6.0.20 (April 04, 2010)
===============================
Fixes
-----
 1. Problem:
       When link speed is set to 1G, link comes up in 10G when
       connected to device which advertise 10G.

    Cause:
       BCM84823 always advertises 10G speed.

    Fix:
       When speed capability doesn't include 10G, or force speed is
       not set to 10G, disable 10G advertisement

    Impact:
       BCM84823, BCM8481

 2. Problem:
       CQ46542 57712CX4: Evbd: system breaks @ X64_0x0_evbda!lm_wait_state_change+15d while running disable\enable in MF mode

    Cause:
       IGU block wasn't cleanup properly during initialization

    Fix:
       Send proper cleanup command to IGU from the driver during chip-init

    Impact:
       Introduced in Release T6.0, 57712 Only

 3. Problem:
       CQ46432 - BSOD on invalid MSI interrupt message.

    Cause:
       Access to non valid memory during processing invalid interrupt message.

    Fix:
       Validate interrupt message before accessing to corresponding memory blocks

    Impact:
       This issue is exposed to all driver versions.

 4. Problem:
       Potential link issue with force 1G on 8073

    Cause:
       Setting one of the registers in the force 1G sequence incorrectly

    Fix:
       Fix 1G force sequence

    Impact:
       57712 + KR only

 5. Problem:
       (L2 FW) Return credit in termination handler without executing DCB update.

    Cause:
       Firmware bug.

    Fix:
       Update DCB in the beginning of the terminate handler.

    Impact:
       Introduced in firmware 6.0.11.

Enhancements
------------
 1. Request:
       DCBX CEE support in BCM57712 2-port mode.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Removed DCBX CEE support from BCM57711.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       Support for Mac Partitioning Mode (multi function based on mac classification)

    Change:
       As requested.

    Impact:
       57712 Only.


Version 6.0.19 (March 29, 2010)
===============================
Fixes
-----
 1. Problem:
       FC behavior is changed so that setting FC to auto when speed
       is force has no influence on the flow-control

     Cause:
       Although this configuration is not so logic, many boards have
       their configuration build this way so need to restore this
       behavior

     Fix:
       Change back to old behavior

     Impact:
       Optic devices. Introduced in 6.0.17

 2. Problem:
       When RX-polarity swap is set, traffic in 1G link  doesn't pass.

    Cause:
       RX-polarity was set on the PMA/PMD side instead of the XGXS side

    Fix:
       Set RX polarity on the XGXS side of the 8073

 3. Problem:
       L5 mtu settings in registry were deleted upon vbd load

    Cause:
       At first it was planned to remove MTU registry value in iSCSI sub key from vbd registry in T6.0.
       Now the plan is to keep it untouched.

    Fix:
       Do not delete L5 mtu settings in registry upon vbd load

    Impact:
       Old T6.0 versions only.

 4. Problem:
       CQ46543 - eVBD:57710: SUT crash while running load/unload on 1 port and
                 passing sockdie L4 traffic on the 2nd port.

    Cause:
       Race between queue group destruction and DPC processing; wrong order of
       cleanups led to false indication of Tx completions.

    Fix:
       Fix order of cleanups during client unload.

    Impact:
       Introduced in eVBD 6.0.13

 5. Problem:
       CQ46847 - 57712SFP+: System Encounters BSOD (0x19, Bad_PooL_Header) for evbda!um_util_free_resources+0x6d6 while Loading evbd driver
       CQ46812 - System BSOD during the installation of the ndis 5.2 drivers
       CQ46824 - System encounters pool corruption when installing NDIS5.2 6.0.10 with eVBD 6.0.18

    Cause:
       Memory allocated for new client-init ramrod was nullified using a bad memory size, causing a memory corruption

    Fix:
       Nullify according to correct memory size

    Impact:
       Introduced in eVBD 6.0.17

 6. Problem:
       (FW) Traffic after start traffic ramrod cause QM VOQ overflow attention.

    Cause:
       Wrong QM configuration.

    Fix:
       Configure QM properly.

    Impact:
       Introduced in firmware 6.0.15, BCM57712 only.

 7. Problem:
       (L2 FW) Terminate ramrod called host coalescing on Tx segment.

    Cause:
       Wrong logic while sending host coalescing on Tx.

    Fix:
       The ramrod no longer send host coalescing.

    Impact:
       Introduced in firmware 6.0.3.

 8. Problem:
       (L2 FW) Firmware asserted when RSC is disable.

    Cause:
       Wrong logic in the assert Conditions.

    Fix:
       The assert may occur only when RSC is enabled.

    Impact:
       Introduced in firmware 6.0.15.

 9. Problem:
       (L2 FW) System crashed When VF reads client init data.

    Cause:
       Reading client init from VF memory and not from PF memory.

    Fix:
       VF read the client init from PF memory.

    Impact:
       Introduced in firmware 6.0.15.

10. Problem:
       (L2 FW) Pause on exhausted ring broken.

    Cause:
       Internal pause data structure was initialized improperly.

    Fix:
       Fix internal ram offset calculation.

    Impact:
       Introduced in firmware 6.0.15.

11. Problem:
       (FCoE FW) Timer expiration doesn’t read DCB info.

    Cause:
       DCB update is done only for transmission flows.

    Fix:
       Read DCB info for timer expiration.

    Impact:
       Introduced in firmware 6.0.15.

12. Problem:
       CQ46474 - NDIS:57710: Assert is seen while running load/unload on ndis with driver verifier.
                 (bxnd60a!destroy_q_group)

    Cause:
       Driver flow of queue group destruction aborted Rx buffers one by one, causing assert in the
       client miniport for operation that did not complete in a timely manner.

    Fix:
       Driver flow of queue group destruction improved; abort all Rx buffers in one call.

    Impact:
       Introduced in Release T6.0


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

 1. Request:
       Add PFC support for E2 on EMAC

    Change:
       As requested.

    Impact:
       BCM57712

 2. Request:
       Support *FlowControl registry in VBD

    Change:
       As requested.

    Impact:
       None.


Version 6.0.18 (March 23, 2010)
===============================

Fixes
-----
  1. Problem:
        Flow control is not set on optic devices.

     Cause:
        When flow-control was set to force on optic devices,
        configuration was not permeate to the MACs.

     Fix:
        Set the FC configuration on optic devices according to user settings.

     Impact:
        Optic devices.

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

  1. Request:
        When link speed is set to force on copper devices, set link to
        autoneg with specific link speed advertisement since force speed
        is not copper compliant

     Change:
        As requested

     Impact:
        BCM84823/BCM8481 based devices.

Version 6.0.17 (March 23, 2010)
===============================

Fixes
-----

  1. Problem:
        BSOD on S4 power flows (going to D3).

     Cause:
        Block attentions of CSDM,PXP2,PXP,TSDM,USDM,XSDM were not masked correctly.

     Fix:
        Mask the block attentions correctly.

     Impact:
        Introduced in eVBD 6.0.11

  2. Problem:
        CQ#46585 eVBD:57710: evbda!lm_get_packets_rcvd+374; Assert is seen while running sockdie L4 traffic while running load/unload on iSCSI adapter.

     Cause:
        unload of iSCSI adapter wrote to ethernet index in status block 0 by mistake, causing an assert in received_packets

     Fix:
        iSCSI does not need to write to status blocks of its l2 connection rxq

     Impact:
        Introduced in Release T6.0

  3. Problem:
        CQ46443 - BSOD during uninstall of ndis driver - lm_get_packets_sent

     Cause:
        Wrong cleanup of FW status block index, during client unload caused false interrupts.

     Fix:
        Driver cleans up correct FW status block index.

     Impact:
        Introduced in Release T6.0

  4. Problem:
        BCM8073 isn't able to link up on specific board

     Cause:
        The default state of the GPIO1 is high and the PHY might not be
        in the good reset state after a POR

     Fix:
        Toggle GPIO1 from LOW to HIGH during common init

     Impact:
        57112 + 8073

  5. Problem:
        Driver mistakenly allowed link/flow control configuration via advanced properties page
        in partitioned nic mode

     Cause:
        Evbd did not block link/flow control configuration from miniport in partitioned nic mode

     Fix:
        Block link/flow control configuration from miniport in partitioned nic mode.

     Impact:
        Introduced in T6.0 drivers.

  6. Problem:
        (L2 FW) The firmware supported only unicast addresses that were recognized
        by the LLH (limit to 16 MACs) in switch independent mode.

     Cause:
        The search in the CAM used the function id from the LLH.

     Fix:
        Unmasked the function id in searches in the cam in switch independent mode.

     Impact:
        Introduced in firmware 6.0.10, BCM57712 only.

  7. Problem:
        (FCoE FW) (CQ46072) BSOD on Windows setups when running heavy traffic
        write operations.

     Cause:
        Inappropriate line credit calculation in transmission path.

     Fix:
        Firmware fix in line credit calculation.

     Impact:
        Introduced in firmware 6.0.10.

  8. Problem:
        (iSCSI FW) Firmware might spin into infinite-loop when RQ is full.

     Cause:
        Priority of Sleep when fetching new RQ producer is too high.

     Fix:
        Reduce sleep priority.

     Impact:
        Introduced in firmware 6.0.11.

Enhancements
------------
  1. Request:
        Support dual-media configuration with swapped phy configuration.

     Change:
        As requested.

     Impact:
        Dual media board.

  2. Request:
        Split speed and duplex parameters into two media.

     Change:
        As requested.

     Impact:
        None.

  3. Request:
        Support powering down the BCM84823 copper core when phy configuration is
        set to second_port.

     Change:
        As requested.

     Impact:
        BCM84823 dual-media.

  4. Request:
        Add support for 4-port mode device

     Change:
        As requested.

     Impact:
        57712

  5. Request:
        Add defines for SFP+ EEPROM addresses to enable reading it
        through ioctl interface.

     Change:
        As requested.

  6. Request:
        Add support for force 1G for KR triggered by new nvm cfg option 127:
        "Force KR enabler"

     Change:
        As requested.

     Impact:
        KR(BCM8073)

  7. Request:
        (L2 FW) Increase L2 clients from 26 clients to 28 in order
        to support iSCSI Out of Order in multi function mode.

     Change:
        As requested.

     Impact:
        None.

  8. Request:
        (L2 FW) Added client_init_ramrod_data struct, in order to decouple
        between driver and firmware client-related structures.

     Change:
        As requested.

     Impact:
        None.

  9. Request:
        (L2 FW) Support changing COS and vlan priority updates according
        to DCB in L2 TX firmware.

     Change:
        As requested.

     Impact:
        None.

 10. Request:
        (FCoE FW) Support stop traffic\start traffic flow control ramrods.

     Change:
        As requested.

     Impact:
        None.


Version 6.0.16 (March 16, 2010)
===============================

Fixes
-----

  1. Problem:
        CQ46516 evbda!lm_locate_snd_next_info+1e0 break while running chariot with jumbo frames enabled.

     Cause:
        Wrong calculation of BDs number required to transmit unack buffer incoming on connection offload.

     Fix:
        Required BDs number is increased by whole SGL number of element.

     Impact:
        Introduced in release T6.0.

  2. Problem:
        CQ46329 57711- Break "evbda!lm_get_packets_rcvd+1ff" When Running "Pnpdtest with Concurrent IO in parallel with DevPathExer" in W2K8 x64 R2

     Cause:
        Q groups that weren't destroyed had client resources that weren't nullified properly during flow of d3_to_d0,
        this caused an interrupt to be received with an old consumer index which was larger than the new producer index causing an assert

     Fix:
        Initialize q-group clients resources before initializing chip and enabling interrupts

     Impact:
        Introduced in release T6.0.

  3. Problem:
        CQ46577 - BSOD (evbda!l2_send_packets+5b6) is seen while passing sockdie L4 traffic to both ports

     Cause:
        Race condition between RSS update and TSS send request wrt indirection table content

     Fix:
        Avoid race condition

     Impact:
        Introduced in evbd 6.0.15.

  4. Problem:
        CQ46443, 46543 - BSOD during uninstall of ndis driver - lm_get_packets_sent

     Cause:
        Driver did not complete Tx processing, before destroying a queue group, causing assert while
        getting completions for Tx operation when the packets descriptors were already aborted.

     Fix:
        Driver will complete Tx processing before destroying a queue group.

     Impact:
        Introduced in release T6.0.


Version 6.0.15 (March 15, 2010)
===============================

Fixes
-----

  1. Problem:
        WHQL ndistest6.5 failures in test "packetfilters" when "Virtual Machine Queues" is set to enabled.

     Cause:
        Driver did not set the correct packet filter settings to the FW.

     Fix:
        Set the correct packet filter to the FW.

     Impact:
        Introduced in release T6.0.

  2. Problem:
        (CQ46005) Maximum bandwidth allocation feature not working
        as expected.

     Cause:
        Storm clock frequency was 500MHz instead of 550MHz - this
        affects the RT clocks configuration which had a 10% deviation.

     Fix:
        Firmware now use correct clock frequency for RT configuration.

     Impact:
        Relevant only to BCM57712.


  3. Problem:
        "Pause on exhausted rings" functionality broken.

     Cause:
        Internal firmware variable was not set properly in RAM.

     Fix:
        Firmware now sets the missing internal variable at L2
        client init phase.

     Impact:
        Introduced in firmware 6.0.2.


  4. Problem:
        (CQ46506) firmware hanged (all threads in Ustorm sleep).(FCOE)

     Cause:
        Error handling was not processed correctly..

     Fix:
        Firmware fix.

     Impact:
        Introduced in firmware 6.0.11.


  5. Problem:
        (CQ46342) RX_ID not populated inside REC_ELS packet. (FCOE)

     Cause:
        Driver did not receive RX_ID during timer's error reporting.

     Fix:
        Firmware fix.

     Impact:
        Problem exist in all previous firmware releases.

  6. Problem:
        (iSCSI) Data placement of non-aligned small size data (<4 bytes)
        caused false data-digest error.

     Cause:
        Internal firmware error.

     Fix:
        Firmware fix.

     Impact:
        Introduced in firmware 6.0.11.

  7. Request:
        CQ46380 - Re-enable TSS to follow RSS indirection table (Follow up on CQ46009 against NDIS miniport)

     Change:
        As requested.

     Impact:
        T6.0 SW only. To be verified with NDIs miniport 6.0.9 or newer.

  8. Problem:
        CQ45848 CQ46329 - Asserts in the driver during client load/unload test scenarios

     Cause:
        iSCSI / FCOE consumer value in the FW was not cleaned during client unload, causing false interrupts upon next client load.

     Fix:
        Driver will clean the iSCSI / FCOE consumer value in the FW during client unload.

     Impact:
        Introduced in release T6.0.

Enhancements
-------------
  1. Request:
        (iSCSI) Add TCP Out-Of-Order support in iSCSI Firmware.

     Change:
        As requested.

     Impact:
        None.

Version 6.0.14 (March 11, 2010)
===============================

Fixes
-----

  1. Problem:
        CQ46475 - 57712:EVBD:W2K8 - WDF_VILOATION(10d) running acpi related test (suspend30.exe/DTM common scenario stress).

     Cause:
        Wrong driver logic caused unnecessary "Set MAC" ramrods to be sent to the FW, and not complete WDF request.
        in a timely manner.

     Fix:
        The driver will send only necessary "Set MAC" ramrods to the FW.

     Impact:
        Introduced in release T6.0.

  2. Problem:
        CQ46125 - 57712:EVBD:W2K8R2x64 - running Chariot IPv4/IPv6 Stress on Function0+1 while Devcon_load_unload on all other functions causes assert.

     Cause:
        under a stressed system, it could take a work-item a long time until it starts running, the function that waited for all work-items to complete
        didn't wait long enough.

     Fix:
        Increased timeout.

     Impact:
        Debug versions only.

  3. Problem:
        CQ45948 - 57712: Windows iSCSI Offload: W2K8R2: only certain iSCSI device could pass traffic in MF mode.

     Cause:
        qzone-id wasn't initialized properly in multi-function mode for iSCSI / FCoE.

     Fix:
        Initialize qzone-id properly.

     Impact:
        Introduced in release T6.0. 57712 only, iSCSI/FCoE only.

  4. Problem:
        CQ46491 - 57712, SF, ETH: Configuring NIC Properties Results in Possible Memory Leakage.

     Cause:
        Allocated driver memory - TOE generic buffers, were not freed on driver unload,
        if other client miniports were bounded.

     Fix:
        Free all driver resources upon driver unload.

     Impact:
        Introduced in release T6.0.

  5. Problem:
        CQ45947 - BSOD Occurs When Performing iSCSI Boot DVD Installation while lldp/ncsi traffic.

     Cause:
        A grc timeout was caused due to nig access from boot code while it is in reset

     Fix:
        This specific grc timeout cause won't cause a BSOD anymore and driver will recover.

     Impact:
        While lldp/ncsi traffic exists in D3 flows and or iSCSI BOOT.


Version 6.0.13 (March 9, 2010)
==============================

Fixes
-----
  1. Problem:
        Sub-optimal throughput in L4 (TOE) Tx tests with small I/O sizes.

     Cause:
        Interrupt rate setting was too low for such tests.

     Fix:
        Increase interrupt rate setting for L4 Tx.

     Impact:
        None.

  2. Problem:
        CQ45947 - evbd BSOD Occurs When Performing iSCSI Boot DVD Installation.

     Cause:
        UNDI driver was running on function 0 wasn't running on function 1.
        VBD reset the chip after it announced to the MCP to take ownership of the hardware.
        this reset caused grc timeout since there was lldp traffic managed by MCP.

     Fix:
        Fix VBD UNDI flow that in case ownership was given to MCP don't reset the chip afterwards.

     Impact:
        Might be exposed while VBD "cleans" after UNDI (iSCSI boot) and there is traffic on chip
        after this cleaning (e.g. management traffic).

  3. Problem:
        CQ46322/46405 - There is a discrepancy between evbd.inf and ndis.inf w.r.t mapping of SSID to advanced properties.

     Cause:
        Incorrect assignment in evbd.inf of the last device id's added.

     Fix:
        Fixed the error in the .inf file.

     Impact:
        Introduced in eVBD 6.0.10.

  4. Problem:
        Potential link issue with BCM8727.

     Cause:
        In BCM8727, the firmware in second port must be loaded before.
        the first port.
     Fix:
        Download the second port to 8727 first during initialization.

     Impact:
        57712 only and SFP+ only.

  5. Problem:
        CQ46456 - eVBD:57710: BSOD is seen during load/unload on eVBD with driver verifier turned on.

     Cause:
        Allocated driver memory was not freed on driver unload.

     Fix:
        Free all driver resources upon driver unload.

     Impact:
        Introduced in release T6.0.

  6. Problem:
        CQ45896 - 57712:ETH:W2K8R2 - Enable Multifunction mode results in assertion during windows boot.

     Cause:
        Wrong driver logic in queue affinity assignment when the driver was granted for only one MSIX message.

     Fix:
        The driver won't change the queues affinity if only one MSIX message is used.

     Impact:
        Introduced in release T6.0.

  7. Problem:
        CQ46119 - 57712:EVBD:W2K8SP2x86 - Assert while running sequential Devcon_Load_Unload (vbd+ndis)
        test against 2 E2 multifunction devices.

     Cause:
        Amount of allocated generic buffers for TOE in multifunction mode was more than required.

     Fix:
        Reduce generic buffer allocation for TOE.

     Impact:
        Introduced in release T6.0.

  8. Problem:
        CQ 46240: 57710 Assert is seen while passing sockdie traffic to 1st port and running load/unload on 2nd port
        CQ 45790: 57711 Assert is seen on eVBD driver while running load/unload on 1 port and passing sockdie traffic to a 5708 LOM
        CQ 46443: BSOD during the uninstall of ndis driver.

     Cause:
        Problematic initialization sequence of status blocks caused several issues:
        Unexpected completion is received during forward connection establishment.
        Forward connection establishment does not generate an interrupt.
        Function start completion does not generate an interrupt.

     Fix:
        Firmware now checks for function enable before updating
        the status block.

     Impact:
        Introduced in release T6.0, relevant to 57710/11 only.


  9. Problem:
        (FCOE) Detect an error on FCP_RSP with confirmation request.

     Cause:
        Firmware did not verify confirmation request indication
        when checked last sequence indication in FC header.

     Fix:
        Fixed confirmation request verification.

     Impact:
        Problem exists in all previous FCoE versions.

Enhancements:
-------------

  1. Request:
        Move the *InterruptModeration parameter from the bus driver to the miniport.

     Change:
        Phase 1: Remove *InterruptModeration parameter from evbd registry, to avoid conflict with miniport registry.

     Impact:
        T6.0 drivers only.
        Phase 2 ("honor miniport request for InterruptModeration setting") is yet to be implemented.
        Until phase 2 is implemented, the option InterruptModeration in the advanced properties page has no effect,
        InterruptModeration is always on.

Version 6.0.12 (March 4, 2010)
================================

Fixes
-----
  1. Problem:
        BCM84823 Copper link doesn't come up.

     Cause:
        Starting from firmware 2.20, BCM84823 enforces the XGXS to
        link first with the BCM84823 before it triggers LASI.

     Fix:
        Set the appropriate flag for the 84823 which enforce XGXS
        initialization before external link is up.

     Impact:
        BCM84823(copper).

  2. Problem:
        CQ45718: Driver crash after driver load.

     Cause:
        Driver was sending a relatively new command to a bootcode which
        doesn't support it. This command in unfamiliar with this
        bootcode, and should only be sent to bootcode which support it.

     Fix:
        Send this command only to bootcode which support it.

     Impact:
        SFP+ only.

  3. Problem:
        Driver crash during power state transition.

     Cause:
        During processing of reset flow driver does not wait for real disabling of timers.

     Fix:
        Fixed relevant flow (function reset) to comply with new BCM57712 hardware.

     Impact:
        BCM57712 S5/S4/S3 and back to S0 from sleep flows.

  4. Problem:
        Various BSOD while iSCSI boot flow is running - CQ46109, CQ46158, CQ45939, CQ45750, CQ45751.

      Cause:
        In 57712 dual port mode, reset device if undi is active was not handled correctly.

      Fix:
        Fix the flow to reset the chip - once for each path.

      Impact:
        iSCSI boot flow on BCM57712 dual port mode only.

  5. Problem:
        Problems with load/unload ndis driver while iSCSI / FCoE miniport is up
        CQ45893, CQ45676, CQ45712, CQ46222.

      Cause:
        The leading connection always had to be up for iSCSI / FCoE even if ndis wasn't up, but the
        buffers of the connection had to be released when ndis unbounded, there wasn't a way to notify FW
        about this issue, this caused assertions in the next ndis bind.

      Fix:
        Changed driver to work with enhanced FW API of function start/stop ramrods (detailed in enhancements).

      Impact:
        Problem introduced in release T6.0, multi-client environment only.

  6. Problem:
        CQ46303 - BSOD/yellow banged (retail) in case no rss (2 CPU's) or INTA mode

      Cause:
        Missing implementation of this case.

      Fix:
        Fixed missing part.

      Impact:
        Problem introduced in release T6.0.

Enhancements:
-------------

  1. Request:
         Add function start/stop ramrods, to clarify HSI and enable better multi-client support on Windows driver.

     Change:
         - Adding support for function init. Function start, function stop, cfc delete, set mac and stat query ramrods complete on event ring.
         - Removed leading connection concept.
         - Added new configuration flags to client setup ramrods.

     Impact:
         None.

Version 6.0.11 (March 1st, 2010)
================================

Fixes
-----
  1. Problem:
        CQ46160 - System get blue screen while installing T6.0 drivers for Winxp32.

     Cause:
        VBD did not fill VBD-Client bind information structures properly on WinXP 32bit.

     Fix:
        Fill VBD-Client bind information structures properly.

     Impact:
        Problem introduced in release T6.0.

  2. Problem:
        BCM57712 Intermittently Encounters BSOD when Placing into S4 Sleep State.
        Similar to old CQ38495. also includes various CQ: 46202,46189,46123,46053,45805,46165,46107,46124.

    Cause:
        When "Allow the computer to turn off this device to save power." check box on Power Management tab was checked,
        OS didn't unbind the VBD, and therefore structures and flows was not closed gracefully.

     Fix:
        Fixed relevant flow (blocks attentions) to comply with new BCM57712 hardware.

     Impact:
       BCM57712 S4 flows.

  3. Problem:
        BCM57712 Intermittently Encounters BSOD when placing into S3/S4/S5 Power State and back from S3/S4
        Includes various CQ: 46189,46165,46124,46107,45805

    Cause:
        VBD processing of reset flow on path 1 may mistakenly reset path 0
     Fix:
        Fixed relevant flow (common reset) to comply with new BCM57712 hardware.

     Impact:
       BCM57712 S5/S4/S3 and back to S0 from sleep flows

  4. Problem:
        Error statistics weren't counted correctly.

     Cause:
        The fw statistics address was miscalculated.

     Fix:
        Fixed address calculation.

     Impact:
        Introduced in firmware 6.0.3 (eVBD 6.0.3)

  5. Problem:
        iSCSI firmware broken.

     Cause:
        TCP layer interface was changed.

     Fix:
        Applied new TCP interface to iSCSI firmware.

     Impact:
        Introduced in firmware 6.0.4 (eVBD 6.0.4).

  6. Problem:
        Cannot run FCoE offload traffic on port 1.

     Cause:
        PBF address was not set properly during offload procedure.

     Fix:
        Fixed address.

     Impact:
        Introduced in firmware 6.0.10 (eVBD 6.0.10).

Enhancements:
-------------

  1. Request:
        VMQ Enhancement: Support more than one queue filter per queue group.

     Change:
         As Requested.

     Impact:
         None.

 2. Request:
       CQ46112 - Add additional 57712 devices to INF.

    Change:
       As Requested.

    Impact:
       None.

Version 6.0.10 (22 February, 2010)
==================================

Fixes
-----
  1. Problem:
         CQ45424 - eVBD:57710 57711: Assert is seen on the eVBD while trying to create a SLB team
                   (evbda!l2_set_information_ex+1ab)
     Cause:
         VBD did not support more than one "set information" requests from the client miniports.

     Fix:
         Fix VBD to support more than one request from the client.

     Impact:
         Problem introduced in release T6.0.

Enhancements:
-------------

    1. Request:
       Change friendly name of certain BRCM57712 device IDs in INF.

      Change:
         As Requested.

      Impact:
         None.

Version 6.0.9 (16 February, 2010)
================================

Fixes
-----
  1. Problem:
         BCM8073 second port doesn't link up
     Cause:
         BCM8073 second port was left in low-power mode

     Fix:
         Set the appropriate GPIO setting to take each port out of low
         power mode
     Impact:
         57712 only and KR only

  2. Problem:
         (CQ45648) driver asserts while trying to unload/load iSCSI/FCoE.

     Cause:
         internal firmware resources were not cleaned properly by driver
         upon unload.

     Fix:
         offset was generated for slow path sync line index.

     Impact:
         Relevant to BCM57712 only.

  3. Problem:
         Terminate handler will not complete.

     Cause:
         Race between timer expiration and terminate handler invocation.

     Fix:
         Fixed by firmware.

     Impact:
         None.

  4. Problem:
         Performance drop on high-PPS scenarios with new HC code.

     Cause:
         New HC flow was overloading a HW buffer and caused back
         pressure on on-chip processors.

     Fix:
         Remove some of the HW buffer uses.

     Impact:
         Problem introduced in firmware 5.3.19.

  5. Problem:
         (CQ45499) HW attention at BCM57710 stress test.

     Cause:
         New HC flow could cause HW bug by using illegal timers command.

     Fix:
         Remove the use of timers command, instead use aggregated interrupts.

     Impact:
         Problem introduced in firmware 5.3.19.
         Relevant only to BCM57710/BCM57711.

  6. Problem:
         CQ45347 - High NPP usage on Win 7 with 1K TOE connections (or more) in Chimney Automatic mode.

     Cause:
         On each connection offload the driver allocates some auxiliary memory proportionally the connection's receive window size.
         In Chimney automatic mode the OS sets the receive window size is 16MB, compared to only 64KB on all other modes/Oss.
         Thus, on Win 7 in Chimney automatic mode, the driver wrongly allocates ~450KB excessive memory per connection,
         compared to the 64KB receive window case.

     Fix:
         To limit memory allocation per connection.
     Impact:
         Introduced in version T5.0

  7. Problem:
         In KR board type, when loading the first port first, it causes
         the other port's link not to come up.
     Cause:
         BCM8073 requires that the second port's firmware will be loaded
         first.
     Fix:
         Always load the first phy port's firmware
     Impact:
         57712 only and KR only

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

  1. Request:
         Add addition 57712 devices to INF.

     Change:
         As Requested.

     Impact:
         None.

  2. Request:
         Added per-path licensing support.

     Change:
         Support BCM57712 address scheme.

     Impact:
         Relevant to BCM57712 only.

  3. Request:
         Constant pause avoidance.

     Change:
         Timeout for pause sending was added. Un-pause message will be
         sent upon timeout expiration.
         (Timeout default is 1 minute, can be set up to 5 minutes by the driver).

     Impact:
         Relevant to BCM57711/BCM57711E/BCM57712 only.

  4. Request:
         VMQ modification: search Tstorm CAM also for MAC+VLAN pair.

     Change:
         As requested.

     Impact:
         None.

  5. Request:
         VMQ modification: allow BD buffer size in VMQ mode to be any
         size larger then 26 (instead of 60 today).

     Change:
         As requested.

     Impact:
         None.

  6. Request:
         Add support for maintaining multiple TCP isles in TOE.

     Change:
         As requested.

     Impact:
         Due to TCP layer changes, iSCSI is currently not functional.


Version 6.0.8 (8 February, 2010)
================================
Fixes
-----

  1. Problem:
         57712 MF does not work

     Cause:
         Wrong calculation CAM offsets in MF mode for 57712_ASIC

     Fix:
         Calculate CAM offsets for 57712 ASIC

     Impact:
         57712 ASIC only



  2. Problem:
         (CQ45648) driver asserts while trying to unload/load iSCSI/FCoE (57712 only).

     Cause:
         internal FW resources were not cleaned properly by driver upon unload.

     Fix:
         offset was generated for slow path sync line index.

     Impact:
         Introduced in firmware 5.3.20.


  3. Problem:
          System crash when RSC is enabled per function, but disabled per queue.

     Cause:
         Bug in ASM code.

     Fix:
         Fixed ASM code.

     Impact:
         Introduced in firmware 5.0.7.


  4. Problem:
         BCM8073 wasn't initialized during common init

     Cause:
         In 57712, the second port is actually port0 of the second path,
         and it wasn't treated like that.

     Fix:
         Initialize port0 of both paths of BCM8073 during common init

     Impact:
         57712 only and KR only


  5. Problem:
         Driver unload of all functions in multi function mode resulted in BSOD

     Cause:
         There was an attempt to access the dmae when master_enable was off.

     Fix:
         Make sure that master_enable is set to 0 only after all dmae transactions are complete

     Impact:
         57712 only



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

  1. Request:
         Minimize DMA transaction to improve PCIE latency.

     Change:
         Reduce DMA in packet placement to be done in single DMA instead of two.

     Impact:
         None.

  2. Request:
         Added per-path licensing support for E2.

     Change:
         Support 57712 address scheme.

     Impact:
         None.


Version 6.0.7 (1 February, 2010)
================================
Fixes
-----

  1. Problem:
         CQ45625: evbda!lm_vf_pf_channel_wait_response assertion

     Cause:
         Wrong detection of virtual function

     Fix:
         Detection of virtual function is fixed

     Impact:
         Introduced in T6.0 SW for 57710 only

  2. Problem:
         Path1 shared memory data run over Path0 configuration

     Cause:
         The register that marks the beginning of the shared memory is
             global rather than split per path

     Fix:
         Use different registers to mark the beginning of the shared
         memory per path.

     Impact:
         57712 only and SFP+

  3. Problem:
         CQ45608: assert in the driver when rebooting W2k8R2 server

     Cause:
         Wrong driver logic when choosing transmit queue and TSS is disabled.

     Fix:
         Fixed driver logic.

     Impact:
         Problem introduced in release T6.0.

Version 6.0.6 (28 January, 2010)
===============================
Fixes
-----

  1. Problem:
         low dual port l2 rx performance

     Cause:
         un-aligned dma transactions

     Fix:
         enable pxp2 capability for dma alignment

     Impact:
         57712 only

  2. Problem:
         sub optimal l2 rx performance

     Cause:
         un-aligned placement of headers

     Fix:
         fixed configuration for aligned headers placement

     Impact:
         Introduced in T6.0 SW

  3. Problem:
         57712 occasionally bsod on advanced property setting

     Cause:
         There is an occasional parity error in the rom mcp, the driver caused a bsod when
         this was found.

     Fix:
         On retail driver, do not treat scratchpad parity as fatal

     Impact:
         57712 only


Version 6.0.5(27 January, 2010)
===============================
Fixes
-----

  1. Problem:
         57712 occasionally bsod on advanced property setting

     Cause:
         There is an occasional parity error in the scratchpad, the driver caused a bsod when
         this was found.

     Fix:
         The driver doesn't treat scratchpad parity as fatal

     Impact:
         57712 only


  2. Problem:
         Checked VBD version didn't load on 57712

     Cause:
         The default msi-x configuration had too many msi-x vectors allocated per pf, the driver did not handle this well.

     Fix:
         The driver uses only the resources it needs.

     Impact:
         57712 only


Version 6.0.4(26 January, 2010)
===============================

Fixes
-----

  1. Problem:
         57712 link is not up

     Cause:
         There's difference in AER strapping between 57711 and 57712

     Fix:
         Set the XGXS AER to the appropriate value according to the new XGXS model

     Impact:
         57712 only

  2. Problem:
         possible spurious interrupt could occur at a second driver load

     Cause:
         Interrupt block wasn't initialized properly by the driver due to internal driver
         counters not being set properly in the flow.

     Fix:
         set internal driver counters at the correct place in the flow (before chip-init)

     Impact:
         57712 only

Version 6.0.3(25 January, 2010)
===============================

Fixes
-----

  1. Problem:
         CQ45453 Assert in the driver while running BacsCLI script

     Cause:
         Wrong driver logic caused multiple TOE RSS chains to be created
         with invalid chain indices, in scenario that only chain
         was supposed to be created.

     Fix:
         Fix wrong driver logic.

     Impact:
         Problem introduced in release T6.0.

  2. Problem:
         (FCOE FW)(CQ44937) Data corruption after forcing FC-CRC error.

     Cause:
         Fault when detecting CRC error on FCoE data placement.

     Fix:
         Firmware fix - Send additional 64 DMA write commands in order
         to circumvent the error.

     Impact:
         None.

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

 1. Request:
       Add devices to INF including 57712 with correct ssid.

    Change:
       As Requested.

    Impact:
       None.

Version 6.0.2(18 January, 2010)
===============================
Fixes
-----

  1. Problem:
         (iSCSI FW) Unexpected chip behavior when padding is splitted
         into 2 or 3 parts.

     Cause:
         Firmware bug when aligning split padding.

     Fix:
         Firmware was fixed.

     Impact:
         Problem exists in all previous releases.

  2. Problem:
         (iSCSI FW) False data digest error when data digest is splitted
         into 3 parts.

     Cause:
         Firmware bug when aligning split digest.

     Fix:
         Firmware was fixed.

     Impact:
         Problem exists in all previous releases.

  3. Problem:
         (FCoE FW) (CQ45025) False REC_TOV timer expiration.

     Cause:
         Timer was not reset when a task that supports REC_TOV
         was replaced by task that didn’t.

     Fix:
         When new task begin, we set the timer if it supports
         REC_TOV and reset timer if he doesn't.

     Impact:
         Problem exists in all previous releases.

  4. Problem:
         (FCoE FW) Connection cache was not initialized properly and REC_TOV\E_D_TOV
         timers weren’t disable after all functions destroyed.

     Cause:
         Wrong calculation of number of active functions.

     Fix:
         Add designated counter for number of active functions.

     Impact:
         Problem in BCM57712 only.

  5. Problem:
         (iSCSI FW) OIS Assert occurred after attempting to login to iSCSI target.

     Cause:
         Firmware bug.

     Fix:
         Firmware was fixed.

     Impact:
         Problem exists only in release T6.0.

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

 1. Request:
        Add ability to control BCM8073 PN polarity swap through nvm
        configuration

    Change:
        As requested.

    Impact:
        None.

 2. Request:
        Use GPIO3 to take BCM84823 phy out of reset

    Change:
        As requested.

    Impact:
        None.

 3. Request:
        Initial Support for iSCSI client using Version6 VBD-Client interface

    Change:
        As requested.

    Impact:
        None.

 4. Request:
        (FW Enhancement) Improve performance of new HC code.
        Cut the storm utilization by 50%.

    Change:
        As requested.

    Impact:
        None.

 5. Request:
        Add support for Qzone IDs, enabling management of VF ram sections
        for ETH RX producers and dynamic HC counters.

    Change:
        As requested.

    Impact:
        None.


Version 6.0.1(12 January, 2010)
===============================
Fixes
-----

 1. Problem:
        PFC packets were not received.

    Cause:
        PFC BMAC configuration at run time was done only
        when the link went down.

    Fix:
        Update the BMAC regardless of if the link went down.

    Impact:
        Issue introduced in driver version 5.3.14
        No exposure in previous releases.

 2. Problem:
        PFC packet were sent with PFC configuration from
        port1 regardless of if the real port is port0 or port1.

    Cause:
        The driver read the configuration statically from port1.

    Fix:
        Fix the bug.

    Impact:
        Issue introduced in driver version 5.3.14
        No exposure in previous releases.

 3. Problem:
        CQ45237 - Assert in the driver when changing "Jumbo Packet" settings

    Cause:
        Wrong access to uninitialized member when BACS initiated IOCTL request and
        the NDIS miniport was not bounded.

    Fix:
        Fixed the wrong access.

    Impact:
        None.

 4. Problem:
        Assert in the driver upon load for insufficient resources

    Cause:
        The driver allocated 16 MSIX messages per CPU, to allow full flexibility
        of VM queue group affinity.

    Fix:
        The driver will allocate 1 MSIX message per CPU.

    Impact:
        Current release will fail WLK1.5 VMQ basic verification and scalability tests.

Version 6.0.0(4 January, 2010)
==============================
Fixes
-----

Enhancements
------------
 1. Request:
        Bug check driver dump was change to support paths.

    Change:
        As requested.

    Impact:
        None.

 2. Request:
        DCBX CEE support in 57711.

    Change:
        As requested.

    Impact:
        None.

 3. Request:
        Initial VMQ support in 5771x.

    Change:
        As requested.

    Impact:
        The VBD supports only client miniports of version 6 and above.

Version 5.3.14(24 December, 2009)
==================================
Fixes
-----
 1. Problem:
        Assertion on FCOE miniport disable/enable.

    Cause:
        Indexes supporting FCOE functionality is not cleared on miniport's unbind.

    Fix:
        In new host coalescing mechanism driver must fully clear all indexes.

    Impact:
        Issue introduced in driver version 5.3.13
        No exposure in previous releases.

 2. Problem:
        New host coalescing showed bad latency results in latte tests.

    Cause:
        Firmware internal timer was not set to the appropriate resolution.

    Fix:
        Setting new init value for this timer.

    Impact:
        Problem introduced in Driver 5.3.13


 3. Problem:
        (FCOE) (CQ44936, CQ44937) Data corruption during read/write/compare test.

    Cause:
        Error was not detected by FW since it was short FCP_RSP packets.

    Fix:
        Checking if received the amount of data when receiving this format of FCP_RSP.

    Impact:
         None.

 4. Problem:
        (FCOE) (CQ44936, CQ44937) Data corruption during read/write/compare test.

    Cause:
        When packet with invalid CRC detected, task context isn't reverted
        to previous valid state.

    Fix:
        on detection of packet with invalid CRC, task cached context isn't
        write back to memory.

    Impact:
        None.

 5. Problem:
        (iSCSI) Chip hangs when running iSCSI read traffic.

    Cause:
        Miscalculation of HW commands when SGEs are not 64-bytes aligned.

    Fix:
        Fixing FW calculation of SGE alignment and fields in HW command.

    Impact:
        None.


Enhancements
------------
 1. Request:
        Having the ability to pass data from the Tstorm to the driver
        over the SGL in fast_path_cqe (required for iSCSI Out-Of-Order).

    Change:
        As requested.

    Impact:
        None.

 2. Request:
        (iSCSI) Add FLR support for iSCSI option2.

    Change:
        When there's PCI read error, orderly terminate the handler
        after returning all activity counters.

    Impact:
        None.


Version 5.3.13(21 December, 2009)
==================================

Fixes
-----

 1. Problem:
       RSS update completion not reproduced to NDIS miniport.

    Cause:
       Wrong handling of DPC, in special cases of TOE RSS update.

    Fix:
       Complete TOE RSS update without optimization.

    Impact:
       Issue introduced in driver version 5.2.11
       No exposure in previous releases.

 2. Problem:
       The driver doesn't have specified processors MSI-X
       vectors, for processors above 16.

    Cause:
       The driver allocates MSI-X vectors for processors
       above 16 as all processors, instead of specified
       processors.

    Fix:
       The driver allocates MSI-X vectors for processors
       above 16 as specified processors.

    Impact:
       Issue introduced in driver version 5.2.9.
       No exposure in previous releases.

 3. Problem:
       Dips in ISCSI throughput.

    Cause:
       Gap between the constant back-to-back DPC was called too frequently
       and on SB that supported all processors.

    Fix:
       Fix the problem.

    Impact:
       Issue introduced in driver version 5.2.11.
       No exposure in previous releases.

 4. Problem:
       GRC-timeout when running on 57712 Emulation 4-domain compile

    Cause:
       Driver accidently accessed non-existing EMAC

    Fix:
        Remove access to EMAC register in case of emulation

    Impact:
       None

 5. Problem:
       In dual-media, only the SFP+ module on the first phy is checked

    Cause:
       Insufficient support in SFP+ module checking

    Fix:
       Modify SFP+ module API verification to include parameter
       indicating the exact phy.

    Impact:
       Whenever driver send command to the bootcode, it will now also send
       parameter. Bootcode will treat this parameter only when it is relevant

 6. Problem:
       CQ44858 - Performing Windows Applications against
       57711 Results in Non-responsive when Bergstrom
       Switch is Present.

    Cause:
       In RSS version 2 a wrong chain for transmission,
       was chosen when miniport gave lower CPUs than
       base CPU.

    Fix:
       Handled this case correctly.

    Impact:
       Issue introduced in driver version 5.2.5.
       No exposure in previous releases.

Enhancements
------------
 1. Request:
       Add support for dual-media board type

    Change:
       Redesign the CLC to be able to handle multi-phy boards.
       Rename clc/CLC to elink/ELINK
       Driver is required to probe the phys on board before initializing the
       link
       Specific phy access will be done using "phy" structure
       Common access will go over all phys on board and execute the command on
       them

    Impact:
       From now on, high level driver will not be familiar with the
       phys on-board. For every phy access, it is required to use the
       elink API, or add new one.

 2. Request:
       New host coalescing code, featuring:
        1. Single status blocks structure (no more segments).
        2. Up to 136 status blocks in E2 (and 32 in E1/E1h).
        3. Zero-based status blocks numbering (global per-path indexing).
        4. Configurable way to allocate status blocks to IGU indices and
           to allocate status blocks indices to state machines.
        5. Both IGU modes (BC and NBC).
        6. Improved and simpler firmware interface.
     Change:
        As requested. Host coalescing firmware&driver was completely re-written.
     Impact:
        None.


Version 5.3.12(8 December, 2009)
==================================

 1. Problem:
       CQ44516 :Assert occurred while disabling eVBD when passing sockdie
       L4 traffic to SLB team on 57710.

    Cause:
       ISCSI L2 client unbind, takes more time than max time expected by VBD.
       There are 8000 TOE offload connection uploading while the ISCSI
       L2 client is unbinding and sending ramrods toward chip, all these
       connections share the same ramrod priority with ISCSI L2 client.
       This causes ISCSI L2 client ramrods to take
       more time than expected by VBD.

    Fix:
       L2 client unbind ramrods get a higher ramrod priority, than TOE offload
       connection uploading ramrods.

    Impact:
       None.


 2. Problem:
       CQ43175 - On W7 sluggishness is seen when passing
       Rx traffic against one port of Everest if RSS is
       enabled.

    Cause:
       Sluggishness is caused due to numerous of DPCs running
       back-to-back without no gap for a long duration.

    Fix:
       Add a gap between the back-to-back DPC.

    Impact:
        None


  3. Problem:
         (CQ44171) Data validation failed during TOE stress test.

     Cause:
         False push timer expiration caused empty pre-posted buffer
         to be skipped.

     Fix:
         Fix in firmware.

     Impact:
         Regression introduced in firmware version 5.3.12.
         No exposure in previous releases.

  4. Problem:
         57712 FPGA long timeouts occurred in toe scenarios

     Cause:
         FPGA frequency factor was set to 100 instead of 400

     Fix:
         Fix in Init-values

     Impact:
         57712 FPGA only

  5. Problem:
         (FCOE) Chip hangs while running normal rd/wr operations.

     Cause:
         RX Doorbell was not handled properly.

     Fix:
         Handling the case where receiving false RX doorbell.

     Impact:
         None.

  6. Problem:
        A possible race could cause a hardware attention from the CFC due to CDU-validation.

     Cause:
        Possible race could cause a connections timer to expire after connection has terminated. To avoid
        errors the context is marked as "nothing to do on timer expire". The problem is that the context is
        not always cached to host memory, and therefore an un-updated context could be loaded when the timer expires.

     Fix:
        The driver nullifies the timers context area to assure that even if the context is not cached out to host, it
        is still marked as "nothing-to-do".

     Impact:
        Issue introduced in driver version 5.2.3
        No exposure in previous releases.


7. Problem:
        A request can be sent on a disabled function

    Cause:
       HW bug in timers block that scans function 6/7 when function 2/3 scan off is set

    Fix:
       workaround in the driver that assures that if the timers starts scanning for function 6/7 nothing
       fatal will occur.

    Impact:
       57712 Only.




Enhancements
------------
  None.




Version 5.3.11 (16 November, 2009)
==================================

 1. Problem:
       CQ41232: Management gets incorrect AN and FC bit values.

    Cause:
       FC wasn't updated correctly during link up event

    Fix:
       Extract all status_link information correctly

    Impact:
       None

 2. Problem:
       BCM8481 doesn't negotiate FC capabilities

    Cause:
       FC capabilities weren't advertised during phy initialization

    Fix:
       Set BCM8481 FC capabilities during init stage

    Impact:
       None

 3. Problem:
       CQ43967: Break running back-to-back bi-directional sockdie stress test + toggle toe

    Cause:
       In FPGA/Emulation the cfc cam only uses the bottom 8 bits of each field in the 4 tuple

    Fix:
       To prevent offloading connection with already existing  combination [SRC | DST].[IP | TCP] LSBs for FPGA/Emulation

    Impact:
       FPGA/Emulation only

 4. Problem:
         (FCOE) Completions are not arrived on open tasks.
     Cause:
         Connection does not register to QM since SQ producer/consumer
         remain equal.
     Fix:
         Adding toggle bit indication to these values.
     Impact:
         None.


 5. Problem:
         (iSCSI) Invalid RX segments within a live connection lead to system halt.
    Cause:
         SYN segments arrived during connection life, created wrong event
         for the driver.
    Fix:
         After bad segments are detected and reset is sent, send RESET
         event to the driver.
    Impact:
         None.


Enhancements
------------
  1. Request:
          Enable defining a minimum byte cost for a packet in Host coalescing.
      Change:
          As requested.
      Impact:
          None.


  2. Request:
          Performance improvement using doorbell indication instead of reading
          from host memory.
      Change:
          As requested.
      Impact:
          None.



Version 5.3.10 (10 November, 2009)
==================================

  1. Problem:
         (E2) cq44330: evbd assertion at evbda!lm_tcp_rx_next_grq_buf+0x201
     Cause:
         During urgent TOE generic buffers compensation all functions update counter of function 0 instead of their own one
     Fix:
         Compensation mechanism is fixed
     Impact:
         None.

  2. Problem
        (E2) driver load on 4 port FPGA compile failed.
     Cause:
        during driver load of 4 ports, wrong igu sb id and default sbid were assigned in igu backward compatible mode
     Fix:
        Select correct sbid
     Impact:
        None

  3. Problem:
         (FCOE) Chip hanged during data placement.
     Cause:
         Thread started placing data before verifying the task type.
     Fix:
         Verify task type is match to read in FCP_DATA before placement.
     Impact:
         None.

  4. Problem:
         (FCOE) (CQ44328) Chip hanged after error was detected.
     Cause:
         Thread was waiting for CRC result instead of releasing the packet.
     Fix:
         Release the packet if an error occurred during data placement.
     Impact:
         None.


Version 5.3.9 (2 November, 2009)
==================================

  1. Problem:
         ABTS flow does not complete normally. (FCOE)
     Cause:
         The task context valid flag indication was not processed correctly,
         hence the ABTS ACC was considered as an error.
     Fix:
         Update and verify the valid flag correctly.
     Impact:
          None.


  2. Problem:
         Incoming iSCSI PDU with corrupted header caused assert.
     Cause:
         Firmware failed to increase activity counter when issuing error report.
     Fix:
         Firmware fix in iSCSI event report flow.
     Impact:
          None.

  3. Problem:
        cq44272 running Driver load/unload caused BSOD
     Cause:
        Driver asserted if a certain register in the IGU was not zero at time of initialization, but the
        register has shared bits with other functions
     Fix:
        Don't assert on the value '0'
     Impact:
        None

  4. Problem:
        Ndis miniport was not enumerated when there is no MCP (E2...)
     Cause:
        The multi-function configuration in the shmem is not configured properly when there is no MCP
     Fix:
        Always enumerate ndis, iSCSI, FCoE when there is no MCP
     Impact:
        User must make sure NOT to try and install all clients in multi-function, and install only the one required



Enhancements
------------
  1. Request:
          Improve TOE Rx performance on few TCP connections scenarios,
          when working with pre-posted buffers.
      Change:
          Add per connection pre-fetched buffers local Ring.
      Impact:
          None.

  2. Request:
          Remove DCA algorithm from TOE code.
      Change:
          As requested.
      Impact:
          None.

Version 5.3.8 (27 October, 2009)
==================================

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

 1. Request:
       The driver allocates as many MSI-X vectors as there
       are processors in the system (but not more than 64).

    Change:
       As requested

    Impact:
       None

 2. Request:
       Add support for EMAC loopback for FPGA

    Change:
       As requested

    Impact:
       None

 3. Request:
       Add support for FCOE statistic, that is collected
       via ramrod.

    Change:
       As requested

    Impact:
       None

 4. Request:
       For VMQueue, support vlan filtering for mac entry and not only two
       vlans in function level.

    Change:
       Implement a new scheme for vlan filtering.

    Impact:
       Removed strict vlan option (supporting a specific vlan and no vlan).

Version 5.3.7 (20 October, 2009)
==================================
  1. Request:
       For VMQueue, support for packet split up to certain amount of bytes
       and for consuming sge (data buffer) on every packet even if not used. (ETH)
     Change:
       As requested.
     Impact:
       None.

  2. Request:
       Support for collecting statistics via ramrod. (FCOE)
     Change:
       As requested.
     Impact:
       None.

  3. Request:
       Add GRC DUMP support to FW debug dump through driver for E2 as well

     Change:
       As Requested.

     Impact:
       None.

Version 5.3.6 (12 October, 2009)
==================================

  1. Problem:
       Priority Flow Control showed low performance.

     Cause:
       Transmitted Xon PFC packet was malformed. PriorityEnableVector field in
       PFC packet was set to zero instead of the relevant priorities. This
       Caused to remote peer to wait longer until timers expired to Xon again.

     Fix:
        Set properly PriorityEnableVector in Xon PFC packet.

     Impact:
        BCM57711 Only.


  2. Problem:
        (CQ43495, CQ43306) Driver assertion seen running Chariot Hi-Perf
        Bi-Directional Stress. (TOE)
     Cause:
        Synchronization bug at TOE RSS update flow.

     Fix:
        Synchronization mechanism fixed.

     Impact:
        None.


  3. Problem:
        (CQ43517) SLES11u0 iSCSI: SUT hangs when unexpected FIN packet
         was received under traffic. (iSCSI)

     Cause:
        FW erroneously increased activity counter.

     Fix:
        Condition for activity counter increment fixed.

     Impact:
        None.


  4. Problem:
        (CQ43517) SLES11u0 iSCSI: SUT hangs when unexpected SYN packet
         was received under traffic. (iSCSI)

     Cause:
        TCP reset initiated by FW caused endless wake ups for FW.

     Fix:
         Changed setting of FW internal flags.

     Impact:
        None.


  5. Problem:
        iSCSI offload: Memory sanity of thread check fail during Query ramrod.

     Cause:
        During Query ramrod, when FW prepared the context for upload
        on the scratchpad, it exceeds the thread scratchpad boundary.

     Fix:
        Use the scratchpad within the thread boundary only.
     Impact:
              None.


  6. Problem:
        iSCSI offload: TCP Close failed.

     Cause:
        Bug in byte credit update during termination.

     Fix:
        Fixed in firmware.

     Impact:
        None.


  7. Problem:
        FCoE INIT ramrod was never completed.

     Cause:
        Reading from inappropriate VQ in Tstorm.

     Fix:
        Reading from to the correct VQ.

     Impact:
        None.


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

  1. Request:
        Adding support broadcast and multicast received packets in
        L2 for switch-independent mode.

     Change:
        As requested.

     Impact:
        None.

  2. Request:
        Improve TOE recovery in case of multiple drops.

     Change:
        Change previous OOO optimization with a new algorithm.

     Impact:
        None.

  3. Request:
        Single Binary for E2 / E1H

     Change:
        Integrated new internal-ram structures

     Impact:
        Same binary can be used for E1h/E2

Version 5.3.4 (30 September, 2009)
==================================

 1. Problem:
       CQ43574 - System assert when trying to create a SLB team.

    Cause:
       An rss_v1 updated was received after a previous rss_v2 was received.
       The driver didn't support a dynamic change from rss_v2 to rss_v1.

    Fix:
       Add support for dynamic change from rss_v1 to rss_v2 and
       vice versa.

    Impact:
       None

 2. Problem:
       CQ43701 - Evbd asserts during miniport update on fresh W7 install.

    Cause:
       From the point an rss_v2 updated was received by eVBD, eVBD expected in
       TSS to work only on CPUs that where based on the CPUs from the RSS
       indirection table.
       During miniport update the functions that weren't update work on the
       current processor in TSS.

    Fix:
       Evbd handles any TSS CPU that is received from miniport.

    Impact:
       None

 3. Problem:
       TCM AGG region was not loaded (FCoE).

    Cause:
       Inappropriate regions initialization.

    Fix:
      Moving TCM AGG to region #3.

 4. Problem:
       FW assert after cable pull (FCoE).

    Cause:
       Ignore MAC error indication from Parser.

    Fix:
       Verify the field and drop the packet if an error was detected.

   Impact:
      None

 5. Problem:
       FW would intermittently hang on FLR L4 traffic testing (TOE).

    Cause:
       Cstorm corrupted its context when fetching bds during FLR.

    Fix:
       Added mitigation for PCIe error handling in cstorm fetch bds.

 6. Problem:
       CQ44061 - Can't pass traffic when RX buffer size is 100 or lower.

    Cause:
       The driver threshold to post BD to FW, relied only on BD
       ring size. When RX descriptor size was much smaller then BD
       ring size the driver didn't post new BD to FW.

    Fix:
       The driver threshold to post BD to FW now relies on the minimum
       between BD ring size and RX descriptor size.

    Impact:
        None.
Enhancement
-----------

 1. Request:
       In retail driver builds removed an assertion in case of starvation
       of statistic timer .

    Change:
       As requested.

    Impact:
       In retail builds, driver won't initiate an assertion (cause BSOD) in case of starvation
       of statistic timer.

Version 5.3.3 (22 September, 2009)
==================================

Fixes
-----

 1. Problem:
       System hang during IO, and no PFC packet is observed.

    Cause:
       When PFC was enabled a NIG register write overwrites the
       correct initialization.

    Fix:
       Removed the write.

    Impact:
       None

Enhancement
-----------
 1. Request:
       When PFC is enabled, set BigMAC to relay control packets to the
       system as well, and enable BigMAC to react on received Pause
       packets

    Change:
       As requested

    Impact:
       None

 2. Request:
       FCOE is enumerated by default and the default max number of FCOE
       connections set to 128.

    Change:
       As requested.

    Impact:
       None.

Version 5.3.2 (15 September, 2009)
==================================

Fixes
-----

 1. Problem:
       Link is down with BCM8481 when connected to 1G device after
       it was connected to 100M device

    Cause:
       When link type changes from SGMII to GMII/XGMII, the SGMII
       configuration wasn't removed

    Fix:
       Remove SGMII configuration in non-SGMII link type

    Impact:
       None

  2. Problem:
        BCM8481 link is not able to link up after cable plug out/in

     Cause:
        New BCM8481 image required new configuration of the LED4 signal
        which generate the interrupt

     Fix:
        Detect link down using the LED4 signal rather than the BCM8481
        registers

     Impact:
        None.

 3. Problem:
       CQ43133 - CPU usages are not in the same level during traffics
       when RSS enabled.

    Cause:
       On RSS updates when the eVBD receive in the indirection table update,
       CPU numbers instead of queue indexes, the indirection table that was given to
       FW didn't always point to the right SB.

    Fix:
       Fixed the bug.

    Impact:
        None

  3. Problem:
        (CQ35477) - Incorrect display of External Phy Firmware Version
        for Everest XFP board.

     Cause:
        External Phy Firmware Version for XFP boards used to display
        0000:0000

     Fix:
        Change display in this case to "N/A"

     Impact:
        None

  4. Problem:
        In BCM8727, spirom was loaded first on slave port, rather than on
        the master port. This may lead to xaui pll issue.

     Cause:
        Port-Swap wasn't considered when loading spirom to the BCM8727
        , hence first the slave port was loaded with the spirom.

     Fix:
        First load the SPIROM to the master port.

     Impact:
        None.

 5. Problem:
       (CQ41320) - On W7 the system is sluggishness when RSS is disabled
       on L2 stress scenarios.

    Cause:
       When RSS is disabled only one CPU is used.

    Fix:
       ALL processor affinity will be used when RSS is disabled.

    Impact:
       None.


 6. Problem:
       (CQ42262) - "Number of RSS Queues" option is limited to half of
       the maximum possible RSS chains.

    Cause:
       "Number of RSS Queues" was limited to half of the maximum possible
       RSS chains, regardless of if it was set to "Auto" or a specific number.

    Fix:
       Remove the limitation of half of the maximum possible RSS chains, in
       case that a specific number is set to "Number of RSS Queues".

    Impact:
       None
 7. Problem:
        In MSIX, if the number of processors in the system is not a power of
        2 and is less than 16, then TOE affinity when TOE RSS is disabled is
        specific processor and not all processor.

    Cause:
        Wrong condition in case of number of processors in the system is
        not a power of 2 and is less than 16.

    Fix:
        Fixed the condition.
    Impact:
       None.

 8. Request:
       Recognition whether the RSS indirection table contains
       CPU num or qidx according to NDIS_RECEIVE_SCALE_PARAMETERS version.

    Change:
       As requested.

    Impact:
       None

 9. Problem:
       cq42482 - BSOD when running Reboot test.

    Cause:
       SW should add a delay between consecutive writes to reset registers.

    Change:
       Added the delay.

    Impact:
       None.


 10. Problem:
       cq43242 - interrupt was lost while calling MsixSetTableEntry.

    Cause:
       MsixSetTableEntry was called without masking the interrupt before.

    Change:
       Mask the interrupt before calling MsixSetTableEntry and after
       MsixSetTableEntry was called unmasked the interrupt.
    Impact:
       None.

 11. Problem:
       cq43458 - LUN's do not reappear back on link removal and reconnection.

    Cause:
       Functionality of recycling FCoE CIDs was broken

    Change:
       Fixed recycling FCoE CIDs

    Impact:
       None.

 12. Problem:
       Pfc handler was not released properly.

    Cause:
       Using threadless instead of thread.

    Change:
       Fix the thread release in Pfc flow in Cstorm.

    Impact:
       None.

Enhancement
-----------

 1. Request:
       (CQ41067) Add support for CL73 to CX4 boards

    Change:
        As requested

    Impact:
        None

 2. Request:
       Raise max supported FCOE offloaded connections from 128 to 1024

    Change:
        As requested

    Impact:
        None


Version 5.3.1 (3 September, 2009)
=================================

Fixes
-----
 1. Problem:
       System BSOD when unloading and loading iSCSI client.

    Cause:
       The driver did not cleanup the FW's internal RAM consumer index during iSCSI client unbind,
       causing mismatch of the completions value on next client load.

    Fix:
       The driver clears the correct entries of FW internal RAM consumer index during
       iSCSI client unbind.

    Impact:
       None.

Version 5.3.0 (4 August, 2009)
==============================

Fixes
-----
 1. Problem:
       Setting rx-usecs to a value less than 12 causes the traffic to stop

    Cause:
       HC coalescing was not disabled when setting the coalescing timeout
       to zero (coalescing timeouts are multiples of 12us)

    Fix:
       Disable HC coalescing, when timeout is set to the zero

    Impact:
       None

 2. Problem:
       Packet descriptors in NIG might get out of sync if management
       egress traffic is pass through during self test

    Cause:
       During loopback test management egress traffic might be routed
       to the host and will not be cleared when exiting the diag mode

    Fix:
       Disable management egress traffic when driver is in diag mode

    Impact:
       None

 3. Problem:
       CQ42854 - retransmissions causing iSCSI timeout

    Cause:
       VBD didn't honor tcp_ack_freq value of 1.

    Fix:
       VBD honors tcp_ack_freq value of 1.

    Impact:
       None

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

 1. Request:
       CQ40745 - Write an event log in case fan failure occurred prior to loading of the driver.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Once PFC is selected along with emac, it is required to set
       BIT 3, KEEP_MAC_CONTROL, at emac register rx_mode.
       Setting this bit causes MAC control frames (except for pause
       frames) to be passed on for processing. This setting has no
       affect on the operation of the pause frames.
       This bit effects all packets regardless of RX Parser packet
       sorting logic.

    Change:
       As requested

    Impact:
       None

 3. Request:
       (CQ41112) - PHY LED Programming for BCM8481 on BlackBird
       (BCM957711A1100G) Production Board

    Change:
       As requested

    Impact:
       None.

Version 5.2.24 (July 14, 2010)
==============================

 1. Problem:
       CQ48772 - BSOD after approximately 5 days of stress test.

     Cause:
       A race in the code of statistics collection mechanism
       caused a mismatch between driver and firmware.
       This mismatch caused a firmware ASSERT that leaded to the BSOD.

     Fix:
       Fix the code and the potential race so there will be
       no possibility to the mismatch scenario.

     Impact:
       Introduced in T4.6. Very unlikely to happen.

Version 5.2.23 (June 6, 2010)
=============================

 1. Problem:
       CQ46978 - BSOD after some IOCTL's in IA64 systems.

    Cause:
       Odd value of pointer casting is fatal in IA64.

    Fix:
       Consider the odd pointer in the code so BSOD won't happen.

    Impact:
       All version. IA64 systems only.

Version 5.2.22a (April 16, 2010)
===================================

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

 1. Request:
       CQ47203 - Product version string should be 14.2.2

    Change:
       As requested.

    Impact:
       None.

Version 5.2.22 (April 11, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ47040 - BSOD on division by zero.

    Cause:
       Non effective wrap around protection of statistics parameter using as divider

    Fix:
       Fix protection of the parameter to prevent division by zero.

    Impact:
       This issue is exposed to all driver versions.

Version 5.2.21 (April 6, 2010)
==============================

Fixes
-----

 1. Problem:
       CQ46432 - BSOD on invalid MSI interrupt message.

    Cause:
       Access to non valid memory during processing invalid interrupt message.

    Fix:
       Validate interrupt message before accessing to corresponding memory blocks

    Impact:
       This issue is exposed to all driver versions.

 2. Problem:
       CQ45574 - BSOD during Windows 2008 SP2 powerup on 57710, ncsi enabled

    Cause:
       Race condition between NCSI and driver caused HW attention that was
       mistakenly interpreted  by the driver as fatal

    Fix:
       Do not treat this HW attention as fatal when the race occurs.

    Impact:
       Only when ncsi is enabled.

 3. Problem:
       (FW L2) Non-offloaded FCOE traffic was silently dropped.

    Cause:
       When FCOE offload engine was disabled all FCOE traffic
       was dropped.

    Fix:
       Remove check of FCOE flag in case FCOE offload is disabled.

    Impact:
       Exists in all previous T5.0/T5.2 versions.

 4. Problem:
        (FW TOE) CQ46245 - Possible data miscompare during stress test.

    Cause:
        Race in fast retransmit flow.

    Fix:
        Firmware verifies that the transmitter is synced on
        latest released buffers.

    Impact:
        Exists in all previous versions.

 5. Problem:
        (FW iSCSI) Unexpected chip behavior when padding split into 2
        or 3 parts.

    Cause:
        Firmware bug when aligning split padding.

    Fix:
        Firmware was fixed.

    Impact:
        Exists in all previous versions.

 6. Problem:
        (FW iSCSI) False data digest error when data digest split into
        3 parts.

    Cause:
        Firmware bug when aligning split digest.

    Fix:
        Firmware was fixed.

    Impact:
        Exists in all previous versions.

 7. Problem:
        (FW iSCSI) Chip hangs when running iSCSI read traffic.

    Cause:
        Miscalculation when SGEs are not 64-bytes aligned.

    Fix:
        Fixing firmware calculation.

    Impact:
        Exists in all previous versions.

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

 1. Request:
       CQ46816- Remove 1 Gb full speed setting from certain OEM IDs

    Change:
       As requested.

    Impact:
       None.


Version 5.2.20c (March 23, 2010)
================================

Fixes
-----

 1. Problem:
       (Completion of CQ45475) - rx buffers threshold value is not overwritten when it is already
       exists from previous eVBD installation.

    Cause:
       Incorrect define in inf - "don't overwrite".

    Change:
       Fix the .inf value to "always overwrite".

    Impact:
       Issue is exposed only when upgrading from 5.0.32a to 5.2.20b

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

 1. Request:
       CQ46684 - Add new BCM57711 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

Version 5.2.20b (March 3, 2010)
===============================

Fixes
-----

 1. Problem:
       CQ45475 - ETH connection loss or ping stops for too long when OS holds more than 80% of rx buffers

    Cause:
       Chip have no rx buffers (most of them are on OS) due to a high threshold, this cause
       xoff and as a result connectivity loss.

    Change:
       When going below a defined amount of rx buffers, indicate a packet as resource to the OS.
       Than packets will be returned immodestly to the chip.

    Impact:
       Problem observed in Windows Server 2003.



Version 5.2.20a (February 14, 2010)
===================================

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

 1. Request:
       CQ45946 - Product version string should be 14.2.1

    Change:
       As requested.

    Impact:
       None.

Version 5.2.20 (February 02, 2010)
==================================

Fixes
-----

 1. Problem:
        CQ45552 - BSOD on specific system running on Windows 2008 R2.

    Cause:
        Specific systems (e.g with 48 CPU's) might experience high latency of dma transactions that will
        require more time to complete.

    Fix:
       Increase the time driver is waiting before asserting for dma not completed from 2ms to 200ms

    Impact:
       This issue is exposed to all driver versions.

Version 5.2.19 (January 19, 2010)
==================================

Fixes
-----

 1. Problem:
        CQ45347 - High NPP usage on Win 7 with 1K TOE connectins (or more) in Chimney Automatic mode.

    Cause:
       On each connection offload the driver allocates some auxiliary memory proportionally the connection's receive window size.
       In Chimney automatic mode the OS sets the receive window size is 16MB, compared to only 64KB on all other modes/Oss.
       Thus, on Win 7 in Chimney automatic mode, the driver wrongly allocates ~450KB excessive memory per connection,
       compared to the 64KB receive window case.

    Fix:
       To limit memory allocation per connection.

    Impact:
       None

Version 5.2.18 (December 21, 2009)
==================================

Fixes
-----

 1. Problem:
       CQ44858 - Performing Windows applications against
       57711 Results in Non-responsive when traffic from switch
       exists.

    Cause:
       In RSS V2 a wrong chain for transmission,
       was chosen when miniport gave lower CPUs than
       base CPU.

    Fix:
       Handled this case correctly.

    Impact:
       Issue introduced in driver version 5.2.6
       no exposure in earlier releases.


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

 1. Request:
       CQ45020 - Remove BCM57711 PCI id's for oem customer (CQ44977).

    Change:
       As requested.

    Impact:
       None.


Version 5.2.17 (December 17, 2009)
==================================

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

 1. Request:
       Rollback of CQ44744 - Add support "*FlowControl" registry keyword for configuring
       flow control setting via BACS.

    Change:
       As requested.

    Impact:
       Rollback of the change that was first applied on verison 5.2.14.

 2. Request:
       CQ44968 - Add new BCM57711 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       CQ44977 - Add new BCM57711 device id's to the driver INF file.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       CQ44447 - Add new BCM57711 device id's to the driver INF file (ssid fix).

    Change:
       As requested.

    Impact:
       None.

Version 5.2.16 (December 14, 2009)
==================================

Fixes
-----

 1. Problem:
       The driver doesn't have specified processors MSI-X
       vectors, for processors above 16.

    Cause:
       The driver allocates MSI-X vectors for processors
       above 16 as all processors, instead of specified
       processors.

    Fix:
       The driver allocates MSI-X vectors for processors
       above 16 as specified processors.

    Impact:
       Issue introduced in driver version 5.2.9.
       No exposure in previous releases.

 2. Problem:
       CQ44876 - WOL Failing Ndistest for specific board.

    Cause:
       Wrong capabilities settings in .inf.

    Fix:
       Fix the .inf settings.

    Impact:
       BCM57711 specific boards, newly introduce in eVBD version 5.2.11

 3. Problem:
       Dips in ISCSI throughput.

    Cause:
       Gap between the constant back-to-back DPC was called too frequently
       and on SB that supported all processors.

    Fix:
       Fix the problem.

    Impact:
       Issue introduced in driver version 5.2.11.
       No exposure in previous releases.


Version 5.2.15 (December 09, 2009)
==================================

Fixes
-----

 1. Problem:
       RSS update completion not reproduced to NDIS miniport.

    Cause:
       Wrong handling of DPC, in special cases of TOE RSS update.

    Fix:
       Complete TOE RSS update without optimization.

    Impact:
       Issue introduced in driver version 5.2.11
       No exposure in previous releases.

Version 5.2.14 (December 07, 2009)
==================================

Fixes
-----

 1. Problem:
       CQ42101 - WOL Failing because Ndistest cannot determine WOL support.

    Cause:
       Wrong capabilties settings in .inf.

    Fix:
       Fix the .inf settings.

    Impact:
       BCM57710/11E Generic test boards.


 2. Problem:
       CQ41760 - Fan failure of device with generic ssid displays specific oem information in event viewer.

    Cause:
       Requirement change.

    Fix:
       Change the string from OEM specific name to "OEM".

    Impact:
       BCM5771x devices with fan - event log wording only.

 3. Problem:
       A possible race could cause a hardware attention from the CFC due to CDU-validation.

    Cause:
       Possible race could cause a connections timer to expire after connection has terminated. To avoid
       errors the context is marked as "nothing to do on timer expire". The problem is that the context is
       not always cached to host memory, and therefore an un-updated context could be loaded when the timer expires.

     Fix:
       The driver nullifies the timers context area to assure that even if the context is not cached out to host, it
       is still marked as "nothing-to-do".

     Impact:
       Issue introduced in driver version 5.2.3
       No exposure in previous releases.

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

 1. Request:
       CQ44744 - Add support "*FlowControl" registry keyword for configuring
       flow control setting via BACS.


 2. Request:
       CQ44754 - Add new BCM57711 device id's to the Driver INF file.

    Change:
       As requested.

    Impact:
       None.

Version 5.2.13 (November 30, 2009)
==================================

Fixes
-----

 1. Problem:
       CQ44382 - IO generation tool reports errors when data digest errors are injected.

    Cause:
       A bug when detecting data digest error on iSCSI data placement.

    Fix:
       Creating FW fix. iSCSI connections write 64 dummy data placements to clear
       erroneous bit when data digest is detected.

    Impact:
       All previous iSCSI releases,  running on 57710, 57711, 57711E

Version 5.2.12 (November 23, 2009)
==================================

Fixes
-----

 1. Problem:
       CQ44524 - F6 installation failed in Win2K3 with latest iSCSI ROM
       which runs in polling mode.

    Cause:
       Newer iSCSI ROM runs in polling mode.  It masks out PCI interrupt
       by setting bit 10 in PCI Command register. In Win2k8 or newer, OS
       clears this bit when it runs in non MSI-X mode. However, Win2K3
       doesn't do this.  This bit is new in PCI v2.3.

    Fix:
       Clear PCI masking bit if it runs in legacy PCI mode.

    Impact:
       None

 2. Problem:
       CQ44171 - Data validation failed during TOE stress test.

    Cause:
       False push timer expiration caused empty pre-posted buffer
       to be skipped.

    Fix:
       Fix in firmware.

    Impact:
       Regression introduced in version 5.2.8.
       No exposure in previous releases.

 3. Problem:
       ISCSI: Invalid RX segments within a live connection lead
       to system halt.

    Cause:
       SYN segments arrived during connection life, created wrong event
       for the driver.

    Fix:
       After bad segments are detected and reset is sent, send RESET
       event to the driver.

    Impact:
       None.

 4. Problem:
       CQ44516 :Assert occurred while disabling eVBD when passing sockdie
       L4 traffic to SLB team on 57710.

    Cause:
       ISCSI L2 client unbind, takes more time than max time expected by VBD.
       There are 8000 TOE offload connection uploading while the ISCSI
       L2 client is unbinding and sending ramrods toward chip, all these
       connections share the same ramrod priority with ISCSI L2 client.
       This causes ISCSI L2 client ramrods to take
       more time than expected by VBD.

    Fix:
       L2 client unbind ramrods get a higher ramrod priority, than TOE offload
       connection uploading ramrods.

    Impact:
       None.

Version 5.2.11 (November 15, 2009)
==================================

Fixes
-----

 1. Problem:
       Theoretical bug in statistics collection (non NDIS mandatory parameters).

    Cause:
       Statistics wraparound is not detected correctly on statistics update
       (on very rare cases).

    Fix:
       Calculation was fixed.

    Impact:
       None.

 2. Problem:
       CQ41232: Management gets incorrect AN and FC bit values.

    Cause:
       FC wasn't updated correctly during link up event

    Fix:
       Extract all status_link information correctly

    Impact:
       None

 3. Problem:
       BCM8481 doesn't negotiate FC capabilities

    Cause:
       FC capabilities weren't advertised during phy initialization

    Fix:
       Set BCM8481 FC capabilities during init stage

    Impact:
       None

 4. Problem:
       CQ43175 - On W7 sluggishness is seen when passing
       Rx traffic against one port of Everest if RSS is
       enabled.

    Cause:
       Sluggishness is caused due to numerous of DPCs running
       back-to-back without no gap for a long duration.

    Fix:
       Add a gap between the back-to-back DPC.

    Impact:
        None

Enhancements
------------
 1. Request:
       Enable defining a minimum byte cost for a packet in Host coalescing.

    Change:
       As requested.

    Impact:
       None.

Version 5.2.10a (November 12, 2009)
===================================

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

 1. Request:
       CQ44447 - Add new BCM57711 device id's to the Driver INF file.

    Change:
       As requested.

    Impact:
       None.

Version 5.2.10 (November 02, 2009)
==================================

Fixes
-----

 1. Problem:
       CQ44171- TCP windows were closed when passing TOE traffic.

    Cause:
       Erroneous handling of push flag caused the firmware to
       skip a pre-posted receive buffer.

    Fix:
       Firmware was fixed.

    Impact:
        None

 2. Problem:
       Incoming iSCSI PDU with corrupted header caused assert.

    Cause:
       Firmware failed to increase activity counter when issuing
       error report.

    Fix:
       Firmware fix in iSCSI event report flow.

    Impact:
        None

 3. Problem:
       Data placements could be cancelled in case one of the iSCSI
       connections encounters data digest error.

    Cause:
       Firmware didn't set checkForEop in DMA message.

    Fix:
       Firmware sets flag when data digest is enabled.

    Impact:
        None

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

 1. Request:
       CQ43584 - Product version string should be 14.2.0

    Change:
       As requested.

    Impact:
       None.

Version 5.2.9 (October 20, 2009)
==================================

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

 1. Request:
       The driver allocates as many MSI-X vectors as there
       are processors in the system (but not more than 64).

    Change:
       As requested

    Impact:
       None

Version 5.2.8 (October 13, 2009)
==================================

Fixes
-----

 1. Problem:
       Direct boards always show flow-control enabled after
       CL73 autoneg

    Cause:
       Incorrect register was used to access link-partner
       advertisement

    Fix:
       Use the right register for the link-partner advertisement

    Impact:
        None

 2. Problem:
       CQ43574 - System assert when trying to create a SLB team.

    Cause:
       An rss_v1 updated was received after a previous rss_v2 was received.
       The driver didn't support a dynamic change from rss_v2 to rss_v1.

    Fix:
       Add support for dynamic change from rss_v1 to rss_v2 and
       vice versa.

    Impact:
       None

 3. Problem:
       CQ43701 - Evbd asserts during miniport update on fresh W7 install.

    Cause:
       From the point an rss_v2 updated was received by eVBD, eVBD expected in
       TSS, to work only on CPUs that where based on the CPUs from the RSS
       indirection table.
       During miniport update the functions that weren't update work on the
       current processor in TSS.

    Fix:
       Evbd handles any TSS CPU that is received from miniport.

    Impact:
       None

 4. Problem:
       BCM8726 P14 is unable to link up @ 1G

    Cause:
       Incorrect SPIROM load sequence

    Fix:
       Set new load sequence according to HW requirement

    Impact:
       None

 5. Problem:
       CQ44061 - Can't pass traffic when RX buffer size is 100 or lower.

    Cause:
       The driver threshold to post BD to FW, relied only on BD
       ring size. When RX descriptor size was much smaller then BD
       ring size the driver didn't post new BD to FW.

    Fix:
       The driver threshold to post BD to FW now relies on the minimum
       between BD ring size and RX descriptor size.

    Impact:
        None.

 6. Problem:
       Direct boards pause capabilities are not resolved as expected

    Cause:
       Pause capabilities are negotiated over different registers,
       hence require distinction between CL73 and CL37.

    Fix:
       Verify CL73 negotiation was completed as well as that
       link-partner supports CL73 to conclude CL73 link up

    Impact:
       None

 7. Problem:
       (CQ43495, CQ43306) Driver assert when TOE RSS is enabled.

    Cause:
       Synchronization bug at TOE RSS update flow (bug in previous fix).

    Fix:
       Synchronization mechanism fixed.

    Impact:
       None

 8. Problem:
       iSCSI offload: Memory sanity of thread check fail during Query
       ramrod.

    Cause:
       During Query ramrod, when FW prepared the context for upload
       on the scratchpad, it exceeds the thread scratchpad boundary.

    Fix:
       Use the scratchpad within the thread boundary only.

    Impact:
       None

 9. Problem:
       iSCSI offload: TCP Close failed.

    Cause:
       Bug in byte credit update during termination.

    Fix:
       Fixed in firmware.

    Impact:
       None

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

 1. Request:
       Enable flow-control capabilities on direct boards when
       flow-control is set to AUTO, and link is up using
       parallel-detect

    Change:
       As requested

    Impact:
       None

 2. Request:
       Improve TOE Rx performance on single/few TCP connections scenarios,
       when working with pre-posted buffers.

    Change:
       Add per connection pre-fetched buffers local Ring.

    Impact:
       None

Version 5.2.7 (September 22, 2009)
==================================

Fixes
-----

 1. Problem:
       In BCM8481, going from 1G to 10M cause GRC timeout.

    Cause:
       EMAC clock is changed only after setting EMAC registers.

    Fix:
       Set the EMAC clock according to the new speed before setting
       EMAC registers.

    Impact:
       None

 2. Problem:
       Link led is down when link is up in CL73.

    Cause:
       HW issue.

    Fix:
       SW workaround by setting led registers.

    Impact:
       None

 3. Problem:
       CQ43710 - iSCSI boot adapter in SLB team is not active when Lievelink probe
       ID is tagged.

    Cause:
       When iSCSI boot via the HBA path is enabled, the Ndis miniport
       can be part of an SLB team.  To allow for this, the Ndis miniport
       needs to know if it is in the boot path or not.

    Fix:
       Modified the L2_IOC_GET_ISCSIBOOT_PAGING_INFO to only return
       MBA_ISCSIBOOT_ENABLE if the device is in the paging path.

    Impact:
       None


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

 1. Request:
       Modify BCM8481 link led configuration in 10G.

    Change:
       As requested

    Impact:
       None

 2. Request:
       Add support for new dual-port 10G-baseT phy BCM84823.

    Change:
       As requested

    Impact:
       None

 3. Request:
       CQ43108 - Remove "Number of RSS queues" configuration from the advanced properties page on Windows XP.

    Change:
       As requested.

    Impact:
       None.

 4. Problem:
       CQ43158 - OEM 10G IOR produces BSOD when booting W2K8 x64 iSCSI on
       10G Port when other 10G Port Connected.

    Cause:
       Race condition between ports on driver load when iSCSI booting, occurred while accessing the MCP,
       caused MCP command sequence mismatch that resulted a BSOD.

    Fix:
       Protect MCP access on driver load with common lock for both ports.

    Impact:
       None

 5. Request:
       In retail driver builds removed an assertion in case of starvation
       of statistic timer .

    Change:
       As requested.

    Impact:
       In retail builds, driver won't initiate an assertion (cause BSOD) in case of starvation
       of statistic timer.

Version 5.2.6 (September 07, 2009)
==================================

 1. Problem:
       CQ35477 - (refix) - Incorrect display of External Phy Firmware Version
       for Everest XFP board.

    Cause:
       External Phy Firmware Version for XFP boards used to display
       "0000:0000".

    Fix:
       Change display in this case to "N/A".

    Impact:
       None.

 2. Problem:
       CQ43051 - Cannot boot into OS after upgrading evbd (checked build) in iSCSI boot environment.

    Cause:
       F6 install creates a service based on binary name. The service name is
       different from the one that is created by INF install. This causes OS creating
       two driver objects that share the same binary. In some cases, it will cause
       ASSERT on checked builds since we don't expect to driver objects to be created.

    Fix:
       Modify the driver not to ASSERT in case of double call to DriverEntry.

    Impact:
       None.

 3. Problem:
       CQ43423 - Xstorm asserted with sequence mismatch assert.

    Cause:
       Amount of sendable bytes miscalculated the fin flag in case of
       fin slow start retransmission.

    Fix:
       Calculation treats fin correctly.

    Impact:
       None.

Version 5.2.5 (September 03, 2009)
==================================

Fixes
-----

 1. Problem:
       Direct boards unable to link up at 1G using auto-negotiation.

    Cause:
       When negotiating using CL73, 1G-KX speed wasn't advertised.

    Fix:
       In CL73, when 1G speed capability is enabled, advertise 1G-KX,
       and disable 10G parallel-detect.

    Impact:
       None

 2. Problem:
       Flow control doesn't work when auto-negotiation complete with
       CL73.

    Cause:
       Flow-Control wasn't advertised with CL73.

    Fix:
       Enable Flow-Control negotiation using CL73.

    Impact:
       None

 3. Problem:
       CQ43133 - CPU usage is not evenly distributed during traffic
       when RSS is enabled.

    Cause:
       On RSS updates, when the eVBD receive indirection table update consist of
       CPU numbers instead of queue indexes, the indirection table that was given to
       FW didn't always point to the right SB.

    Fix:
       Fixed the bug.

    Impact:
       None

Version 5.2.4 (September 01, 2009)
==================================

Fixes
-----

 1. Problem:
       CQ43415 - Assert observed during BacsCLI automation test

    Cause:
       On device remove driver uses variable in freed memory

    Fix:
       Move needed variable to safety memory container.

    Impact:
       None.

 2. Problem:
       CQ43419 - iSCSI boot BSOD during OS load

    Cause:
       On common TOE/iSCSI offload code driver turns to parameter releveant only for TOE

    Fix:
       Use the parameter in TOE only specific branch of code.

    Impact:
       None.

 3. Problem:
       In BCM8706 rarely LASI is not cleared after link change

    Cause:
       LASI may not behave well when Serdes link is not up yet

    Fix:
       Reorder link up order of BCM8706 so that first it initialize
       the link between the XGXS and only then initialize the BCM8706.

    Impact:
       None

Version 5.2.3 (August 31, 2009)
===============================

Fixes
-----

 1. Problem:
       CQ37078 - Lower throughput in L4 Tx than in L2 when running ntttcp with small buffers.

    Cause:
       Low L4 Tx interrupts rate.

    Fix:
       Increase default value for L4 Tx interrupts rate.

    Impact:
       None.

 2. Problem:
       eVBD is counting packets which are dropped due to lack of host buffers twice:
       once in good-packets counter and once in no-buff packets counter.

    Cause:
       Lack of specific counters for this matter.

    Fix:
       Subtract the no-buff counters from the good packet counters (bytes/frames unicast/multicast/broadcast)
       using a special handler which is invoked by the ustorm for each dropped packet.

    Impact:
       None.

 3. Problem:
       CQ42248 - TOE offload stress test fails

    Cause:
       Absent generic buffers

    Fix:
       Increase utilization of generic buffer for poor memory models by
       bounding generic buffer size to MTU boundary.

    Impact:
       None

 4. Problem:
       Enabling fairness algorithm in the middle of the run causes
       the function to stop transmitting.

    Cause:
       The fairness credit is not initialized in this case.

    Fix:
       Change the fairness credit init value.

    Impact:
       None.

 5. Problem:
       CQ42873 - No traffic when number of receive buffers is configured to 50 (the minimum)
       in the advanced properties page.

    Cause:
       Firmware is always saving a CQE for each RSC aggregation.
       So in case less then 75 CQEs are on the ring, the firmware starts dropping packets.

    Fix:
       Check if RSC is enabled before deciding if to drop packet. If RSC is disabled save only
       11 CQEs instead of 75.

    Impact:
       None.

 6. Problem:
       In Licensing Error flow target ring for completion was incorrect.

    Cause:
       Ring parameters were calculated according to a deprecated mechanism.

    Fix:
       Changed ramrod to use the standard mechanism to calculate ring parameters.

    Impact:
       None.

 7. Problem:
       CQ42482 - BSOD when running Reboot test.

    Cause:
       SW should add a delay between consecutive writes to reset registers.

    Fix:
       Added the delay.

    Impact:
       None.

 8. Problem:
       CQ43242 - Interrupt was lost while calling MsixSetTableEntry.

    Cause:
       MsixSetTableEntry was called without masking the interrupt before.

    Fix:
       Mask the interrupt before calling MsixSetTableEntry and after
       MsixSetTableEntry was called unmasked the interrupt.

    Impact:
       None.


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

 1. Request:
       CQ43350 - Link eVBD compile to WDF 1.7 (instead 1.9)

    Change:
       As requested.

    Impact:
       - Driver update for OS earlier than Windows 7 will not require system restart.
       - OS will see eVBD driver on iSCSI boot DVD installation.

 2. Request:
       CQ43091 - Add new devices to INF.

    Change:
       As Requested.

    Impact:
       None.

 3. Request:
       Remove DCA algorithm from TOE code.

    Change:
       As requested.

    Impact:
       None.

 4. Request:
       Improve TOE recovery in case of multiple drops.

    Change:
       Change previous OOO optimization with a new algorithm.

    Impact:
       None.

 5. Request:
       Remove 2 seconds delay in terminate flow.

    Change:
       Incorporate flush doorbell mechanism in terminate flow.

    Impact:
       None.

Version 5.2.2 (August 24, 2009)
===============================

Fixes
-----

 1. Problem:
       CQ42853 - X64_0x0_evbda!lm_locate_snd_next_info+1d5 running Chariot stress

    Cause:
       Wrong calculation of BDs number required to transmit unack buffer incoming on connection offload

    Fix:
       Required BDs number is increased by whole SGL number of element

    Impact:
       None


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

 1. Request:
       CQ043078 - Move eVBD compile to WDK 7.0.0 RTM.

    Change:
       As requested.

    Impact:
       Driver update for OS earlier than Windows 7 Might require system restart (For WDF 1.9).

 2. Request:
       tx/rx interrupts rates must be separated per protocol

    Change:
       As requested.

    Impact:
       None

 3. Request:
       Access to "under indication" flags must be synchronized

    Change:
       As requested.

    Impact:
       None

 4. Request:
       Recognition whether the RSS indirection table contains
       CPU num or qidx according to NDIS_RECEIVE_SCALE_PARAMETERS version.

    Change:
       As requested.

    Impact:
       None

Version 5.2.1 (11 August, 2009)
===============================

Fixes
-----

 1. Problem:
       CQ42854 - retransmissions causing iSCSI timeout.

    Cause:
       VBD didn't honor tcp_ack_freq value of 1.

    Fix:
       VBD honors tcp_ack_freq value of 1.

    Impact:
       None

 2. Problem:
       CQ42586 - SUT fails to wake from S4 via Interesting Packet in Multi-function mode if all functions are enabled.

    Cause:
       In case last function to unload in port is not vnic 0 (e.g. function 3 in port 1)
       Chip reset of last function overridden registers that programmed interesting packet for the first function in port.

    Fix:
       Save and restore the registers before and after the reset for both ports and not only for opposite port (extension of CQ41586 fix).

    Impact:
       None.

 3. Problem:
       Link is down with BCM8481 when connected to 1G device after
       it was connected to 100M device

    Cause:
       When link type changes from SGMII to GMII/XGMII, the SGMII
       configuration wasn't removed

    Fix:
       Remove SGMII configuration in non-SGMII link type

    Impact:
       None

 4. Problem:
       BCM8481 link is not able to link up after cable plug out/in

    Cause:
       New BCM8481 image required new configuration of the LED4 signal
       which generate the interrupt

    Fix:
       Detect link down using the LED4 signal rather than the BCM8481
       registers

    Impact:
       None

 5. Problem:
       (CQ35477) - Incorrect display of External Phy Firmware Version
       for Everest XFP board.

    Cause:
       External Phy Firmware Version for XFP boards used to display
       0000:0000

    Fix:
       Change display in this case to "N/A"

    Impact:
       None

 6. Problem:
       In BCM8727, spirom was loaded first on slave port, rather than
       on the master port. This may lead to xaui pll issue.

    Cause:
       Port-Swap wasn't considered when loading spirom to the BCM8727
       , hence first the slave port was loaded with the spirom.

    Fix:
       First load the SPIROM to the master port.

    Impact:
       None

 7. Problem:
       In BCM8727 base boards, link is down intermitted after loading
       the interface

    Cause:
       In BCM8727 No-OverCurrent board designs, link up registers
       gets updated 10us after link up LASI is received

    Fix:
       Add 100us delay after LASI is triggered before reading link status

    Impact:
       None

 8. Problem:
       (CQ41320) - On W7 the system is sluggishness when RSS is disabled
       on L2 stress scenarios.

    Cause:
       When RSS is disabled only one CPU is used.

    Fix:
       ALL processor affinity will be used when RSS is disabled.

    Impact:
       None


 9. Problem:
       (CQ42262) - "Number of RSS Queues" option is limited to half of
       the maximum possible RSS chains.

    Cause:
       "Number of RSS Queues" was limited to half of the maximum possible
       RSS chains, regardless of if it was set to "Auto" or a specific number.

    Fix:
       Remove the limitation of half of the maximum possible RSS chains, in
       case that a specific number is set to "Number of RSS Queues".

    Impact:
       None

 10. Problem:
        In MSIX, if the number of processors in the system is not a power of
        2 and is less than 16, then TOE affinity when TOE RSS is disabled is
        specific processor and not all processor.

    Cause:
        Wrong condition in case of number of processors in the system is
        not a power of 2 and is less than 16.

    Fix:
        Fixed the condition.
    Impact:
       None.

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

 1. Request:
       CQ42856 - In promiscuous mode, pass management traffic to the host.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       (CQ41112) - PHY LED Programming for BCM8481 on BlackBird
       (BCM957711A1100G) Production Board

    Change:
        As requested

    Impact:
        None

 3. Request:
       (CQ41067) Add support for CL73 to CX4 boards

    Change:
        As requested

    Impact:
        None

Version 5.2.0 (27 July, 2009)
=============================

Fixes
-----

 1. Problem:
       CQ41054, CQ42091 - RSS on W2K8 R2 with multiple 10G adapters does not
       behave as expected.

    Cause:
       On W2K8 R2 the OS divide the CPUs between multiple adapters via the
       content of the RSS indirection table. The OS expects the driver will
       do dynamically change the MSIX vectors affinity to CPUs accordingly.
       The driver did not support this dynamic change of affinity.

    Fix:
       Added support for dynamic MSIX affinity according to the content of RSS
       indirection table.

    Impact:
       Win 7/W2K8 R2 only.
       To take affect the fix must be accompanied with NDIS Miniport version
       5.2.0 or newer.


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

 1. Request:
       CQ40745 - Write an event log in case fan failure accord prior to loading of the driver.

    Change:
       As requested.

    Impact:
       None.

Version 5.1.0 (11 June, 2009)
=============================

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

 1. Request:
       Support Priority Flow Control (PFC) to achieve lossless Ethernet for FCoE at 57711E.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       When PFC enabled, Pass pause frames towards the NIG.

    Change:
       As requested.

    Impact:
       None.

Version 5.0.31a (August 27, 2008)
=================================

Enhancements:
-------------

 1. Request:
       CQ43162 - Have iSCSI offload disabled by default on OEM LOM.

    Change:
       As Requested.

    Impact:
       None.

 2. Request:
       Product version string should be 14.1.5

    Change:
       As requested.

    Impact:
       None.

Version 5.0.31 (August 5, 2008)
===============================

 1. Problem:
       CQ42662 - WLK1.4 Win08R2 Sleep Stress & Common Scenario will not complete.

    Cause:
        In a scenario of extensive stress, DPC might not run for a very long time.

    Fix:
       Extended the time interval waiting for DPC completion.

    Impact:
       None.

 2. Problem:
       CQ42854 - retransmissions causing iSCSI timeout

    Cause:
       VBD didn't honor tcp_ack_freq value of 1.

    Fix:
       VBD honors tcp_ack_freq value of 1.

    Impact:
       None

Version 5.0.30a (July 21, 2009)
===============================

Enhancements:
-------------

 1. Request:
       CQ42231 - Add new devices to INF.

    Change:
       As Requested.

    Impact:
       None.

Version 5.0.30 (July 9, 2009)
=============================

 1. Problem:
       System ASSERT/Hang on S5/S4 with systems that have more than one 57710/57711 installed.
       Problem is newly introduced on eVBD 5.0.29

    Cause:
       DevicePropertyBusNumber was wrongly overridden upon driver init.

    Fix:
       Remove override code.

    Impact:
       Systems that have more than one 57710/57711 chips installed.

Version 5.0.29 (July 9, 2009)
=============================

 1. Problem:
       CQ42300 - Plug and Play Driver Test Surprise Removal hangs on Windows 7 WLK 1.4.

    Cause:
        WLK 1.4 implement New Plug and Play flow on Windows 7 Surprise Removal testing.
        In this new flow, driver should not access hardware after surprise removal is called.

    Fix:
       Changed the driver to match surprise removal behavior on Windows 7.

    Impact:
       Windows 7 only.

 2. Problem:
       57711E - BSOD after loading drivers via *OIS* path during iSCSI Boot DVD Installation
       on OEM blade

    Cause:
       Chimney is disabled by eVBD on VISTA.
       When eVBD disabled chimney eVBD doesn't do some common initializations that are needed
       for TCP (which is common for TOE and ISCSI). ISCSI crashes because some of these
       initializations aren't done.

    Fix:
      Removed the dependency between chimney support by eVBD and initializations that are
      needed for TCP .

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       CQ42477 - Remove "loadordergroup=base" for certain OEM IDs in inf.

    Change:
       As Requested.

    Impact:
       Specific OEM ID's only.

Version 5.0.28 (July 6, 2009)
=============================

 1. Problem:
       CQ42435 - BSOD after loading drivers during iSCSI Boot DVD Installation
       on OEM blade

    Cause:
       Wrong driver logic did not take into account the advertised TOE status when
       configured TOE RSS functioning.

    Fix:
       Fix driver logic when configuring TOE RSS functioning.

    Impact:
       None

Version 5.0.27 (July 2, 2009)
=============================

 1. Problem:
       Link up time takes too long with BCM8727 based NICs

    Cause:
       EDC mode is not set automatically

    Fix:
       Set EDC mode manually according to the SFP+ module type
       detected ( Passive DAC / Active DAC / LC-LRM / LC-SR / LC-LR )

    Impact:
       None

 2. Problem:
       (CQ41567) In BCM8727 based NICs, when SFP+ module is not
       plugged, there is continuous messages of Link Down

    Cause:
       The EDC tries to process the Rx data/noise because its OPRXLOS
       input signal is false (low), indicating an Rx signal is
       present.

    Fix:
       Perform ‘Or’ of the Active Module Absent Level with the Active
       Laser Loss of Light Level. This way we tell the EDC not
       process Rx data/noise when the module is not present.

    Impact:  None


 3. Problem:
       (CQ42416) BSOD when uncheck iscsi from BACS and miniport
       is disabled in OS.

    Cause:
       The IOCTL (LICENSE_KEY_REQ) was received and no client was bound.
       In this IOCTL we send a command to the MCP.
       If no client is bound the data to send a command to the MCP isn't
       initialized.

    Fix:
       Read the MCP data in the CB EvtDevicePrepareHardware before an
       IOCTL can be received.

    Impact:  None

Version 5.0.26 (June 24, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ42058 - System crashes BugCheck 0x124 as soon as netperf gets started.

    Cause:
       On cell-based systems, the driver should access MMIO space using a “translated” BAR address provided by the OS,
       and not with the “physical” BAR address that retrieved doing a direct read from the BAR registers in the PCI config space.

    Change:
       Use the "translated" BAR address instead the address read from PCI config space.

    Impact:
       Cell-based systems.

Version 5.0.25 (June 22, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ42073 - TCP performance drop when running netperf.

    Cause:
       Window update was delayed due to Delayed-Ack algorithm.

    Change:
       Window updates are not delayed when the advertised window is small.

    Impact:
       None.

 2. Problem:
       CQ41586 - SUT fails to wake from S4 via Ping/Magic Packet in MF mode.

    Cause:
       Chip reset of last port overridden registers that programmed interesting packet for the first port.

    Fix:
       Save and restore the registers before and after the reset.

Version 5.0.24 (June 18, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ38748 - Win7 fails GlitchFreeDevice in Ndistest 6.5

    Cause:
       Statistics query frequency was not sufficient for the
       GlitchFreeDevice test.

    Fix:
       Increase statistic query frequency in Windows 7.

    Impact:
       None.

Version 5.0.23 (June 17, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ40562 - Windows DVD installation over HBA path failed in
       Windows 2008 R2.

    Cause:
       iSCSI PDO was not created because of redundant check.

    Fix:
       Made changes to remove redudant check so that iSCSI PDO
       is created in the iSCSI HBA DVD installation.

    Impact:
       None.

 2. Problem:
       CQ42011 - Misspelling in event viewer message when unqualified SFP+ module is detected.

    Cause:
       Typo.

    Fix:
       Trivial.

    Impact:
       None.

 3. Problem:
       CQ41988 - Toe needs to be disabled for xp and vista.

    Cause:
       OS type is not detected correctly.

    Fix:
       Detect the OS type correctly.

    Impact:
       None.

 4. Problem:
       CQ41604 - BSOD when running DTM test "Common Scenario Stress With IO".

    Cause:
       Busy-wait for event completion caused starvation of other DPCs and assert for
       no completions in a timely manner.

    Fix:
       Avoid long busy-waiting for event's completion.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       CQ41931 - Add new devices to INF.

    Change:
       As Requested.

    Impact:
       None.

Version 5.0.22 (June 10, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ41599 - NDISTest 6.0 2c_mini6rsssendrecv fails on Win2k8 R2 IA64
                  with KGROUP enabled
    Cause:
       MSIX was disabled on W2K8 IA64 and on W2K8 R2 IA64.
       In INTA mode kgroup support was broken

    Fix:
       Enable MSIX on IA64 (already done in evbd v5.0.20)
       Fixed KGROUP support for INTA mode.

    Impact:
       On W2K8 SP1 IA64 - MSFT's fix KBKB957018 must be installed, otherwise
       Miniport installation on top of evbd may intermittently fail.
       On all other Windows flavors - No impact.

 2. Problem:
       CQ40964, CQ41586 - 57711/57711E fails to wake up from S4 via Ping.

    Cause:
       Chip reset of last port overridden registers that programmed interesting packet for the first port.

    Fix:
       Save and restore the registers before and after the reset.

    Impact:
       All versions after T4.4 that are trying to use WOL via ping for both ports.

 3. Problem:
       CQ41299 - evbda!lm_tcp_rx_gen_peninsula_process assertion running Chariot

    Cause:
       Race condition on RSS (TOE) update processing.

    Fix:
       Complete processing all ingoing connections before processing RSS (TOE) update.

    Impact:
       None.

 4. Problem:
       System break during driver load (BCM57711E).

    Cause:
       The error handling path when MF/SF mode query resulted an error was not complete.

    Fix:
       Fix error hanlding path.

    Impact:
       In case of invalid configuration, VBD load will fail and result a yellow bang (instead of a BSOD).

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

 1. Request:
       Make 8727 over-current behavior code more efficient.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       PHY FW upgrade IOCTL - Customization for BMAPI.

    Change:
       Change FW upgrade prepare IOCTL to init the phy in order to enable phy register reading.

    Impact:
       As requested.

Version 5.0.21 (June 4, 2009)
=============================

Fixes
-----

 1. Problem:
       Sparta script TCP_ChimneyOffload (test t70) fails intermittently.

    Cause:
       Retransmit timer inaccuracy due to timer resolution differences during upload.

    Fix:
       Fix time resolution conversion macro.

    Impact:
       None.

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

 1. Request:
       CQ41711 - Block enumartion of iscsi device on Windows 7 client OS.

    Change:
       As Requested.

    Impact:
       Windows 7 client only.

 2. Request:
       CQ41756 - Block enumartion of iscsi device on Windows Vista client OS.

    Change:
       As Requested.

    Impact:
       Windows Vista client only.

Version 5.0.20 (June 3, 2009)
=============================

Fixes
-----

 1. Problem:
       Port statistics for management might be inconsistent.

    Cause:
       in MF mode, all devices assigned the port statistics to monument instead PMF only.

    Fix:
       Only PMF will assign port statistics.

    Impact:
       Newly introduced on 5.0.9, not related to older versions.

 2. Problem:
       CQ41533 - Unapproved modules behavior is not enforced according to nvram configuration

    Cause:
       In case the module was not approved, the function quit before enabling the Tx laser - so even
       when set to warning, there was no link. When set to power off the module, there was continues
       false indication of over current when the module was extracted.

    Fix:
       When set to warning - enable the module. Validate that the module is present before checking for over current indication.

    Impact:
       None.

 3. Problem:
       Sparta script TCP_ChimneyOffload fails several tests.

    Cause:
       Zero window probe retires exceeded the allowed maximum.

    Change:
       Original zero window probe and its retries will not exceed maxRT_count.

    Impact:
       None.

 4. Problem:
       CQ41599 - NDISTest 6.0 2c_mini6rsssendrecv fails on Win2k8 R2 IA64
                  with KGROUP enabled
    Cause:
       MSIX was disabled on W2K8 IA64 and on W2K8 R2 IA64

    Fix:
       Enable MSIX on IA64

    Impact:
       On W2K8 SP1 IA64 - MSFT's fix KBKB957018 must be installed, otherwise
       Miniport installation on top of evbd may intermittently fail.
       On all other Windows flavors - No impact.

 5. Problem:
       CQ40964 - 57711 fails to wake up from S4.

    Cause:
       Hardware was programmed to WOL on incorrect phase on move to d3 flow.

    Fix:
       Program the hardware in the correct phase.

    Impact:
       None.

Version 5.0.19 (June 1, 2009)
=============================

Fixes
-----

 1. Problem:
       Allow enabling and disabling the fan failure mechanism for different PHY
       types doesn't function (nvram option 83).

    Cause:
       The option was overridden to always enable fan failure detection.

    Fix:
       Remove the overwriting code.

    Impact:
       None.

 2. Problem:
       Module compliant event log and module over-current event
       logs are truncated

    Cause:
       Unable to print event log with variable length

    Fix:
       Use hardcoded event logs instead of event logs from nvram
       file.

    Impact:
       Warning message is not to be used in the modules nvram file.

 3. Problem:
       CQ41487 - Driver asserts on TCP rx flow while running unidirectional offloadstress test.

    Cause:
       OS sends more than one Rx buffers with partially filled buffer flag.

    Fix:
       To allow processing only single Rx buffer with partially filled buffer flag.

    Impact:
       None

 4. Problem:
       CQ41541 - general attention bits assert in eVBD.

    Cause:
       Device enabled with TOE RSS option has no initialized indirection table in RAM till 1st RSS update from OS.
       Non valid values in indirection table may be used by FW causing assertion .

    Fix:
       Initialize indirection table in RAM. Force disabling TOE RSS in multifunction mode.

    Impact:
       None

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

 1. Request:
       Prevent unreasonable assertions caused by race condition Rx/Tx completions processed on different CPUs

     Change:
       Needed statuses of connection is checked on final completion stage.

     Impact:
        None.

 2. Request:
       Add support for BCM8727 without over current detection (BCM8727_NOC).

    Change:
       As requested.

    Impact:
       None.

Version 5.0.18 (May 26, 2009)
=============================

Fixes
-----

 1. Problem:
       CQ41307 - break at evbda on TCP RX ramrod complete.

    Cause:
       Caused by race condition Rx/Tx completions processed on different CPUs

    Fix:
       Needed parameters is extracted under lock before completion processing.

    Impact:
       None.

 2. Problem:
       CQ41147 - (iSCSI Offload) System break while passing traffic on Equallogic target.

    Cause:
       The MSS value of an offload connection was not multiple of 4 as the iSCSI FW expects.

    Fix:
       If the MSS value is not multiple of 4, the driver will truncate it when reporting to the FW.

    Impact:
       None.

 3. Problem:
       CQ41212 - NDISTest 6.0 1c_mini6rssoids fails on Windows 7 kgroup testing.

    Cause:
       RSS chain count calculation algorithm.

    Fix:
       In case number of CPU's in a kgroup or system is less than 4 - default RSS chain count
       will be equal to CPU's count.

    Impact:
       Windows 7 only.

 4. Problem:
       CQ38947 - Sparta script TCP_ChimneyOffload fails test “t73”.

     Cause:
       Connection was uploaded due to Doubt-Reachability in persist state.

     Change:
       Indicate Doubt-Reachability only if not in persist.

     Impact:
       None.

 5. Problem:
       Sparta script TCP_ZeroWindow fails.

     Cause:
       Persist probe was counted as retransmit, causing maxRT to be
       exceeded too early when transmitting probe retries.

     Change:
       Don't count the persist probe in maxRT check.

     Impact:
       None.

 6. Problem:
       iSCSI LocalCompletionTest fails in internal unit test tool.

     Cause:
       Firmware bug.

     Change:
       Fix cIscsiCompletion bit size variables, Binary division ASM MACRO.

     Impact:
       None.

 7. Problem:
       CQ41358 - Intermittent 30 sec. WatchDog break at evbdx during system shutdown.

    Cause:
       In some systems (mainly with couple of 57710/57711 devices), due to overload,
       we might hit WatchDog assert due to long wait time in DPC (Wait for SW<-->HW operations complete).

     Change:
       While going to S4/S5, we reset the chip and in that case we might not get completion for
       some of our SW<-->HW operations. in case we know we are on S4/S5 process, we can skip the waiting
       time and this way prevent the WatchDog assert.

     Impact:
       None.

 8. Problem:
       Sparta script TCP_ChimneyOffload fails test “t61”.

    Cause:
       Push timer was not set for partially filled receive request after offload.

    Change:
       Support for handling partially filled receive request was added.

    Impact:
       None.

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

 1. Request:
       Support approved module list and warn if the module is not on the list.

    Change:
       This feature requires bootcode 5.0.6 or later and a valid
       optic modules image on the nvram. The feature is controlled by
       nvram option 81.

    Impact:
       None.

 2. Request:
       Allow enabling and disabling the fan failure mechanism for different PHY
       types.

   Change:
       Added nvram option 83 to indicate if the fan failure detection should be
       enabled according to the PHY type, disabled or enabled.

   Impact:
       None.

 3. Request:
       Support firmware flow control when consuming SGEs.

    Change:
       Added check for Flow control when consuming SGEs from host.

    Impact:
       None.

 4. Request:
       Avoid excessive OS memory interface using for offloaded connection.

    Change:
       As requested.

    Impact:
       None.

 5.  Request:
        Add support for DCC spec 1.6

     Change:
        As requested.

     Impact:
        None.

Version 5.0.17 (May 20, 2009)
=============================

Fixes
-----

 1. Problem:
       Assertion at NDIS60 miniport.

    Cause:
       Non initialized indirection table in VBD.

    Fix:
       Initialize whole indirection table on init.

    Impact:
       None.

 2. Problem:
       CQ41146 - Break at VBD driver when running a bi-dir
       sockdie stress on the GOS

    Cause:
       Assertion in VBD on zero byte receive request for already closed connection.

    Fix:
       Remove assertion, return success code.

    Impact:
       None.

 3. Problem:
       CQ40851, 40627, 41179, 40991 - System break during driver load on x86 systems

    Cause:
       Wrong logic in the driver caused faults in HW blocks initializations made by DMAE commands.

    Fix:
       Fix wrong logic of memory address calculation that's being used in DMAE commands.

    Impact:
       None.

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

 1. Request:
       Add support for BCM8481 SPI-ROM upgrade.

    Change:
       As requested

    Impact:
       None

 2. Request:
       Prevent locks overlapping, unreasonable sharing lock between NDIS & iSCSI facilities,
       excessive lock's acquiring working with connection's physical blocks.

    Change:
       As requested

    Impact:
       iSCSI

 3. Request:
       CQ41254 Add 57711 support.

      Change:
         As Requested.

      Impact:
         None.

 4. Request:
       Add required IOCTLs to support PHY FW upgrade.

      Change:
         Add 3 IOCTL's to VBD: PHY FW upgrade init, PHY FW upgrade done, and PHY re-init after upgrade.
         Add CL45 MDIO IOCTL support.

      Impact:
         None.

 5. Request:
       Comply with Windows 7 WOL capabilities query.

      Change:
         As Requested.

      Impact:
         Windows 7 only.

Version 5.0.16 (May 18, 2009)
=============================

Fixes
-----

 1. Problem:
       CQ40938, CQ40937, CQ40911, CQ40992 - LSO test failure.

    Cause:
       LSO packets with BDs that point to buffers that are less than MSS size
       caused the firmware to send illegal bytes within the same LSO packet.

    Fix:
       Firmware fix.

    Impact:
       None.

 2. Problem:
       Sparta script TCP_StateConformance fails several tests.

    Cause:
       Packets with in-order SYN are both uploaded in CLOSED state and forwarded via L2.

    Fix:
       Do not forward such packets via L2.

    Impact:
       None.

 3. Problem:
       Sparta script TCP_ChimneyOffload fails test “t53”.

    Cause:
       When invalidating connection after exceeding maxRT_time or maxRT_count,
       snd_nxt was erroneously set back to snd_una.

    Fix:
       snd_nxt remains as is at the above cases.

    Impact:
       None.

 4. Problem:
       Sparta script TCP_ChimneyOffload fails test “t70”.

    Cause:
       When arming the RTO timer, max_RT value was not taken into consideration.

    Fix:
       Arm the timer to the minimum between RTO and the remaining time till max_RT is reached.

    Impact:
       None.


Version 5.0.15 (May 13, 2009)
=============================

Fixes
-----

 1. Problem:
       CQ36705 - Performance is lower when FC is forced than disabled.

    Cause:
       L2 Firmware flow control was enabled for BCM57711/E and caused performance decrease.

    Fix:
       Disabled L2 firmware flow control by default (can be changed using registry).

    Impact:
       None.

 2. Problem:
       CQ40927 System halt during VBD load/unload when iSCSI client is enumerated.

    Cause:
       The code of the halted function was located in a paged memory,
       which caused a page fault when the IRQL level was high.

    Fix:
       Locate the function's code in a non-paged memory.

    Impact:
       None.

 3. Problem:
       CQ40878, CQ41072 - ISCSI L2 connection load failed (MF mode).

    Cause:
       Firmware miscalculated HC address at context initialization.

    Change:
       Address calculation was fixed.

    Impact:
       None.

 4. Problem:
       BCM8727 shows link up while RX is disabled

    Cause:
       When module-compliance enforcement is enabled,
       and non-compliant module is detected, then the driver
       disables the TX-Laser for the phy, yet the link keeps
       showing link up.

     Fix:
       When link is changing, in case the TX-laser is off,
       indicate that the link is down although the phy detects RX link up.

     Impact:
       None

 5. Problem:
       CQ41000 - Target is not connected after load eVBD+NDIS
       during DVD installation, also not able to iSCSI boot from
       OS image created by DVD.

    Cause:
       At the time that SFP+ module plugged-in was triggered,
       driver enabled the module while ignoring link change.

    Fix:
       Check for link changes during module plugged in/out.

    Impact:
       None.

  6. Problem:
       BCM8727 doesn't link in 10G after changing from 1G.

     Cause:
       10G default configuration was overwritten after setting 1G
       configuration. Since the phy is not reset, the configuration
       for 10G doesn't go back to default after link speed change.

     Fix:
       When setting 10G, enforce 10G configuration, and not relay
       on the default configuration.

     Impact:
       None.

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

 1. Request:
       Add "Pause On Host Exhausted Ring" to advanced properties (only for BCM57711/E devices).

    Change:
       As requested.

    Impact:
       None - "Disabled" is the default value (as older versions).

 2. Request:
       Change the way that port statistics are written to MCP scratchpad for NCSI statistics support
       convenience.

    Change:
       As requested.

    Impact:
       None.

Version 5.0.14 (May 7, 2009)
============================

Fixes
-----

 1. Problem:
       CQ40774 - Break at “evbda!lm_tcp_tx_terminate_ramrod_complete”.

    Cause:
       Assertion caused by race condition Rx/Tx completions processed on different CPUs

    Fix:
       Needed parameters inspection is moved to final event completion

    Impact:
       None.

 2. Problem:
       CQ40838 - Break at “evbda!lm_tcp_rx_abortive_disconnect_ramrod_complete"

    Cause:
       Assertion caused by collision connection's resets from both sides

    Fix:
       Needed state inspection is moved to final event completion

    Impact:
       None.

 3. Problem:
       CQ40300 - XFP adapter shows link up in network properties with no cable.

    Cause:
       Link status register was updated long after interrupt was triggered.

    Fix:
       Check that RX PMD Loss of Sync bit is cleared and RX PMD Sync Acquired bit
       is set to detect link.

    Impact:
       None.

 4. Problem:
       When Over-Current state is established, LASI interrupts are not cleared.

    Cause:
       In this scenario, the module is powered-off so OPTXFLT/OPRXLOS indications
       are set. This cause a fixed RX_ALARM indication which cannot be turned off.

    Fix:
       When Over-current condition is detected, set RX_ALARM to detect only
       module-absent events, so when a new module is plugged in, it will be
       detected and then RX_ALARM will be set to detect link as well

    Impact:
       None.

 5. Problem:
       CQ40848, CQ40835 - System breaks due to a firmware assert – previously resolved by a workaround.

    Cause:
       Firmware asserted when PCI read latency for RX BD ring was longer then 20usec.

    Fix:
       Replace the workaround by a flow which polls on the RX BD ring every 4usec.

    Impact:
       None.

 6. Problem:
       CQ38949 Failure in Sparta script TCP_ReceiveIndications.

    Cause:
       Window update was not sent for partially filled “no_push” application buffers.

    Fix:
       Firmware will release the placed bytes, resulting with window update.

    Impact:
       None.

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

 1. Request:
       CQ40976 - Add user control for "TOE RSS" enablement/disablement via BACS.

    Change:
       As requested

    Impact:
       None.

 2. Request:
       Add fan-failure check for BCM8727.

    Change:
       As requested

    Impact:
       None.

 3. Request:
       Add additional support for BCM8727.

    Change:
       Add support module detection, over-current detection and SFP+ EEPROM access.

    Impact:
       None.

Version 5.0.13 (April 30, 2009)
===============================

Fixes
-----

 1. Problem:
       CQ40848, CQ40835 (ETH)- System breaks due to a FW assert(BCM57710).

    Cause:
       Firmware asserted when PCI read latency for RX BD ring was longer then 20usec.

    Fix:
       Implemented firmware workaround - wait for 20msec instead of 20usec.

    Impact:
       None.

 2. Problem:
       CQ40775 - BSOD when running on systems with more than 16 CPU's.

    Cause:
       Driver code was limited hard coded to support up to 16 CPU's.
       in case more than 16 CPU's exists in system, memory overrun might happen
       which might cause unexpected behaviors.

    Fix:
       Increase the driver code to support up to 256 CPU's systems.

    Impact:
       None.

 3. Problem:
       CQ40884 - BSOD when loading driver on BCM57710 device.

    Cause:
       For some reason yet to be found, scratch pad address of port statistics read by driver is invalid.

    Fix:
       Verify scratch addresses by driver, in case not valid - don't write statistics to MCP scratch pad.

    Impact:
       In case non valid address is read - no management statistics will be written.

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

 1. Request:
       CQ39070 - Theoretical deadlock when many connections with large OOO isles

    Change:
       Collect isles staistics and upload connecion/s if resources consumping by isle/s
       exceeds thresholds (controlled via registry)

    Impact:
       None.


 2. Request:
       Add support for new MTU registry key for iSCSI device to support Jumbo Frame.

    Change:
       As requested.

    Impact:
       None.


 3. Request:
       CQ36705,CQ37054,CQ37281 and CQ37373 - Performance improvements in TX scenarios.


    Change:
       Implemented new L2 firmware flows.

    Impact:
       None.

Version 5.0.12 (April 28, 2009)
===============================

Fixes
-----

 1. Problem:
       CQ40823, CQ40829 - System breaks when running sockdie stress test (BCM57710).

    Cause:
       Wrong register initialization in PXP HW block.

    Fix:
       Fixed register initialization.

    Impact:
       None.


Version 5.0.11 (April 27, 2009)
===============================

Fixes
-----

 1. Problem:
       Excessive freeing of physical memory pool for non NDIS clients

    Cause:
       Non initialized parameter of freeing threshold

    Fix:
       Default Initialization of needed parameter .

    Impact:
       None.

 2. Problem:
       CQ40799, CQ40800: System crash during client setup, when iSCSI client is present.

    Cause:
       Interrupt wasn't generated for ISCSI client due to wrong write by firmware.

    Fix:
       Firmware was fixed. (fw version 5.0.8)

    Impact:
       None.

 3. Problem:
       BCM8481 is not able to link with 10/100 switch.

    Cause:
       XGXS was initializaed to work in none-SGMII mode.

    Fix:
       Set XGXS to work in SGMII mode if link speed is slower the 1G.

    Impact:
       None.

 4. Problem:
       CQ38358 BCM957711T1111 fiber board: System lock up during load/unload bacs diag combo.

    Cause:
        One device doesn't get CPU in order to complete the init flow while other device in chip_reset flow is in DISPATCH_LEVEL
        and in wait state (forever - until ASSERT).
        the issue is not board specific though it might happen in BCM957711T1111 more frequent due to timing issue.

    Fix:
       Call chip_reset only on PASSIVE_IRQL.

    Impact:
       None.

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

 1. Request:
       Avoid excessive acquiring of locks in driver

    Change:
       TOE mechanisms (returning buffers to pool and compesation rx queues)
       were modified to optimize locks acquiring

    Impact:
       None.

 2. Request:
        Add initial support for BCM8727.

    Change:
        Add support for the new dual-port SFP+ phy.

    Impact:
       None.

Version 5.0.10 (April 23, 2009)
===============================

Fixes
-----

 1. Problem:
       CQ39598 - iSCSI Offload: Break during HBA load/unload.

    Cause:
       Wrong logic in error handling path of driver load, led to unclean unload of
       the driver in case of an error, and assert upon next load.

    Fix:
       Fixed error handling path of driver load.

    Impact:
       None.

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

 1. Request:
       Rewrite Eth RX flows for performance improvement. Includes:
       + Separating Ustorm eth packet handler to two handlers, RSC packet
         handler and non RSC packet handler.
       + Use of double buffer for RX BDs, allowing improved performance of
         single-connection scenarios.
       + Many ASM-level and flow-level optimizations.

    Change:
       As requested.

    Impact:
       None.


Version 5.0.9 (April 21, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ39709 - Packets are 4 byte short when VLAN enabled.

    Cause:
       4 byte room for VLAN header is allocated from payload.

    Fix:
       VLAN header is not part of payload. Payload size is not reduced.

    Impact:
       None.

 2. Problem:
       CQ39022 - Rx traffic may stall upon "zero bytes receive request".

    Cause:
       Sytem sends zero byte rx request during indication (rejects one) and waits for next indication,
       driver after failed indication waits for rx buffer.

    Fix:
       Detect zero byte request during indication and indicat rejected data once more.

    Impact:
       None.

 3. Problem:
       CQ40448,CQ40467 - EVBD "Unbind-bind" flow fails in multi-clients scenario.

    Cause:
       Driver was not able to zero the status block "sync line"s in RAM.
       As a result, old values affected the run after the bind process.

    Change:
       Add macros for status blocks sync lines, to be initialized by the driver.
       Reset relevant HC parameters on unbind.

    Impact:
       None.

 4. Problem:
       CQ40623 - TOE scenarios crash under stress.

    Cause:
       Firmware could assert when extending a TCP isle to the left while crossing an application buffer.

    Change:
       Firmware was fixed.

    Impact:
       None.

 5. Problem:
       CQ39216 - Connections upload can be stalled when RSS is enabled.

    Cause:
       Interrupts could have been delayed by firmware in some corner cases at the present of RSS update ramrod.

    Change:
       Firmware was fixed.

    Impact:
       None.

 6. Problem:
       Failures in tcp_chimneyOffload_ipv6 Sparta script.

    Cause:
       Inconsistency between firmware data at upload and actual packets transmitted on the wire
       if maximum number of allowed retransmissions is exceeded.

    Change:
       Correct firmware data if maximum retransmissions are exceeded.

    Impact:
       None.


 7. Problem:
       CQ40239,CQ40379,CQ40314 - Chip gets stuck on partial PDU header reception.

    Cause:
       Same PXP queue was used for both read and write of partial PDU header.

    Change:
       Separate read and write PXP queue.

    Impact:
       None.

 8. Problem:
       Port statistics were not continuously written to MCP scratchpad.

    Cause:
       Relevant function was not called.

    Change:
       Call the relevant function.

    Impact:
       MCP scratchpad will now contain updated per port statistics.


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

 1. Request:
       Prevent TOE in a Windows 2000, Windows XP, Windows Vista environments and force L2 only.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       Support interface to inform user level application about supported TOE connections.

    Change:
       As requested.

    Impact:
       None.

Version 5.0.8 (April 16, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ30465 - Sparta test TCP_Reassembly_TOE fails.

    Cause:
       Out-Of-Order FIN was dropped by firmware.

    Fix:
       Firmware now accepts and handles Out-Of-Order FIN.

    Impact:
       None.

 2. Problem:
       CQ37336 - tcpm-tcpsecure-09 (Improving TCP's Robustness to Blind In-Window Attacks)
       was not supported, causing also "TCP_RcvNext" Sparta test for Win7 to fail.

    Cause:
       Support was not implemented by firmware.

    Change:
       Firmware now handles Out-Of-Order RST and SYN according to requirements.

    Impact:
       None.

 3. Problem:
       CQ40177 - iSCSI boot: Crashdump driver does not dump when Kernel calls evbd
       bugcheck callback.

    Cause:
       When evbd bugcheck callback dumps it ruins registers that are set by iSCSI
       boot Crashdump driver.

    Change:
       Evbd bugcheck callback will not dump when iSCSI boot Crashdump driver is on.

    Impact:
       No dump file will be created by EVBD when iSCSI boot Crashdump driver is on.

 4. Problem:
       CQ40409, CQ40411 - Assert in the driver during driver update or system reset. (BCM57711)

    Cause:
       During PMF migration the driver read the port's statistics from invalid address in
       the chip, causing HW attention.

    Change:
       Fix wrong logic of memory address calculation that's being used in DMAE commands.

    Impact:
       None.

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

 1. Request:
       CQ40226,CQ40380 - Add new devices to INF.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       CQ38622 Improve NPP usage: Phase 3. (Resubmit)

    Change:
       ILT page is limited by 64K (if possible).

    Impact:
        None.

 3. Request:
       For NX2/NX2_EV MSI-x capable devices we will allow an option in the
       advanced driver properties that will allow the user to change the
       amount of RSS queues and rx

    Change:
       As requested.

    Impact:
        None.

 4. Request:
       Add an end user configurable option to the advanced driver properties
       that would allow for setting the INT-coalesing parameter.

    Change:
       As requested.

    Impact:
        None.

 5. Request:
       Add an end user configurable option to the advanced driver properties
       that would allow for setting the receive buffers count.

    Change:
       As requested.

    Impact:
        None.


Version 5.0.7 (April 07, 2009)
==============================

Fixes
-----

 1. Problem:
       Bootcode unable to set phy configuration.

    Cause:
       When driver is loaded, it sets Serdes to work in CL45 while
       the bootcode is using CL22 for phy access, so when driver
       is unloaded, bootcode unable to access the phy.

    Fix:
       When driver is loaded set Serdes mode to CL22 only when
       1G-switch is set. This shall solve the issue for older
       bootcodes, and will be fixed in newer bootcodes.

    Impact:
       None

 2. Problem:
       BCM8481 is not able to link up in legacy speeds.

    Cause:
       Setting legacy speeds requires additional phy configuration,
       and speed analysis.

    Fix:
       Enable legacy speeds for this phy.

    Impact:
       None

 3. Problem:
       VBD BSODs on disable/enable NDIS miniport when iSCSI miniport is up.

    Cause:
       New mechanism ILT pages allocation.

    Fix:
       Rollback "CQ38622 Improve NPP usage: Phase 3" (Changelist #67437)

    Impact:
       None.

 4. Problem:
       CQ40415 Licensing error warning is reported when running scenarios
       with multiple TOE connections (BCM957710 only).

    Cause:
       Firmware initialized licensing parameters incorrectly.

    Change:
       Fixed firmware initialization.

    Impact:
       None.

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

 1. Request:
       CQ40378 Product version string for T5.0 should be 14.1.0

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       CQ39955 Add support for DCC: enable/disable PF (link indication to OS).

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       CQ39957 Add support for DCC: per PF bandwidth allocation.

    Change:
       As requested.

    Impact:
       None.

Version 5.0.6 (April 06, 2009)
==============================

Fixes
-----

 1. Problem:
       When several protocols (L2/TOE/ISCSI) work together, interrupt rate is the sum of all protocol rates,
       instead of the maximal.

    Cause:
       Per-protocol host coalescing code was independent, so when several protocols work together they generate the sum of interrupts.

    Change:
       Add dependency between the host coalescing states machines - when an interrupt is generated by a protocol, then all other protocols host coalescing code is reset.

 2. Problem:
       CQ39681 Dtape test fails on OEM media changer device.

    Cause:
       Misalignment between driver and firmware.

    Change:
       Firmware fix.

    Impact:
       None.

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

 1. Request:
       CQ30453, CQ30465, CQ30483
       Device should support extending a TCP isle to the left (Sparta verification).

    Change:
       As requested.

    Impact:
       CQ30465 CQ30483 will still fail due to other issues.

 2. Request:
       Device should support dropping an existing TCP isle.

    Change:
       As requested.

    Impact:
       None.

 3. Request:
       CQ38622 Improve NPP usage: Phase 2.

    Change:
       Size of block to L4 generic buffers allocation is flexible and controllable via registry. Default value is 64KB.

    Impact:
        None

 4. Request:
       CQ38622 Improve NPP usage: Phase 3.

    Change:
       ILT page is limited by 64K (if possible).

    Impact:
        None

Version 5.0.5 (April 2, 2009)
=============================

Fixes
-----

 1. Problem:
       Checked build assert when loading driver.

    Cause:
       Wrong assert in init flow when working with MSI-X.

    Fix:
       Fixed the assert.

    Impact:
       Impacts only driver's checked builds.

Version 5.0.4 (March 31, 2009)
==============================

Fixes
-----

 1. Problem:
       Flow control doesn't work on multi function mode (related to CQ38526).

    Cause:
       Flow control is disabled hard coded.

    Fix:
       Enable flow control.

    Impact:
       None.

 2. Problem:
       OS crash caused division by zero.

    Cause:
       Division by zero in some cases of internal statistics collection.

    Fix:
       Simplest preventing of the case by divider's checking.

    Impact:
       None.

 3. Problem:
       CQ40119,CQ40228,CQ40232,CQ40191,CQ40196 - on load/unload test the set-mac ramrod was never completed,
       so the Windows driver throws assert that can happen mainly on load/unload tests on BCM57710 (with two ports toggling simultaneously) may fail.

    Cause:
       Bug in init code for BCM57710 only, caused defect initialization of "dynamic HC" area in Cstorm RAM.

    Fix:
       Fix firmware init code for BCM57710.

    Impact:
       None.

 4. Problem:
       CQ40211 - On Windows that is running with MSI-X on a machine with 16 CPU's the driver ASSERT during boot after driver upgrade.

    Cause:
       The MSIX messages affinity that were configured “AllProcessorsInMachine” have only a subset
       (instead of all the CPUs in the machine) of the CPUs in the machine. This is checked on run time
       and the checked eVBD driver build ASSERTS in that case.

    Fix:
       Removed the ASSERT.

    Impact:
       If TOE RSS is disabled and MSIX is enabled we may use a subset of the CPUs on the machine.(the same
       applies to the default SB).

 5. Problem:
       TOE - Various Sparta failures.

    Cause:
       The VBD fails connection offload in case of the following offload parameters:
       (send_max = send_una + unacked_data_len).

    Fix:
       Allow the legit case of offload parameters mentioned above.

    Impact:
       None.

 6. Problem:
       CQ39532 TOE - Break while discovering IET target (MS iSCSI Initiator software).

    Cause:
       Wrong assert logic to verify that RST request was posted only once.

    Fix:
       Remove the wrong asserts.

    Impact:
       None.

 7. Problem:
       CQ40078,CQ40088,CQ40200 Statistics assert in driver.

      Cause:
       Cross project firmware change of warning asserts mistakenly
       removed a branch, creating an illegal looping flow.

      Change:
       Fix firmware code.

      Impact:
       None.

Enhancements:
-------------

 1. Request:
       Add "per function" statistics support for NCSI management.

    Change:
       When first function in port is enabled - clear previous management statistics in all port's functions.
       When non-first function is enabled, it will accumulate function's statistics from management that
       might have been collected before function was disabled.

    Impact:
       None.

 2. Request:
       Add flexibility to return generic buffers interface to prevent unwanted rings compensation.

    Change:
       Add parameters to relevant functions

    Impact:
       LM compilation

 3. Request:
       CQ38622: Improve NPP usage: Part 1.

    Change:
       Allocate physical memory related to offloading connection as set of separate pages.
       Add API to connect set of noncontiguous pages to BD chain.

    Impact:
        None

 4. Request:
       Disable Dynamic Host Coalescing (DHC) on SB initialization. Activate DHC for each protocol in relevant SB

    Change:
       As requested

    Impact:
        None

 5. Request:
       Allocate needed memory (as last chance) to indicate buffered data on connection upload.

    Change:
       As requested

    Impact:
        None

Version 5.0.3 (March 19, 2009)
==============================

Fixes
-----

 1. Problem:
       CQ39740 - DTM Stress test with IO failed.

    Cause:
       High contiguous memory consumption on x86 systems.

    Fix:
       Reduced consumption on x86 systems.

    Impact:
       None.

 2. Problem:
       Absent ramrod assertion during RSS update with TOE RSS enabled.

    Cause:
       Because synchronization problem yet another thread try to access to already processed ramrod.

    Fix:
       Fix synchronization mechanism to allow exactly one thread complete RSS update by corresponding
       ramrod processing

    Impact:
       None.

 3. Problem:
       Only 1800 TOE connections are supported on x86 and some x64 systems.

    Cause:
       Initialization problem

    Fix:
       Restore 1880 default TOE connections

    Impact:
       None.

 4. Problem:
       (TOE) failures in Sparta script Tcp_ChimneyOffload (T54, T55, T56).

    Cause:
       Incorrect context initialization during connection Offload.

    Fix:
       Corrected context initialization.

    Impact:
       None.

 5. Problem:
       CQ39929, CQ39932 - CNIC sanity tests fails.

    Cause:
       When changing to new dynamic HC code, no RAM line was allocated to default SB
       so there was a memory corruption.

    Fix:
       Add RAM line for default SB to dynamic HC array.

    Impact:
       None.

 6. Problem:
       eVBD should gracefully handle an offload request with invalid arguments.

    Cause:
       Wrong error handling when the stack offload connection is with
       the parameters: (send_max > send_una + unacked_data_len).

    Fix:
       Fixed error handling path.

    Impact:
       None.

 7. Problem:
       CQ38640, CQ39843 - assert on statistics query function (not getting statistics too long).

    Cause:
       Statistics query frequency sometimes was too high (every 10 milliseconds).

    Fix:
       Reduced frequency as defined in spec (500 milliseconds).

    Impact:
       Statistics snapshot accuracy will slightly decrease.

Enhancements:
-------------

 1. Request:
       L4 Dynamic Host Coalescing must be enabled by default.

    Change:
        As requested

    Impact:
       None.

Version 5.0.2 (March 11, 2009)
=============================

Fixes
-----

 1. Problem:
       CQ39552 - Link LED is turned OFF while running external loopback test.

    Cause:
       When using phy loopback, the link doesn't actually comes up since there's
       no link partner.

    Fix:
       Set link led up on loopback test.

    Impact:
       None.

 2. Problem:
       BCM8481 is not able to link up in 10/100/1000 Mbps.

    Cause:
       No 10/100/1000 link signal is connected from the BCM8481 to the BCM57711/BCM57711E.

    Fix:
       BCM8481 will connect LED4 signal to the BCM57711/BCM57711E LASI signal.
       The BCM57711/BCM57711E will use the NIG latching mechanism which allows
       to catch a link event even if the link toggles fast.

    Impact:
       None.

 3. Problem:
       SFP+ (BCM8726) boards do not use flow-control.

    Cause:
       Flow control wasn't set for BCM8726.

    Fix:
       Set flow control according to configuration in BCM8726.

    Impact:
       None.

 4. Problem:
       Client Memory (MDL)leak when ISCSI clients load/unload repeatedly
       and VBD stays.

    Cause:
       The Memory (MDL) resource was bound to the VBD.

    Fix:
       The Memory (MDL) resource is now bound to the ISCSI client.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       Init code more efficient.

    Change:
       Instead of running same code multiple times and deciding on each run whether to
       execute the write operation or not, run the code only once and decide off line,
       what code to run in which call.

    Impact:
       None.

 2. Request:
       Support dynamic host coalescing for all protocols.

    Change:
       As Requested.

    Impact:
       None.



Version 5.0.1 (March 4, 2009)
=============================

Fixes
-----

 1. Problem:
       CQ39675 - BSOD (ASSERT) when running CNIC.

    Cause:
       statistics collection timer wasn't call for ~30 seconds and ASSERT.
       The reason is due to very high CPU load (8K connections).

    Fix:
       Increase the timeout period.

    Impact:
       None.

 2. Problem:
       New phy version (P14) of the BCM8726 unable to link up.

    Cause:
       The new phy version doesn't behave exactly like it's
       previous version (P13), hence requires some adjustments.

    Fix:
       1. Microcode download requires write of another register.
       2. Read from "Limiting/LRM mode" register before setting Limiting mode.

    Impact:
       No impact on P13.

 3. Problem:
       CQ39674 - BSOD while updating driver to 5.0.

    Cause:
       DPC's rescheduling involving by TOE RSS implementation does not use common mechanism DPCs submission and disturb
       reference counter. It causes assertion.

    Fix:
       Update (if needed) the reference counter of dpc in case TOE RSS dpc's rescheduling

    Impact:
       None.

 4. Problem:
       BSOD When loading driver on Windows XP OS.

    Cause:
       Calling a function which is not supported on earlier OS versions.

    Fix:
       Use alternative API.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       Chip debug dump through driver, will be per chip instead of per device.

    Change:
       As Requested.

    Impact:
       The chip debug dump through driver will be enabled by default.

 2. Request:
       Rollback CFC delete optimization .

    Change:
       CFC delete optimization:
       Free CID delay is restored from version before TOE RSS implementation, controllable via registry.

   Impact:
      None.

 3. Request:
       TOE RSS is enabled on systems later than W2K3 with x64 architecture and at least 8GB memory.

    Change:
        TOE RSS:
          a. Enabled by default on systems later than W2K3 with x64 architecture with memory greater than 8GB
          b. Set default toe connections to 8192 for all systems with x64 architecture with memory greater than 8GB

    Impact:
       None.

 4. Request:
       CQ39765 - Add new devices to INF.

    Change:
       As Requested.

    Impact:
       None.

 5. Request:
       The Doorbell Queue CID size reduced from 256 Bytes to 128 Bytes.

    Change:
       As Requested.

   Impact:
       Slight improvement in memory consumption.


Version 5.0.0 (February 19, 2009)
=================================

Fixes
-----

 1. Problem:
       ETH FCS field was not counted in both RX and TX statistics.
       VLAN should not be counted in 57711E.

    Cause:
       Not implemented correctly

    Fix:
       fix the statistics code in RX and TX FW to support this.

    Impact:
       None.

 2. Problem:
       CQ39452 - Assert (checked builds only) during shut down after running SockDie stress test.

    Cause:
       During shut down flow the driver waits for completion of scheduled task list
       up to 1 second, and asserts if there are still scheduled tasks after the
       wait period.

    Fix:
       Extend the wait period for tasks completion, it is possible that certain tasks
       (CFC_DELETE) can be scheduled to start later to the end of a 1 second wait period.

    Impact:
       None.

 3. Problem:
       BCM8726 MDIO access is not locked as it should be.

    Cause:
       MDC/MDIO access to BCM8726 is done via single EMAC, hence all MDC/MDIO access
       to this phy needs to be locked, like in the BCM8072 and BCM8073.

    Fix:
       Lock the hardware using MDIO_RESOURCE when accessing the BCM8726 phy via MDIO.

 4. Problem:
       CQ39169 - Network utilization dips observed in task manager.

    Cause:
       Statistics are collected using a timer, the timer's interval was not always equable.

    Fix:
       Added an algorithm that ensure as much as possible that statistics will be collected in constant intervals.

 5. Problem:
       ext_phy_fw version for BCM8705 shows invalid number.

    Cause:
       BCM8705 has no microcode.

    Fix:
       Set BCM8705 version to 0.

 6. Problem:
       Potential problem in BCM8726 bit stretching work-around.

    Cause:
       When module detection option is disabled, module should be
       transmitting regardless of invalid read from EEPROM.

    Fix:
       Ignore error code when setting limiting mode

Enhancements:
-------------

 1. Request:
       Select memory consumption for BCM57711E according to system's resources.

    Change:
       Minimal mode of memory consumption is selected for x86 systems and for systems
       with memory per function less than 1GB.

    Impact:
       None.

 2. Request:
       Add disable option to the recording of second isle drops.

    Change:
       Added a bit in ram to control the recording of second isle drops

    Impact:
       None.

 3. Request:
       Optimizations of RX TOE firmware.

    Change:
       NDC (Non Delayed Completion) completion is no longer sent to the driver.
       This in order to save cycles and RCQs. This completion was used for DCA, which is not activated.

    Impact:
       None.

 4. Request:
       When TOE RX FW detects lack of host buffers, it should signal the HW
       to generate a flow-control message.

    Change:
       Support for Toe Rx flow control was added (57711 only).
       At the moment this feature is not functional by default (by setting the threshold for pause to Zero).

    Impact:
       None.

 6. Request:
       CQ39380 related - Write a bit in shared memory for FW.

    Change:
       As requested.

    Impact:
       None.

 7.Request:
      Add idle check support to FW debug dump through driver.

   Change:
      As Requested.

   Impact:
      None.

 8.Request:
      Added support for TOE RSS (HSI changes).

   Change:
      As Requested.

   Impact:
      None.

 9.Request:
      Xoff is now performed per function and not per port.

   Change:
      As Requested.

   Impact:
      None.

10.Request:
      Performed decoupling of generic buffers and completions in Xon/Xoff mechanism.

   Change:
      As Requested.

   Impact:
      None.

11. Request:
       Support TOE RSS

   Change:
       TOE RSS:
               Full support including indirection table update from OS
       CFC delete optimization:
               Free CID delay is zeroed by default, controllable via registry
       Statistics:
               Some values reflecting state of connection on its upload are added
   Impact:
      None.

12. Request:
       When MSIX is successfully connected and TOE RSS is disabled, the TOE
       CPU affinity will be all processors.
       When MSIX is successfully connected, the DPCs won't be bounded to a CPU.

   Change:
      As Requested.

   Impact:
      When MSIX is successfully connected and TOE RSS is disabled ,the TOE
      CPU affinity will be all processors instead of a specific CPU.

13. Request:
       The Doorbell Queue CID size reduced from 4k to 256 Byte.

    Change:
       As Requested.

    Impact:
       Number of offload connection capability will be larger (up to 8K connections on systems with x64 architecture and at least 8GB memory).

14. Request:
       TOE RSS is enabled on systems with x64 architecture and at least 8GB memory.

    Change:
        TOE RSS:
          a. Enabled by default on systems with x64 architecture with memory greater than 8GB
          b. Enabling by default TOE RSS on such systems means set default toe connections to 8192
          c. l4_enable_rss modifies enable TOE RSS default value but does not change default toe connections value

    Impact:
       None.

15. Request:
       Performance optimization.

    Change:
       L2 host coalescing

    Impact:
       None.

16. Problem:
       CQ39553 - MSS violation with Chimney enabled.

    Cause:
       MSS calculated with room for time stamp TCP option before update by less remote MSS value can cause addition
       time stamp over possible remote MSS.
    Fix:
       Decrease MSS to prepare space for time stamp after final MSS calculation.

    Impact:
       None.

17. Problem:
       CQ39540 - eVBD should gracefully handle an offload request with invalid arguments.

    Cause:
       Wrong error handling when the stack offload connection is with
       the parameters: (SEND_NEXT > SEND_UNA) && (UNACKED_DATA == NULL).

    Fix:
       Fixed error handling path.

    Impact:
       None.

Version 4.8.102 (March 16, 2009)
================================

 1. Problem:
       Flow control doesn't work on multi function mode.

    Cause:
       Flow control is disabled hard coded.

    Fix:
       Enable flow control.

    Impact:
       None.

Version 4.8.101 (March 11, 2009)
================================

 1. Problem:
       CQ39740 - DTM Stress test with IO failed.

    Cause:
       High contiguous memory consumption on x86 systems.

    Fix:
       Reduced consumption on x86 systems.

    Impact:
       None.

 2. Problem:
       BSOD When loading driver on Windows XP Operating system.

    Cause:
       Calling a function which is not supported on earlier OS.

    Fix:
       Use alternative API.

    Impact:
       None.

Version 4.8.100 (February 26, 2009)
===================================

Fixes
-----
 1. Problem:
       CQ39553 - MSS violation with Chimney enabled.

    Cause:
       MSS calculated with room for time stamp TCP option before update by less remote MSS value can cause addition
       time stamp over possible remote MSS.

    Fix:
       Decrease MSS to prepare space for time stamp after final MSS calculation.

    Impact:
       None.

 2. Problem:
       CQ39638 - PCIE error when chimeny enabled OID is used during shutdown.

     Cause:
       After the system has called us to handle a shutdown request
       and has put our device to low power state, Ndis may issue an
       OID to change offload parameters.  This causes us to touch
       the hardware while it is in D3hot state which leads to NMI.

     Fix:
       The driver will not process the set OID request if system
       has called us to handle shutdown. A registry key is also
       introduced to stop the PCIe device from reporting non-fatal
       error reporting to system in case the device is being accessed
       at d3hot state.

    Impact:
       None.

 3. Problem:
       CQ38727 - (Derived from BCM95709 bug)
       BSOD on some systems with LOM due to timers in VBD don't get cancel properly during driver unload.

     Cause:
       Timers were re-armed altough driver state was not running.

    Fix:
       Added extra delay to wait for timers to expired and make sure
       we don't re-arm timers when driver state is not DRIVER_STATE_RUNNING.

    Impact:
       None.

Version 4.8.54 (February 10, 2009)
==================================

Fixes
-----
 1. Problem:
       CQ39469 - (iSCSI) Assert when disabling/enabling iSCSI PDO while connected to targets

    Cause:
       During iSCSI PDO unload, the driver used incorrect index values when cleaning the
       iSCSI EQ resources, causing mismatch between driver's and fw's EQ producer value
       upon next driver load, and indication of false completions.

    Fix:
       During iSCSI PDO unload, Use correct index values when cleaning iSCSI EQ chains.

    Impact:
       None.


Version 4.8.53 (February 8, 2009)
=================================

Fixes
-----
 1. Problem:
       When setting pre-emphasis values for external phys, the XGXS is also set.

    Cause:
       In external-phy boards, when pre-emphasis values were set in the nvram,
       both the external phy and the XGXS pre-emphasis values were set, while the
       values fit the external phy only.

    Fix:
      Set pre-emphasis values in XGXS only for direct type boards.

    Impact:
       None.

 2. Problem:
       ext_phy_fw version for BCM8706 sometimes shows invalid version number.

    Cause:
       The version number is read during init phase. Reading the BCM8706 version during
       init phase is done premature.

    Fix:
       During init phase of the BCM8706, wait until the firmware is loaded completely
       before reading the version number.

    Impact:
       None.

 3. Problem:
       CQ39452 - Assert (checked builds only) during shut down after running SockDie stress test.

    Cause:
       During shut down flow the driver waits for completion of scheduled task list
       up to 1 second, and asserts if there are still scheduled tasks after the
       wait period.

    Fix:
       Extend the wait period for tasks completion, it is possible that certain tasks
       (CFC_DELETE) can be scheduled to start later to the end of a 1 second wait period.

    Impact:
       None.

 4. Problem:
       CQ39469 - (iSCSI) Assert when disabling/enabling iSCSI PDO while connected to targets

    Cause:
       During iSCSI PDO unload, the driver used incorrect index values when cleaning the
       iSCSI EQ resources, causing mismatch between driver's and fw's EQ producer value
       upon next driver load, and indication of false completions.

    Fix:
       During iSCSI PDO unload, Use correct index values when cleaning iSCSI EQ chains.

    Impact:
       None.


Enhancements:
-------------

 1. Request:
       CQ39495 - Remove BCM57711E based PCI id's for oem customer.

    Change:
       As requested.

    Impact:
       None.

 2. Request:
       CQ39449 - Remove BCM57711/BCM57711E PCI id's  for oem customer.

    Change:
       As Requested.

    Impact:
       None.

Version 4.8.52 (January 28, 2009)
=================================

Fixes
-----

 1. Problem:
       CQ39008 - System may NMI during system shutdown.

    Cause:
       After the system has called us to handle a shutdown request
       and has put our device to low power state, NDIS may issue an
       OID to clear the multicast address.  This causes us to touch
       the hardware while it is in D3hot state which leads to NMI.

    Fix:
       The driver will not process the set OID request if system
       has called us to handle shutdown.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       CQ38106 - (Completion) add INTx Delay Support for 3rd Party PCIe Switch.

    Change:
       The change will be applied for the devices, no dependency with PCI BUS number as before.

    Impact:
       None.

 2. Request:
       CQ39231 - Add new devices to INF.

    Change:
       As Requested.

    Impact:
       None.

Version 4.8.51 (January 26, 2009)
=================================

Fixes
-----

 1. Problem:
       CQ39341 - W2K3/W2K8 IA64 BSOD loading driver.

    Cause:
       Incorrect alignment of parameters in code.

    Fix:
       Corrected parameters alignment.

    Impact:
       None.

 2. Problem:
       CQ39334 - (TOE) Multiple Sparta failures in W2K3.

    Cause:
       Incorrect context initialization during connection Offload.

    Fix:
       Corrected context initialization.

    Impact:
       None.

 3. Problem:
       (TOE) Possible miscalculation of persist probe counts,
       when offloading a connection in persist state.

    Cause:
       Firmware bug.

    Fix:
       Firmware bug was fixed.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       CQ39048 completion (Preconfigure specific 8706 XAUI registers for specific OEM)
       override NVRAM parameters only if .inf flag is on.

    Change:
       Added "preemphasis_enable" to .inf

    Impact:
       None.


Version 4.8.50 (January 22, 2009)
=================================

Fixes
-----

 1. Problem:
       Transmit Histogram 1024Octetsto1522Octets and Over1522Octets had a 4 byte overlapping when working on BMAC.

    Cause:
       Incorrect spec definitions.

    Fix:
       Collect the relevant statistics from NIG and not from MAC.

    Impact:
       Issue could be seen only on BACS application. no functional impact. now fixed.

 2. Problem:
       1G switch configuration (using the 5th lane) doesn't work

    Cause:
       Support for Serdes (5th lane) was not maintained since no production
       design used it and when switching to CL45 it stopped working

    Fix:
       In order for control the Serdes over Clause45, (and not Clause22),
       it requires first one time register setting in Clause22.

    Impact:
       None.

 3. Problem:
       Invalid presentation of BCM8726 fw version.

    Cause:
       The register that holds the fw version is used for other functionality as well,
       and it is run over after firmware is loaded.

    Fix:
       Save the firmware version of all external phys in shared
       memory, after firmware is loaded.

    Impact:
       None.

 4. Problem:
       BCM8726 may start tx laser before module detection occurs.

    Cause:
       Module detection used to be done during link update, which probably would be after tx was enabled.

    Fix:
       From now on use interrupt driven event using GPIO3, to detect module
       plugged in/out, and execute module detection then.

    Impact:
       None.

 5. Problem:
       (TOE) failures in Sparta script Tcp_ChimneyOffload (T54, T55, T56).

    Cause:
       TCP state machine handles incorrectly offload of connection in
       persist state (offloads as normal state).

    Fix:
       State machine recognizes connection is in persist state according to
       sndWndProbeCount and initializes context accordingly.

    Impact:
       None.

 6. Problem:
       (TOE) failures in Sparta script Tcp_ChimneyOffload (T71, T72, T73).

    Cause:
       Retransmission timer and counter were measured from first retransmit.

    Fix:
       Retransmission timer and counter are now measured from transmit.

    Impact:
       None.

 7. Problem:
       (TOE) Variables in xon/xoff warning were corrupted.

    Cause:
       Variables could have been changed due to other running handlers.

    Fix:
       Relocate the warning.

    Impact:
       None.


Enhancements:
-------------

 1. Request:
       CQ38106 - Add INTx Delay Support for 3rd Party PCIe Switch.

    Change:
       As requested.

    Impact:
       Only specific 3rd party PCIe id's will be effected.

 2. Request:
        CQ39048 - Add ability to change 8706 XAUI RX Equalizer using nvram configuration.

    Change:
       When nvram config "Override pre-emphasis configuration" (75) is set, use the 3LSB bits of
       RX_equalizer nvram configuration (48) to set the BCM8706 XAUI RX Equalizer registers for each
       lane.

     Impact:
       None.

 3. Request:
        BCM8726 should be able to link up at 1G.

    Change:
       Add support for 1G for BCM8726.

     Impact:
       When requested speed it 1G force, it will try to link in 1G force. When the speed
       requested is autoneg, and the speed mask capabilities contain 1G, it will try to autoneg in 1G as
       well as in 10G.

 4. Request:
       Add GRC DUMP support to FW debug dump through driver.

    Change:
       As Requested.

    Impact:
       None.

 5. Request:
       CQ39048 - Preconfigure specific 8706 XAUI registers for specific OEM.

    Change:
       8706 XAUI registers will be configured only for specific device id's.

     Impact:
       Specific devices only will be effected.

 6. Request:
       (TOE) Add path relink support in the VBD, due to failure in Sparta script
       Tcp_ChimneyOffload (T40).

    Cause:
       As requested.

    Impact:
       None.


Version 4.8.17 (January 15, 2009)
=================================

Fixes
-----

1. Problem:
      CQ39181 - rfc2544 test performance degraded from eVBD 4.8.7 to 4.8.11 on BCM57711E.

   Cause:
      The VBD allocated less memory for the L2 rings in the driver, this caused the FW to
      drop packets due to lack of space in the L2 rings.

   Fix:
      Rollback the L2 ring sizes,in order to mach 4.8.7 performance results.

   Impact:
      None.

Version 4.8.16 (January 12, 2009)
=================================

Fixes
-----

1. Problem:
      CQ39167 - iSCSI Offload: Disks offline after coming back from hibernation.

   Cause:
      The VBD didn't perform clean unload to the iSCSI client while going to S4,
      causing invalid initializations while coming back.

   Fix:
      Fix driver unload flow for hibernation.

   Impact:
      None.


Version 4.8.15 (January 5, 2009)
================================

Fixes
-----

1. Problem:
      CQ39111 - Unable to Resume from Windows after Waking up from S4.

   Cause:
      In the fix for CQ38750 the driver disabled the PCIE Bus Master, in S4 flow it should re-enable it.

   Fix:
      Re-enable PCIE Bus Master when resuming from D3.

   Impact:
      None.

Version 4.8.14 (January 1, 2009)
================================

Fixes
-----

1. Problem:
      CQ39011 - iBoot BSOD seen during device enumeration in Device bay 7 (BCM57711E) when booting Win2003-64

   Cause:
      F6 install creates a service based on binary name. The service name is
      different from the one that is created by INF install. This causes OS creating
      two driver objects that share the same binary. In some cases, it will corrupt
      some global variables setup by the running instance of the service.

   Fix:
      Modify the driver not to explicitly initialize the global linked list.

   Impact:
      None.

Version 4.8.13 (December 31, 2008)
==================================

Fixes
-----

1. Problem:
      CQ38750 - Some systems  Encounters BSOD (NMI Error) when Running a Continuous Reboot Test.

   Cause:
      In rare cases firmware might initiate PCIE DMA operations after the  PCI function is already in D3 state and before BME was cleared.
      This violation cause NMI BSOD.

   Fix:
      The driver disable the PCIE Bus Master and wait for last pending completion before the function state change to D3.

   Impact:
      None.

2. Problem:
      Potential bug - Driver might crash on IA-64 systems when transmitting on all 8 functions.

   Cause:
      FW read the buffer descriptor (BD) producer and after that the
      BD itself before the BD content was updated. This is possible
      on IA-64 due to weak ordered memory module.

   Fix:
      Add write barrier after updating the BD data and before
      updating the BD producer.

   Impact:
      None.

Version 4.8.12 (December 30, 2008)
==================================

Fixes
-----

 1. Problem:
       CQ38985 - Port swap is not working for BCM8726.

    Cause:
       BCM8726 is driven by MDC/MDIO through single EMAC.
       In case of port swap, the EMAC access was left with EMAC0.

    Fix:
       In case port-swap is enabled in the NIG, access MDC/MDIO via EMAC1

    Impact:
       None.

 2. Problem:
       BCM8726 wasn't actually reset when driver was unloaded

    Cause:
       The phy hardware reset affects both ports and thus wasn't used.

    Fix:
       When link needs to be reset, reboot the micro-controller of the BCM8726.

    Impact:
       None.

 3. Problem:
       BCM8726 wasn't really reset during init.

    Cause:
       The phy is connected using static port-swap, hence the reset should have been
       triggered through the opposite port from the spec.

    Fix:
       Set gpio1 during common init from port1 instead of port0.

    Impact:
       None.

 4. Problem:
       CQ38495 - BCM57711E Intermittently encounters BSOD (0x8E) when
       placing into S4 Sleep State.

    Cause:
       When "Allow the computer to turn off this device to save power." check box
       on Power Management tab was checked, OS didn't unbind the VBD,
       and therefore structures and flows was not closed gracefully.

    Fix:
       Fixed relevant flow.

    Impact:
       None.

 5. Problem:
       Permissive fw logic caused BCM57711E to enter “xoff - no buffers” state (drops packets)

    Cause:
       Unnecessary dependencies in fw's rx flows.

    Fix:
       Separate xon/xoff mechanism to be per fw resource.

    Impact:
       None.

 6. Problem:
       Packets dropped due to lack of host buffers were counted twice -
       in good and bad statistics.

    Cause:
       Firmware does not maintain separate counters for unicast/broadcast/multicast drops.
       Therefore driver cannot subtract these values from the good packet/byte counters.

    Fix:
       Firmware maintains separate byte/pkt counters for no-buff discards of
       unicast/broadcast/multicast.

    Impact:
       None.

 7. Problem:
       iSCSI - High non-paged host memory consumption.

    Cause:
       Unnecessary optimization of chipset<->memory bandwidth in expense of memory consumption.

    Fix:
       Changed R2TQE size from 64 to 8.

    Impact:
       40% drop in non paged memory consumption.

 8. Problem:
       CQ39051 - Assert during reboot after running netperf stress with iscsi background traffic.

    Cause:
       During reset flow, the VBD called OIS callback function when the client state was
       already set to inactive, and invalid pointers were referenced.

    Fix:
       Once the VBD's client reference counter reaches zero, the VBD won't call client
       callback functions.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       Driver will set the memory consumption for BCM57711E according to system's resources.

    Change:
       Minimal mode of memory consumption is set according to the system's architecture
       and memory.

    Impact:
       None.


Version 4.8.11 (December 18, 2008)
==================================

Fixes
-----

 1. Problem:
       Windows XP should not enumerate iSCSI device. (CQ38477 related)

    Cause:
       There should be check for OS_TYPE before iSCSI enumeration.

    Fix:
       Added relevant check

    Impact:
       None.

 2. Problem:
       NMI is seen during system shutdown when there is an iSCSI
       connection running over TOE. (CQ38895 related)

    Cause:
       After the system puts our device into D3Hot, the Microsoft
       iSCSI initiator posts a transmit buffer.  As a result our
       device reports a non-fatal error back to the bridge which
       then issues a NMI.

    Fix:
       Changed the driver to fail the transmit buffer post if the
       device's shutdown routine has been called.

    Impact:
       None.

 3. Problem:
       (TOE) Windows 7 Sparta script TCP_Urgent_TOE fails.

    Cause:
       This script expects urgent retransmitted packet to be answered with ack.
       Today's code silently drops such packet.

    Fix:
       Answer out of window URG packet with ack.

    Impact:
       None.

 4. Problem:
       (TOE) Windows 7 Sparta script TCP_WindowUpdate fails.

    Cause:
       Script expects ack processing of second isle.

    Fix:
       We still don't support second isle, but perform ack processing.

    Impact:
       None.

 5. Problem:
       (TOE) Windows 7 Sparta scripts TCP_AckFrequency and TCP_CongestionControl fail.

    Cause:
       Scripts expect window updates outside delayed ack to be sent only if decremented
       window was advertised to peer. Our solution advertises window updates as soon as possible.

    Fix:
       Window updates are sent outside of delayed ack only if previous window was decremented.

    Impact:
       None.

 6. Problem:
       (iSCSI) During connection establishment on-chip (option2), in case we
       receive SYN/ACK with incorrect dst_mac the chip gets stuck.

    Cause:
       This scenario led to accessing invalid PRAM address which made the chip halt.

    Fix:
       After SYN retransmit is timed-out, keep the RX state, but set error flag which
       indicate to drop any further segments.

    Impact:
       None.

 7. Problem:
       Byte counters statistics did not count the 4 FCS bytes.

    Cause:
       The FCS bytes were not counted in Tx & Rx statistics.

    Fix:
       Fixed by firmware.

    Impact:
       None.



Version 4.8.10 (December 15, 2008)
==================================

Fixes
-----

 1. Problem:
       CQ38959 - Assert in the driver during reboot with enumerated iSCSI client.

    Cause:
       Uncompleted iSCSI client unload task asserted for timeout during reset flow.

    Fix:
       During reset flow, the driver won't assert for uncompleted tasks.

    Impact:
       None.

 2. Problem:
       CQ38977 - No TOE TX Chariot traffic with 1MB I/O Size.

    Cause:
       Wrong handling of large application buffer in the TX flow.

    Fix:
       Set appropriate thresholds to notify the fw in case there is an application
       buffer that fills the entire TX chain.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       CQ38972 - Add secondary link status indication (partition link vs. PHY link)

    Change:
       As Requested.

    Impact:
       None.

 2. Request:
       (TOE) Enforce "Short Loop" window update mode in the driver.

    Change:
       As Requested.

    Impact:
       None.



Version 4.8.9 (December 11, 2008)
=================================

Fixes
-----

 1. Problem:
       CQ38869 (BCM57711E IA64)- FW assert while running NDIS 6 test 1c_mini6send.

    Cause:
       A memory barrier was missing before updating a FW counter, that caused the FW
       to have inconsistent data.

    Fix:
       Added the memory barrier before updating to the counter.

    Impact:
       None.

 2. Problem:
       CQ38112 - Timeout message while running OEM Diagnostic test.

    Cause:
       Buffered data annexed with offload waits for Rx buffers from OS and blocks indications.
       In this scenario the OS is not posting Rx buffers, causing the connection to get stuck.

    Fix:
       Allow indication of buffered data.

    Impact:
       None.

 3. Problem:
       (iSCSI) In non-aligned PDUs with data-digest enabled, the data-digest is
       calculated to a wrong value.

    Cause:
       The CRC machine was not reset correctly in non-aligned PDUs.

    Fix:
       This bit is reset correctly.

    Impact:
       None.

 4. Problem:
       (iSCSI) Connection wasn't initialized with the right parameters for
       the TX in BCM57711E.

    Cause:
       Initialization was done using BCM57710 parameters.

    Fix:
       retrieve the correct parameters.

    Impact:
       None.

 5. Problem:
       (iSCSI) CQ38886 & CQ38888 - Wrong vlan settings for iSCSI in BCM57711E.
       The packet was transmitted with bogus IP length, and no vlan parameters.

    Cause:
       The vlan flag and the header builder command size weren't set correctly.

    Fix:
       These bits are set correctly.

    Impact:
       None.

 6. Problem:
       CQ38525 - Memory shortage while Running L4 Offload Related Stress Test Scenario
       in W2K3x86 Edition.

    Cause:
       Stress scenario in which generic buffers were not being passed to the fw,
       causing the device to be stuck in XOFF.

    Fix:
       Add another path in which the driver will update the fw's generic buffer chain;
       upon generic buffers return from the NDIS miniport.

    Impact:
       None.

 7. Problem:
       CQ38706 - Assert in the driver during reboot with enumerated iSCSI client.

    Cause:
       Reset flow does not acquiesce TOE traffic, causing other tasks including
       the iSCSI client unload ones to get stuck.

    Fix:
       During reset flow, the driver won't assert for uncompleted tasks.
       The imminent reset will cleanup everything.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       CQ38619 - Remove BCM957711T0191/BCM957711T0192 from INF

    Change:
       As Requested.

    Impact:
       None.

 2. Request:
       Reduce memory consumption for BCM57711E.

    Change:
       Minimal mode of memory consumption is supported

    Impact:
       None.

 3. Request:
       Change upgrade external PHY Firmware interface with BMAPI to happen only
       on diagnostics mode. (doesn't require system reboot)

    Change:
       Change as requested.

    Impact:
       None.


Version 4.8.8 (December 8, 2008)
================================

Fixes
-----

 1. Problem:
       CQ38880, 38890 - Driver crash while running L4 stress tests.

    Cause:
       During connection upload, the connection's resources were being released too early,
       and later were being examined.

    Fix:
       Postpone resources release during the upload flow.

    Impact:
       None.



Version 4.8.7 (December 4, 2008)
================================

Fixes
-----

 1. Problem:
       CQ38342 - BCM57711E Driver halts when trying to upgrade to a new driver version.

    Cause:
       Race condition when link change occur upon driver unload left the link state
       machine in wrong state and caused an assert.

    Fix:
       The flow now take care of this possibility.

    Impact:
       None.

 2. Problem:
       CQ38801 - Driver crash while running S4 ACPI Stress.

    Cause:
       During ISCSI client bind the VBD didn't clean all the resource allocated, in case
       of ISCSI recourse allocation failure.

    Fix:
       Cleaned all the resource in case of ISCSI recourse allocation failure during ISCSI
       client bind.

    Impact:
       None.

 3. Problem:
       CQ38814 - Assert in checked build of the driver while running,
       chariot stress and driver load/unload.

    Cause:
       During driver load, the driver asserts for memory allocation failure.

    Fix:
       Remove the assert for memory allocation failure.

    Impact:
       NDIS Miniport load will fail and result a yellow bang (instead of BSOD).

 4. Problem:
       CQ38805 - (iSCSI) BSOD during WHQL Plug&Play Driver test.

    Cause:
       Race condition in the driver when uploading a connection between two
       requests to release the connection's resources, one from the VBD and
       one from the OIS Miniport.

    Fix:
       Fixed connection upload flow to circumvent race.

    Impact:
       None.

 5. Problem:
       CQ38698, CQ37931 - No link when using direct attached copper
       cable with BRCM8726 PHY.

    Cause:
       Passive copper cables should always operate in LRM mode rather
       than in Limiting mode.

    Fix:
       In case of passive copper cables, link up in LRM mode.

    Impact:
       None.


Enhancements:
-------------

 1. Request:
       Complete CQ34926 to support more than one chip installed on a system.

    Change:
       As Requested.

    Impact:
       None.

 2. Request:
       Add interface for BACS to indicate completion of upgrade external PHY Firmware

    Change:
       Change as requested.

    Impact:
       None.


Version 4.8.6 (December 1, 2008)
=================================

Fixes
-----

 1. Problem:
       System sluggish when upgrading external PHY firmware.

    Cause:
       Procedure was executed on DISPATCH IRQL

    Fix:
       Change the upgrade external PHY Firmware via BACS to run on PASSIVE IRQL

    Impact:
       None.

 2. Problem:
       CQ38726 - On IA64 in W2K8 the Mini Port Driver installation failed (yellow Bang) .

    Cause:
       The driver doesn't fully supported MSIX on IA64.

    Fix:
       Disabled MSIX on IA64.

    Impact:
       None.


 3. Problem:
       CQ38636 - On IA64 driver Asserts when running bidirectional chariot traffic.

    Cause:
       The driver used packing macro that caused a 32 bit value to be stored byte by byte.
       The fw read this values and asserted.

    Fix:
       The packing macro were redundant and removed.

    Impact:
       None.

Version 4.8.5 (November 25, 2008)
=================================

Fixes
-----

 1. Problem:
       CQ38434 - Driver assert after system boot in BCM57711E.

    Cause:
       Wrong speed link was indicated to NDIS miniport in case MAX bandwidth
       was set to zero.

    Fix:
       Incase of zero MAX bandwidth the driver now indicate correct value.

    Impact:
       None.

 2. Problem:
       CQ37634 - In BCM57711E the driver sometimes assert when working in MSIX mode.

    Cause:
       The driver didn't handle properly the case that less than the requested MSIX messages
       were actually granted.

    Fix:
       Handled the case properly.

    Impact:
       None.


 3. Problem:
       CQ38112, CQ38525, CQ38538(TOE) – Data transfer can stop due to zeroed advertised window,
       when working with application buffers that are larger then the initial receive window.

    Cause:
       Possible deadlock when exiting out-of-order state, due to a firmware
       bug regarding handling the push timer and buffer release.

    Fix:
       Firmware bug was fixed.

    Impact:
       None.


Enhancements:
-------------

 1. Request:
       Added CPU Affinity in MSIX mode.

    Change:
       As Requested.

    Impact:
       None.
Version 4.8.4 (November 20, 2008)
=================================

Fixes
-----

 1. Problem:
       CQ38528 - System breaks when running sockdie stress test.

    Cause:
       Wrong assert logic was applied in connection upload flow.

    Fix:
       Fixed assertion.

    Impact:
       None.

 2. Problem:
       CQ38504 - NDIS path uses VLAN parameter that is configured for
       iSCSI offload path.

    Cause:
       VBD driver returns VLAN parameter to NDIS miniport
       regardless it's booted with offload or non-offload path.

    Fix:
       Changed to return VLAN parameter to NDIS miniport only
       if it's booted with non-offload path.

    Impact:
       None.

 3. Problem:
       BCM57711: In vlan classification mode. No receive
       traffic arrives to host.

    Cause:
       Search in cam failed because of mismatch between the vlan
       on the packet and the configured cam entries.

    Fix:
       Added new configuration parameter which specifies whether
       to include the vlan in the cam search.

    Impact:
       None.

 4. Problem:
       CQ38509 (TOE) -Sparta ZeroWindow tests failed.

    Cause:
       Erroneous changes that were made to the firmware persist flows.

    Fix:
       Persist flows changes were reverted.

    Impact:
       None.

 5. Problem:
       CQ38139 (iSCSI) - BCM57711/BCM57710 iSCSI Performance < 40% of Peak Advertised.

    Cause:
       Inefficient implementation of ring management in firmware.

    Fix:
       Firmware fix.

    Impact:
       SQ size must be an integral power of 2.


Enhancements:
-------------

 1. Request:
       Add BCM957711T0191/BCM957711T0192 to INF

    Change:
       As Requested.

    Impact:
       None.

Version 4.8.3 (November 13, 2008)
=================================

Fixes
-----

 1. Problem:
       CQ38408 - Unchecking TOE feature using BACS causes system to hang.

    Cause:
       Wrong handling of valid CID ranges for TOE protocol caused a connection to get
       offloaded, even though TOE feature was disabled.

    Fix:
       Fixed handling of valid CID ranges for TOE protocol.

    Impact:
       None.

 2. Problem:
       BCM957711A1111G Sometimes loopback test might fail.

    Cause:
       mdio register access is sometimes broken since PHY was not hard reset.

    Fix:
       Pull GPIO1 low for 1 ms after power-on.

    Impact:
       None.

 3. Problem:
       CQ38275 – System crash after 27 hours of C-NIC stress.

    Cause:
       Chip was stack due to race condition in the receiver flow that caused a deadlock.

    Fix:
       Implemented FW workaround to avoid entering the race condition.

    Impact:
       None.

Enhancements:
-------------

 1. Request:
       ILT table of E1H may be 4K aligned instead of ILT client page size aligned

    Change:
       As Requested.

    Impact:
       None.

 2. Request:
       (part of Cont35465 ) Update to latest SPI ROM procedure to solve potential
       problems with write-protect.

    Change:
       Change as requested.

    Impact:
       None.

 3. Request:
       Addd interface to upgrade external PHY Firmware via BACS

    Change:
       Change as requested.

    Impact:
       None.


Version 4.8.2 (November 6, 2008)
================================

Fixes
-----
 1. Problem:
       CQ38221 - After disabling RSS when OIS is present, the driver may not correctly reload
       what in return will prevent network traffic to resume.

    Cause:
       When the NDIS miniport loads after disabling RSS and when the OIS client is up
       The eVBD issue asynchronous call to the chip in a state it shouldn't.

    Fix:
       Clean eVBD RSS parameter when the driver unloads after disabling RSS.

    Impact:
      None

Enhancements:
-------------

  1.  Request:
         Enable iSCSI Offload for BCM57711.

      Change:
         As Requested.

      Impact:
         None.


Version 4.8.1 (November 2, 2008)
=================================

Fixes
-----
   1. Problem:
         CQ37832 - System crash.

      Cause:
         Access to unsupported address in FW PRAM.

      Fix:
         Moved all operational FW code to legal PRAM addresses.

      Impact:
         None.

   2. Problem:
       CQ37615 (TOE) - chariot reports data validate error (additional fix)

      Cause:
       Race in TOE FW  between reset/invalidate ramrods, reset receive and retransmit flows.

      Fix:
       Fixed (FW 4.8.1 + DRV) reset/invalidate ramrods and reset receive flows to circumvent race.

      Impact:
         None.

Enhancements:
-------------

  1.  Request:
         Add BCM57711/BCM57710 support for IA64.

      Change:
         As Requested.

      Impact:
         None.

Version 4.8.0 (October 23, 2008)
================================

Enhancements:
-------------

  1.  Request:
         Added 57711 devices to INF.

      Change:
         As Requested.

      Impact:
         None.

  2.  Request:
         iSCSI PDO enumeration removed.

      Change:
         As Requested.

      Impact:
         None.


Version 4.6.21 (October 16, 2008)
=================================

Fixes
-----
   1. Problem:
         CQ37878 - Windows 2008 DVD installation over iSCSI offload path
         doesn't complete.

      Cause:
         Driver instance was not created during DVD installation after
         the first reboot.  eVBD driver doesn't query create_pdo_flag
         correctly and therefore iSCSI offload instance was not enumerated.

      Fix:
         Changed driver to enumerate iSCSI PDO in the above scenario.

      Impact:
         None.

   2. Problem:
         CQ37948, CQ34610 - (TOE) Query ramrod completion reached driver
         before chip completed context DMA.

      Cause:
         Firmware passed ramrod to next processor before completing its DMA.

      Fix:
         Reordered handler flow to DMA first and pass ramrod after.

      Impact:
         None.

   3. Problem:
         CQ37772 - (iSCSI) Bad data digest is transmitted

      Cause:
         Missing initialization in FW when going out of slow start.

      Fix:
         Add rxmit params init to normal TX flow.

      Impact:
         None.

   4. Problem:
         CQ36957, CQ37759 - Unable to receive packets on the iSCSI MAC address

      Cause:
         Promiscuous in rx mode was ran over by resetting the rx mode.

      Fix:
         Reset the rx mode before setting promiscuous mode.

      Impact:
         None.


Enhancements:
-------------

  1.  Request:
         CQ37160 - Remove redundant devices from INF.

      Change:
        As Requested.

      Impact:
        None.


Version 4.6.20 (October 8, 2008)
================================

Fixes
-----
   1. Problem:
         CQ37473 & CQ34829 - BACS doesn't display adapters for teaming
         configuration when adapters were used for booting the system
         over iSCSI offload path.

      Cause:
         VBD driver always indicates to the application (e.g BACS) that
         interface is booted with non-offload path even it's booted with
         offload path.  BACS doesn't allow users to configure adapter if
         it's used for non-offload (NDIS) path.

      Fix:
         Indicate correct iSCSI booting information to the application.

      Impact:
         None.

   2. Problem:
         CQ37605 - iSCSI PDO is still enumerated when create_pdo_flag is set to 4
         CQ37788 - Assert occured when iscsi is unchecked in BACS resource reservations

      Cause:
         Wrong PDO enumeration scheme, ignored "create_pdo_flag" option and relied
         only on licenses.

      Fix:
         Fix PDO enumeration scheme.

      Impact:
         None.

   3. Problem:
         CQ37366 - After resetting device, the device MAC address will  be the same as the iSCSI MAC address.
         CQ37759 - iSCSI Boot Install of OIS driver causes BSOD.

      Cause:
         Mitaknly, the code flow facilitated iSCSI miniport change MAC address, but only NDIS miniport should be able to do so.

      Fix:
         Fixed the wrong flow.

      Impact:
         None.

Enhancements:
-------------

  1.  Request:
         CQ35085 - Add iSCSI Boot/Win2K8 DVD installation support for UEFI
         environment.

      Cause:
         In UEFI environment, iBFT table is only created as an entry
         in the ACPI table per ACPI 3.0b specification.

      Change:
        Driver now determines if an adapter is an iSCSI boot interface or not
        by locating iBFT table in the ACPI table in addition to the low
        memory region (512K to 640K) and device's internal memory.

      Impact:
        None.

Version 4.6.19 (October 06, 2008)
===================================

Fixes
-----
   1. Problem:
         CQ37699 - BSOD occurred while passing sockdie traffic to SLB and iscsi traffic.

      Cause:
         Access to null pointer, due to race condition between update neighbor
         and terminate tcp offload

      Fix:
         Don't access null pointer.

      Impact:
         None.

   2. Problem:
         CQ36696 - System breaks when running sockdie stress test

      Cause:
         When the system is low on resources, PTEs allocation to translate physical to virtual addresses fails,
         and as a result generic buffers to application buffers copy operation fails.

      Fix:
         Perform the generic to application buffer copy through DMAE operations in case the conventional copy fail.

      Impact:
         None.

   3. Problem:
         CQ37720 - BSOD while disabling eVBD.

      Cause:
         New fix that was recently added used wrong lock type and caused the BSOD.

      Fix:
         Remove the lock from this flow because it is not needed.

      Impact:
         None.

   4. Problem:
         CQ37651 - Driver asserts when licensing is not configured.

      Cause:
         Driver allowed connections offload when licensing was not configured.

      Fix:
         Driver will not allow connection offload when there is no licensing.

      Impact:
         None.

   5. Problem:
         CQ37706(TOE)– Firmware assert when reset was received and sent simultaneously.

      Cause:
         The firmware gave priority to reset send completion over reset received completion.

      Fix:
         Priority was changed.

      Impact:
         None.

  6. Problem:
         Firmware(ISCSI)- Chip halts after few unanswered connections attempts.

      Cause:
         After retransmits were done, the chip didn't return the credits it should have.

      Fix:
         When the state is changed to stop, return the unused credits

      Impact:
         None.

  7. Problem:
         CQ37668(ISCSI): Chip hangs when trying to connect to iSCSI target with no licenses present

      Cause:
         When licensing of new connection fails, there's a credit leak which caused an invalid handler to wake up

      Fix:
         Fix this case.

      Impact:
         None.

   8. Problem:
         HW hangs some time after startup.

      Cause:
         Shutdown flow does not reset the Network glue or clears partially received packets. These cause the HW
         to hang on the next restart.

      Fix:
         Reset the network glue during shutdown.

      Impact:
         None.


Version 4.6.18 (October 02, 2008)
===================================

Fixes
-----
   1. Problem:
         CQ37566 - Everest: interface can not be started when increasing the
         BAR setting for each device to 128M.

      Cause:
         The bug was caused due to the pre mapping of all the bar.

      Fix:
         The Bar is dynamically mapped.Only allocated connections are mapped.

      Impact:
         None.

   2. Problem:
         CQ37611 (iSCSI Offload) - BSOD in evbda!lm_tcp_init_tcp_context+170
         while target discovery

      Cause:
         Pointer to data structure that exists only in TOE flows was being
         examined in the common L4/L5 init flows.

      Fix:
         Move the TOE init from the common flow to the TOE init flow.

      Impact:
         None.

   3. Problem:
         CQ37385 - iSCSI licensing enumeration/enforcement not consistent between
         Everest and Teton/Xinan

      Cause:
         The enumeration for Everest was affected only from registry parameter.

      Fix:
         Meet Xinan's licensing enforcement, registry parameter is set to 4,
         and the client will be enumerated by the configured licenses.

      Impact:
         None.

   4. Problem:
         CQ34926 - Intermittent break during system shutdown.

      Cause:
         Shutdown flow does not Acquiesce TOE traffic.

      Fix:
         Avoid closing the HSI with the FW, Mask the inevitable HW attentions and make sure
         the driver does not BSOD on uncompleted tasks.
         The imminent shutdown will clearup everything.

      Impact:
         None.

   5. Problem:
         CQ37556 - BSOD while running BACS.

      Cause:
         Attempt to access an address in alist that was already
         freed in client unbind flow.

      Fix:
         The driver now empty the list before client unbind

      Impact:
         None.


Version 4.6.17 (September 29, 2008)
===================================

Fixes
-----
   1. Problem:
         CQ34540 - Everest:Toe:A1 - break at "evbdx!um_tcp_copy_buffered_data" while running sockdie maxconns.

      Cause:
         Amount of buffered data passed on TCP Offload request exceeds initial receive window size.

      Fix:
         Keep zeroed window size while driver sends data exceeding the initial receive window size back to OS.

      Impact:
         None.

   2. Problem:
         CQ37559 - BSOD while running TOE bi-directional sockdie_stress +
         chariot HPT traffic

      Cause:
         A case of giant application buffers that where posted after data was
         placed in generic buffers and FIN was received, was not handled
         properly in eVBD

      Fix:
         If giant application buffers are posted in this case, when completing
         them, do not forget to remove then from the rx bd chain.

      Impact:
         None.

   3. Problem:
         CQ37277 - BACS/BMAPI timeout when querying license key info.

      Cause:
         Interface changes between VBD and MCP (FW) caused a different behavior
         between BMAPI & VBD.

      Fix:
         BMAPI & VBD interface were changed so the request will be supported.

      Impact:
         None.

   4. Problem:
         CQ37439 - BSOD while running chariot traffic to SLB team, and disabling
         adapter in team.

      Cause:
         Not all pending TOE rx buffer have been returned to the VBD.

      Fix:
         Wait for pending TOE rx buffer to return to the VBD when NDIS miniport halts.

      Impact:
         None.

   5. Problem:
         (TOE Sparta) Some W2k8 sparta scripts failed

      Cause:
         These scripts expect the connection be uploaded in closed state

      Fix:
         Added request for upload if connection is in closed state

      Impact:
         None

   6. Problem:
         (iSCSI offload - CQ 37288) iSCSI offload with Everest is extremely slow

      Cause:
         PSH flag was not set in last PDU TCP packet.

      Fix:
         Added PSH flag

   7. Problem:
         (iSCSI offload - CQ 36673) - X64_0x0_evbda!lm_gen_attn_everest_processing running MaxLuns

      Cause:
         Activity count drops to negative value:

      Fix:
         Fixed in TStorm FW

      Impact:
         None

   8. Problem:
         (iSCSI offload Linux - CQ 37224 ) iLab test5.10 - chip hangs when receiving SYN+RST+ACK after SYN sent

      Cause:
         Activity count leak

      Fix:
         Fixed AC update in Tstorm FW

      Impact:
         None

   9. Problem:
         (iSCSI offload - CQ 36673) - Incorrect header digest error reported

      Cause:
         Incorrect context update when RQ is full

      Fix:
         Fixed in TStorm FW.

      Impact:
         None


Enhancements:
-------------

  1.  Request:
        Add "f6 install" compression support to release folder

      Change:
        As Requested.

      Impact:
        None.


Version 4.6.16 (September 25, 2008)
===============================

Fixes
-----
   1. Problem:
         CQ37143 - Windows DTM Break seen during Sleep Stress with IO test.

      Cause:
         When coming back from D3, second device waiting timeout expiers due to long time for the first device to finish loading.

      Fix:
         Increased timeout time.

      Impact:
        None.

   2. Problem:
         Sparta W2K8 - TCP_ChimneyOffload t19 & TCP_SendAndDisconnect t9 + t10 fail

      Cause:
         Race condition between FIN send and FIN recv in VBD

      Fix:
         Race condition handled properly.

      Impact:
        None.

   3. Problem:
         CQ37421 - Chariot scenario w/ management sent on DUT fails to initiate L4
         traffic after ndis client enable/disable if iscsi client is installed

      Cause:
         When NDIS client unloaded, in case other clients were present (iscsi),
         the FW local grq ring consumer was not zeroed.

      Fix:
         Driver zeroes the consumer.

      Impact:
         None

Enhancements:
-------------

  1.  Request:
        Add BCM957711A1111G to inf

      Change:
        As Requested.

      Impact:
        None.

  2.  Request:
        Add support for BCM8726 (Dual port phy SFP+ )

      Change:
        As Requested.

      Impact:
        None.


Version 4.6.15 (September 22, 2008)
===================================

Fixes
-----
   1. Problem:
         CQ36997 - Break at evbda!lm_tcp_rx_get_buffered_data_from_terminate when
         running Netperf Random IO.
      Cause:
         When the VBD completes received data to OS, the number of fragments used exceeds
         the number of possible fragments for that operation.
      Fix:
         Decrease a number of buffers by more effective utilization of the buffer's unused
         space. Additional fix to prevent possible data integrity problem and memory corruption.
      Impact:
        None.

   2. Problem:
         CQ37033,CQ36263 - unreasonable reject on tcp_offload.
      Cause:
         1. One bd must be kept available when checking capacity for unacked list
         2. It is not enough to check that snd_max can fit into the bd chain upon offload
         request. It is a must that the entire tcp buffer that includes snd_max will be
         fit into the bd chain.
      Fix:
         Fixed both issues above.
      Impact:
         None.

   3. Problem:
         (CQ37314)TOE Chariot random IO script would result in hardware attention BSOD.
      Cause:
         FW would confuse bd pointers on very large tcp windows when exiting Slow Start.
      Fix:
         FW updates bd pointers only when appropriate.
      Impact:
         None.

   4. Problem:
         (CQ36673)ISCSI BSOD when running MaxLuns test.
      Cause:
         Hardware attention raised because of activity count leak in Ustorm.
      Fix:
         Fix in ustorm FW flow.
      Impact:
         None.


Version 4.6.14 (September 18, 2008)
===================================

Fixes
-----
   1. Problem:
         Sometimes, under stress, the VBD does not complete operations in a
         timely manner
      Cause:
         DPCs with medium importance may have been starved for unlimited time
         by DPCs with high importance, thus processing of completions from
         the chip may have been delayed for a long time.
      Fix:
         Improved the dynamic DPC importance algorithm to avoid this starvation
      Impact:
         None

   2. Problem:
         CQ37375 - BSOD bxnd52a!um_invalidateoffload when running TOE toggling
           with Chariot & Offloadstress
         CQ37019 - BSOD bxnd60a!check_for_reset_done when running TOE toggling
           with Offloadstress
         CQ37125 - Break at evbda!lm_stats_on_timer when running a bi-dir sockdie test
      Cause:
         Under stress of TOE offload/upload slow path requests, a set information
         request could be pending in the VBD for too long. This caused NDIS to
         reset the Miniport.
      Fix:
         Increased priority of set information request over TOE slow path request.
         This promises that set information request will not be held by VBD for
         too long
      Impact:
         None.

   3. Problem:
         CQ36997 - Break at evbda!lm_tcp_rx_get_buffered_data_from_terminate when
         running Netperf Random IO
      Cause:
         When the VBD completes received data to OS, the number of fragments used exceeds
         the number of possible fragments for that operation.
      Fix:
         Decrease a number of buffers by more effective utilization of the buffer's unused
         space.
      Impact:
        None.

   4. Problem:
         CQ37066 - Break at evbda!lm_sp_req_manager_shutdown when running offloadstress
      Cause:
         A race condition between "reset" request to "terminate offload"
         request was not handled properly in eVBD.
      Fix:
         Verify that "reset" requests that are posted after a terminate request
         will be properly blocked.
      Impact:
         None.


Version 4.6.13 (September 16, 2008)
===================================

Fixes
-----
   1. Problem:
         CQ37047 - Assert occurred while passing L4 sockdie traffic in team
         configuration "evbda!lm_tcp_post_update_request+bf"
      Cause:
         A race condition between "update neighbor" request to "terminate offload"
         request was not handleds properly in eVBD.
      Fix:
         Verify that update requests that are posted after a terminate request
         will be properly blocked.
      Impact:
          None

   2. Problem:
         CQ37220 - Fails STATS test in Ndistest6.5 in w2k8
         (Packets were dropped, but neither OID_GEN_RCV_NO_BUFFER nor OID_GEN_RCV_ERROR statistics were incremented)
      Cause:
         One of the FW counters wasn't added as expected to the ifInDiscards field in OID_GEN_STATISTICS
      Fix:
         Add the missing FW counter
      Impact:
          None

   3. Problem:
         CQ36817 - BSOD when running NDISTest 6.0 2c_holdpackets test script.
      Cause:
         Wrong rx packet reference counting caused NDIS miniport to unload while there are still
         rx buffer pending in the eVBD.
      Fix:
         Wait until all rx packet return brfore allowing miniport umload.
      Impact:
          None

   4. Problem:
         CQ37340 - Assert in "evbda!lm_tcp_get_delegated" while running sockdie stress test
      Cause:
         Wrong define value in assert check.
      Fix:
         Remove the wrong assert.
      Impact:
         None

   5. Problem:
         CQ35662 - NVRAM pre-emphasis support does not take effect
      Cause:
         Current nvm values didn't actually affect the phy.
      Fix:
         To keep backward compatibility, only in case the
         "Override pre-emphasis configuration" nvm option is
         enables, it sets the the tx preemphasis and rx
         equalizer values for the 4 lanes according to the "XGXS
         backplane Tx pre-emphasis matrix coef." and "XGXS
         backplane Rx equalizer matrix coef." respectively.
      Impact:
         None.

   6. Problem:
         Prevent possible glitch due to speed change without
         link down in the middle
      Cause:
         Currently the NIG goes into drain mode only after link
         down.If the only the speed was changed from 1G to
         100Mb, for example, without link-down indication then
         the FIFO isn't cleaned and glitch due to clk change may occur
      Fix:
         On speed change set the NIG into drain mode
      Impact:
         Several packets may be dropped, but it's ok, since we
         assume that anyhow several packets were dropped due to
         the link down.

   7. Problem:
         Fix EMAC initialization setting.
      Cause:
         Currently it is configured inside the enable emac
         before configuring the EMAC mode.
      Fix:
         Changed to be after enable emac and should be disabled (with the drain mode
         setting) at the entrance of the link_update function.
         In addition, in link down, after putting the nig into
         drain mode this register should also be disabled.
         After configuring the mode and before opening the
         nig_emac#_en, reset the EMAC_REG_EMAC_RX_MODE and
         EMAC_REG_EMAC_TX_MODE
      Impact:
         None.

Version 4.6.12 (September 11, 2008)
===================================

Fixes
-----
   1. Problem:
         CQ36870 - Sparta - Chimney offload, failure in test t19
      Cause:
         VBD does not indicate fin received event if there is rejected
         buffered data for the connection. If the connection is in "time wait"
         state, the host stack will not know about it, and thus test t19 will fail
      Fix:
         If fin is received, in "time wait" state, FW will send a request for upload,
         and if indication is delayed because of existence of rejected buffered data,
         the VBD will ask for an upload of the connection
      Impact: none

   2. Problem:
         CQ34691 - High number of pause frames
      Cause:
         The thresholds in the BRB were configured to wrong values
      Fix:
         Config the thresholds in the BRB
      Impact:
         None

   3. Problem:
         CQ37033,CQ36263 - Unreasonable tcp offload request rejection
      Cause:
         Ordinal resources of connection are not enough to post whole unacked data incoming with the request.
      Fix:
         Check resource's availability only for critical part of unacked data posting.
      Impact:
         None

   4. Problem:
         Rtt sample could be miscalculated.
      Cause:
         Firmware bug when exiting from Fast Retransmit mode.
      Fix:
         Firmware bug was fixed.
      Impact:
         None

   5. Problem:
         (CQ37155) Sparta Tests failed.
      Cause:
         Sparta Test “TCP_StateConformance” didn’t close its connections properly.
         That could cause following tests to fail.
      Change:
         Firmware bug was fixed.
      Impact:
         None

   6. Problem:
         (CQ 37090) Placement of RQ data to wrong address
      Cause:
         ASM problem
      Change:
         Firmware bug was fixed.
      Impact:
         None

   7. Problem:
         (CQ 36912) BSOD when destroying erroneous connections
      Cause:
         Activity count leak
      Change:
         Firmware bug was fixed.
      Impact:
        None

   8. Problem:
         (CQ 36987) Unable to perform media changer/tape functions
      Cause:
         Bad padding calculation in long PDUs
      Change:
         Firmware bug was fixed.
      Impact:
         None


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

  1. Request:
        (CQ37110) Bacs3 ISCSI: Display the total ISCSI offloaded connections under Statistics tab

     Change:
        As Requested

     Impact:
        None

  2. Request:
        Enable MSIx interrupt mode for Windows 2008.

     Change:
        As Requested

     Impact:
        None

  2. Request:
        (CQ 36758) Firmware now enforces iSCSI licensing and fails the offload if no iSCSI initiator license exists.

     Change:
        As Requested

     Impact:
        iSCSI connections won't be offloaded without proper license



Version 4.6.11 (September 08, 2008)
===================================

Fixes
-----

  1. Problem:
        (CQ37023) BSOD (0x8E) when Entering in S4 State

     Cause:
        Chip reset was called twice when NDIS miniport was disabled and VBD was enabled

     Fix:
        Don't call chip reset in case chip was not initialized

     Impact:
        None.

  2. Problem:
        Potential condition race with MCP shared memory when system is back from S4 state might cause a BSOD

     Cause:
        Shared memory validity bit was not checked when system back from S4 state
        before accessing the shmem. this might cause a failed "back from S4" (BSOD), especially
        on setups when link init time might take long time.

     Fix:
        Access the shared memory only after verifying the shmem is valid.

     Impact:
        None.

  3. Problem:
        (CQ37050) iSCSI login fails over VLAN

     Cause:
        VLAN tag type was not set

     Fix:
        Set VLAN ether-type to 0x8100

     Impact:
        None

  4. Problem:
        (CQ35629) Statistic ramrod didn't pass for more then 25 second.

     Cause:
        The statistics ramrod was bounded to the leading connection,
        When there were other pending ramrods for that CID, the statistic ramrod wasn't sent
        in a timely fashion.

     Fix:
        Disable CID dependent for the statistic ramrod.

     Impact:
        None

  5. Problem:
        (CQ36972) Assert in the driver when NDIS & OIS are both installed.

     Cause:
        Possible race due to firmware bug while the 2 clients are up.

     Change:
        Firmware bug was fixed.

     Impact:
        None.

  6. Problem:
        (CQ37032) Traffic could stop while running Chariot with very large buffers.

     Cause:
        Firmware bug at the management of large placement buffers.

     Change:
        Firmware bug was fixed.

     Impact:
        None.

  7. Problem:
        Possible data integrity while working with generic buffers.

     Cause:
        Lack of internal resources for completions could result in out of order
        placement on the generic buffers.

     Change:
        Generic buffers are not consumed unless there are resources to send
        their completion.

     Impact:
        None.

  8. Problem:
        (CQs 36786, 36911, 37111, 37146, 36656, 36911) Assert in the VBD
        while loading/unloading client when two clients are installed.

     Cause:
        VBD doesn't clear FW Status block index values for client chains upon unload,
        causing mismatch in index values when the client will be reloaded.

     Fix:
        Zero client's status blocks index values upon unload in both host and chip memory.

     Impact:
        none

  9. Problem:
        (CQs 36940, 35797) Assert while running offloadstress

     Cause:
         Wrong handling when receiving remote RST with tx buffer posted to the fw, RST was indicated to the client,
         while the buffers were not aborted.

     Fix:
         Postponed the RST indication, and indicate when there are no more tx buffers posted to the FW.

     Impact:
        none



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

  1. Request:
        (CQ36854) iSCSI boot file table support

     Change:
        As Requested

     Impact:
        None

  2. Request:
        Indicate packet's rx queue idx to NDIS Miniport to
        allow performance optimization in Miniport
     Change:
        Added rx queue idx to indicated packet

     Impact:  None

  3. Request:
        Implement several minor optimizations for non TOE performance.

     Change:
        As requried

     Impact:  None


Version 4.6.10 (August 27, 2008)
===============================

Fixes
-----
  1. Problem:
        First 32 connections were cached instead of first 8 connection

     Cause:
        Caching was dependent on pbe_cache_index instead of pdu_cache_index

     Change:
        Change the condition to the correct variable in Ustorm.

     Impact:
        None.


  2. Problem:
        Header digest split across two segments was processed as digest error

     Cause:
        The first header segement cached in the wrong order

     Change:
        Change header segment caching order in Tstorm

     Impact:
        None.


  3. Problem:
        EC timer not stopped in connection ABORT

     Cause:
        Wrong index was stopped in timer array

     Change:
        Fix index in Cstorm ASM.

     Impact:
        None.

  4. Problem:
        retransmit_start_time was not set correctly in slow path query RAMROD

     Cause:
        Missing ASM instruction

     Change:
        Fix in Tstorm ASM

     Impact:
        None.


Version 4.6.9 (August 21, 2008)
===============================

Fixes
-----

  1. Problem:
        (CQ36882) Break running S4 ACPI Stress.

     Cause:
        A fix made in return from D0 flow was implemented incorrectly.

     Fix:
        Fixed wrong flow.

     Impact:
        None.

  2. Problem:
        Potential condition race in iSCSI boot flow

     Cause:
        A register value is overridden to be 0 by all devices although it might
        already have a init value which is not 0

     Fix:
        Only one device will set the register value to 0

     Impact:
        None.

  3. Problem:
        Firmware will assert in case it will receive packets that were truncated
        to length smaller than 20B (E1h L2 only).

     Cause:
        Wrong define value in assert check.

     Change:
        Define was changed from 20B to 16B.

     Impact:
        None.

  4. Problem:
        (CQ35817, CQ36954 & CQ36971) Possible Assert at the VBD or
        at Microsoft stack when uploading a connection.

     Cause:
        The 1st Rtt sample after initiate offload could have been miscalculated,
        and result in high and illegal values of sRtt and RttVar.

     Change:
        Firmware fix. Rtt sample is now calculated correctly.

     Impact:
        None.

5. Problem:
        (CQ36804) Assert in the driver unload flow.

     Cause:
        New code added to this flow had false assert logic.

     Change:
        Remove wrong assert.

     Impact:
        None.


Version 4.6.8 (August 18, 2008)
===============================

Fixes
-----

  1. Problem:
        Error Event ID 56 appears in the System Event Log in some machines
        during driver installation on W2K8.

     Cause:
        The device capabilities of the child device has the UniqueID set to
        TRUE which result in the same PnP device ID for the two BCM5709
        ports.  UniqueID is propagated from the parent device and it set
        by the PCI bus driver.

     Fix:
        Always set the UniqueID to FALSE in the child's device capabilities

     Impact:
        None.

  2. Problem:
        (CQ36795) - iSCSI boot DVD installation does not complete -
        Switch side showed link down when VBD loading.

     Cause:
        Condition race caused two ports to reset the chip in parallel.

     Fix:
        Verify lock is acquired.

     Impact:
        None.

  3. Problem:
        (CQ36792) - evbd.inf is not MS-DOS compatible: wrong formatting

     Cause:
        inf file was generated without CR (carriage return)

     Fix:
        run unix2dos on .inf file

     Impact:
        None.

  4. Problem:
        (CQ36866) - Min size of multicast address list in BCM57711 should be increased

     Cause:
        Multicast table size in eVBD for BCM57711 was 32.

     Fix:
        Increased multicast table size in eVBD for BCM57711 from 32 to 64

     Impact:
        None.

  5. Problem:
        (CQ35393) - TOE Data corruption running Chariot High_Perf with 1MB I/O Size

     Cause:
        When large application buffers were aborted (e.g. due to terminate offload)
        the driver didn't set the value in the field that indicated how many bytes
        were transmitted/received from/to this large application buffer before the
        abortion

     Fix:
        Properly set the app_buf_xferred field in the case of abortion of large
        application buffer

     Impact:
        None.

  6. Problem:
        XAUI link on port0 goes down and then up, when the link on port1 is changed.

     Cause:
        When master port (port1) is down, Due to PLL issues speed will change from 10G to 1G.
        It will cause XAUI clock to both ports down and then up again.

     Fix:
        Set bit in the BCM8073 that enables the fix.

     Impact:
        None.

  7. Problem:
        (CQ36874) - Assert in attention bit processing flow.

     Cause:
        Wrong assert logic was apply in this flow.

     Fix:
        Remove the wrong assert.

     Impact:
        None.

  8. Problem:
        (CQ36880) - Assert when running bi-directional sockdie transmit file.

     Cause:
        Assert to indicate flow that haven't occurred yet - zero byte receive request.

     Fix:
        Remove the wrong assert.

     Impact:
        None.

  9. Problem:
        TCP secure ack validation not implemented correctly.

     Cause:
        maxWnd was not scaled.

     Fix:
        Window scaling is taking into a count when checking ACK validity.

     Impact:
        None.

 10. Problem:
        TCP options length error flow updated the wrong statistics.

     Cause:
        Fault in firmware flow.

     Change:
        Erroneous code was removed.

     Impact:
        None.

 11. Problem:
        (CQ36735, CQ36869) - Firmware assert due to lack of Bds.

     Cause:
        Completion management for initiate offload ramrods could cause to
        lack of Bds for L2 fast path.

     Fix:
        The completion is sent on the L4 ring only.

     Impact:
        None.

 12. Problem:
        (CQ36632) - Driver got CQ_NOTIFY event on EQ for a connection that was already terminated.

     Cause:
        Event Coalescing global timer expiration indicated pending completions for the destroyed con_id.

     Change:
        Turn off pending completions bit in RAM during Terminate ramrod.

     Impact:
        None.

 13. Problem:
        Assert in TStorm during CFC_DELETE ramrod.

     Cause:
        Activity count leak for non-cached iSCSI connections.

     Change:
        Fix connection cached condition in Ustorm.

     Impact:
        None.


Enhancements:
-------------

  1.  Request:
        Change congestion control algorithms for better compliance with
        Microsoft’s implementation (Request for Sparta tests).

      Change:
        As Requested.

      Impact:
        None.


Version 4.6.7 (August 13, 2008)
===============================

Fixes:
------

 1.   Problem:
         (CQ35002) System assert with Windows 2008 DPC Watchdog

      Cause:
         VBD's DPC duration on Windows 2008 systems exceeds 1.5 seconds, due to tcpip stack hang
         while processing initiate offload request completion and GRQ buffers indications for the
         same connection on different CPUs.

      Fix:
         Initiate offload request completion moved from the L2 chain to the L4 RCQ chain,
         Causing serialization of the initiate offload completion and the GRQ buffers indications
         and processing on the same CPU.

      Impact:
         None.

 2.   Problem:
         (CQ36688) Break when running iSCSI max target test

      Cause:
         When CID allocation fails, iscsi_state resources get released twice. The function that releases resources doesn't zero the pointers.

      Fix:
         Zero the pointers when releasing physical memory.
      Impact:
         None.

Version 4.6.6 (August 4, 2008)
==============================

Fixes:
------

 1.   Problem:
         (CQ36310) BSOD When connecting to Wintarget during Win2008 DVD boot

      Cause:
         Parser block memory still contains data after unload of undi driver which cause
         block to assert when loading chip.

      Fix:
         When VBD reset the chip if undi driver is up, it change firmware counters
         so firmware have 'place' for the packets and won't assert

      Impact:
         None.

2.   Problem:
         (CQ36611) Windows iSCSI Offload:Everest: X64_0xc2_7_evbda!um_util_free_resources disabling vbd

      Cause:
         Indexes problems in resource leak tracking code.

      Fix:
         Fix the leak detection code and use proper indexes for all resource tracking arrays.

      Impact:
         None.

3.    Problem:
         (CQ36437) Everest:iscsi:A1-w2k8:Windows iSCSI Offload: not able to install iscsi device on Everest nic

      Cause:
         Compatible IDs were not being built properly in KMDF mode. Only the 4 part ID was generated.

      Fix:
         Code fix to generate all compatible IDs.

      Impact:
         None.

4.    Problem:
         (CQ36483) Everest:Eth:A1-w2k8:Windows Iscsi offload: System breaks into debugger after login to target

      Cause:
         Dynamic HC should not be configured for the iSCSI chain.

      Fix:
         Disable dynamic HC for the iSCSI chain.

      Impact:
         None.

5.    Problem:
         (CQ36627) Everest: A1-w2k8: Windows iSCSI Offload: While running iomonkey system breaks in to debugger

      Cause:
         Cid recycling code was not waiting the needed time before reusing the cid.

      Fix:
         Fix the cid recycling code so that the next offload w/that cid does not start too early.

      Impact:
         None.

6.    Problem:
         (CQ36493) Windows iSCSI Offload:Everest: evbda!mm_alloc_phys_mem_align_imp loading iSCSI driver

      Cause:
         OS Memory allocation function (AllocateCommonBuffer()) was being called at DISPATCH_LEVEL.

      Fix:
         Change the iSCSI firmware init flow to happen at PASSIVE_LEVEL in a worker thread.

      Impact:
         None.

7.    Problem:
         Invalid ITTs were not being detected

      Cause:
         Task contexts were being reused and in some cases contained stale data that looked valid.

      Fix:
         Zero out the task contexts before each use.

      Impact:
         None.

8.    Problem:
         (CQ36647) Windows iSCSI Offload:Everest:A1: X64_0x0_bxois!l4if_ofld_neigh break discovering target

      Cause:
         LALs were not always initialized.  Some LALs were shared between iSCSI and NDIS

      Fix:
         Change LAL ownership so that it belongs to the VBD.

      Impact:
         None.

9.    Problem:
         (CQ36481) BSOD while running sockdie stress

      Cause:
         After completion of upload request for a connection, there were still pending slow path requests for that connection in the queue.
         The slow path lock was being released too early, which caused a race when adding requests to the queue.

      Fix:
         Change in the reset completion flow, postpone the release of the slow path lock, later to the queuing of the request.

      Impact:
         None.

10.  Problem:
        (CQ36126) BSOD while running sockdie/offload stress

     Cause:
        Driver didn't take into account that when servicing deferred completions upon offload completion,
        there may still be buffers that were not indicated to the client yet.

     Fix:
        Fixed assertion.

     Impact:
        None.

11.  Problem:
        (CQ36560) Firmware assert on Sockdie stress tests

     Cause:
        A RST packet without the ACK flag set, after FIN was already received,
        could cause in some cases to processing of the invalid ACK and result in
        firmware assert.

     Change:
        Firmware - ACK is not being processed in case of FIN / RST retransmits,
        after FIN was already received.

12.  Problem:
        (CQs: 36461, 36462, 36464, 36465 & 36466) Sparta w2k3 tests failed.

     Cause:
        When OOO packet with SYN flag set was received, that packet was dropped.

     Change:
        If OOO SYN is received, send pure ack instead of dropping the segment.

13.  Problem:
        (CQ36510) Link LED does not turn off when 1G link is lost when external PHY is present.

     Cause:
        The current code manually turned off the 10G LED but did not handled other speeds which are controlled by HW.
        Since the HW detect link with the external PHY, the link LED stayed on

     Fix:
        Turn off the LED for all speeds manually when link goes down

     Impact:
        None

Enhancements:
-------------

  1.  Change:
        L2 Performance optimization:
        Enable dynamic DPC importance by default on W2K3.

      Impact:  None.

  2.  Request:
        (CQ36460) Add msft folder to release tree (for windows 7 submission)

      Change:
         As Requested.

      Impact:
         None.

  3.  Request:
        Add "f6 install" folder to release tree

      Change:
         As Requested.

      Impact:
         None.

  4.  Request:
        Add insufficient Memory Event Log for 57710/57711E

      Change:
         As Requested.

      Impact:
         None.



Version 4.6.5 (July 21, 2008)
==============================

  1. Problem:
        Sockdie stress test failed.

     Cause:
        Wrong handing in the driver when connection was offloaded with KA timeout delta parameter equals 0xFFFFFFFF.

     Fix:
        Set KA timer properly according to probe count and timeout delta values.

     Impact:
        None.


Version 4.6.4 (July 18, 2008)
==============================

   1. Problem:
        CQ35739 - BSOD during un-install in W2K8

     Cause:
        Mismatch between W2K8 inbox T3.7 miniport driver and currect T4.4 57710 evbd driver

     Fix:
        Don't allow loading of T3.* miniport driver to load on T4.4 evbd driver

     Impact:
        An attemp to load T3.7 Miniport on T4.4 evbd will result with a yellow bang (instead of BSOD)

   2. Problem:
        CQ35277 - BSOD during shutdown in BCM57711E mode

      Cause:
         1. Upon shutdown, the function's L2 connections were not gracefully closed.
            In BCM57711E mode this caused a HW attention due to PCI write transaction that
            was initiated by FW after the function was already down.
            That caused a BSOD
         2. The driver's timeout period for receiving response from MCP upon unload
            requrest was too short for BCM57711E mode. That caused a BSOD

      Fix:
         1. Added closure of L2 connections in shutdown flow
         2. Increased driver's timeout period for receiving response from MCP upon unload

      Impact:
         None.

   3. Problem:
         CQ#35806, 35860) WHQL Statistics failure in BCM57711E mode

      Cause:
         Statistics were taken from HW instead FW (per function)

      Fix:
         Get the values from the FW

      Impact:
         WHQL Statistics test will pass on BCM57711E mode


   4. Problem:
        ReceiveIndication Sparta test failed (W2K8 window decrement test)

      Cause:
        KA timer was not set properly.

      Fix::
        Set KA timer properly according to probe count and timeout delta values.

      Impact:
        None.

   5. Problem:
        StateConformance Sparta test failed (test 15 - offloading a connection in FIN_WAIT2 state).

     Cause:
        KA timer was not set properly.

     Fix::
        Set KA timer properly according to probe count and timeout delta values.

     Impact:
        None.

   6. Problem: (CQ35610 & CQ35848)
         In some specific chipsets, when machine back from sleep - BSOD/machine hung

      Cause:
         Max payload size (MPS) wasn't updated by driver after system back from S1

      Fix::
         Read the MPS every time driver starts.

      Impact:
         WHQL test/Sleep will Pass.

   7. Problem:
         STATS test failed in Ndistest 6.5 in w2k8 (CQ36125)

      Cause:
         OID_GEN_RCV_DISCARDS returned only part of the drop counters

      Fix:
         Added HW drop counters to this OID

      Impact:
         None.

   8. Problem:
         script "TCP_SendAndDisconnect" test "FIN received while doing
         SendAndDisconnect" with IPv6 failed.

      Cause:
         When we received FIN RT left to the window (seg_seq < rcv_nxt)
         we didn't decrement the seglen by 1 byte back to it's original value.
         Therefore those packets were dropped since the actual packet was 1 byte
         shorter than the expected packet.

       Fix:
         We now check if the FIN flag is set (when FIN was already received in the past)
         before the checking if seg_seq < rcv_nxt. If so we decrement the seglen by 1.

       Impact:
         None.

   9. Problem:
         retransmit_start_time tstorm parameter was init to a garbage value (CQ36154).

      Cause:
         When upload the connection FW doesn’t update retransmit_start_time and correct
         the value of the time elapsed from retransmit_start_time to current time.

      Fix:
         In query ramrod FW updates retransmit_start_time and correct the value of the time elapsed from retransmit_start_time to current time.

      Impact:
         None.

  10. Problem:
         BSOD during processing corrupted TCP packet

      Cause:
         FW not freeing the Parser serial number

      Fix:
         Free serial number

      Impact:
         None.

  11. Problem:
         HBA sends login PDUs with wrong padding size

      Cause:
         Miscalculation in the transmit window

      Fix:
         transmit window now taken into account

      Impact:
         None.

  12. Problem:
         Placement to wrong location in 3rd login response

      Cause:
         Problem in write task ctx for mpath PDUs

      Fix:
         write task ctx corrected

      Impact:
         None.

  13. Problem:
         HBA issues IPv6 packets with "0" in the ip.version field instead of "6"

      Cause:
         missing context field initialization

      Fix:
         initialize ctx field

      Impact:
         None.

  14. Problem:
        ASSERT in driver due to receiving an invalid status code for the ISCSI_ERROR KCQE opcode

     Cause:
        KCQE sent with ISCSI_ERROR opcode instead of TCP_ERROR opcode

     Fix:
        fixed the opcode

     Impact:
        None.

  15. Problem:
         S5 WoL does not work (BCM57711E mode) CQ35786

      Cause:
         MISC block register was not set correctly

     Change:
         Fixed the register value.


Enhancements:
-------------

  1.  Change:  L2 Performance optimization:
         Set the default rss chain count to be half the amount of CPUs and no
         more than 4

      Impact:  None.

  2.  Request:
         Add Support for evbd multi PDO iSCSI and NDIS.

      Change:
         As Requested.

      Impact:
         None.


Version 4.6.3 (June 25, 2008)
=================================

Fixes:
------

  1.  Problem: (CQ#34893)
               W2K3 - BSOD running Netperf TX traffic, 10 session per function

      Cause: servicing deferred cqes didn't take into account the fact that upload
             can occur during servicing, and connection can be invalid afterwards.

      Fix: don't delete a connection while we're servicing deferred cqes
           at the end of the service_deferred_cqes function check if connection
           may have died during

      Impact: None

  2.  Problem: Potential risk for deadlock

      Cause: In certain cases, lock was not released from VBD before calling Miniport

      Change: Make sure lock is never held when calling miniport

      Impact: none.


  3.  Problem: Sparta StateConformance test failed.

      Cause:   At FIN_WAIT2 state, after a certain timeout, we should close the connection.

      Fixes:   Xstorm arms min(2 minutes, ka timer) when fin was sent and acked
              (delayed ack flow and keepalive flow).

      Impact: none.


  4.  Problem: Sparta TCP_KeepAlive test failed.

      Cause: We failed at the tests  because When we receive acks for KA probes,
             we do not re-arm the KA timer.

      Fix: When we receive acks for KA probes, we re-arm the KA timer.

      Impact: none.

  5.  Problem: one of Sparta test at the script TCP_SendAndDisconnect failed.

      Cause:  Fw bug in the fix for last version. If ack was received with FIN flag
              on (FIN RT) we did not continue to ack processing.

      Fix: We now continue to ack processing in the case above (return NOPROC in stead of FINISH).

      Impact: none.

  6.  Problem: (CQ35652).
               rto_timer is very large (around 0fffffff) upon upload

      Cause: set_rto and enter block state flow fail to update the
             next_timer_expir field in storm context when setting timer.

      Fix: next_timer_expir updated in all flows which set timer.

      Impact: none.

  7.  Problem: Sparta ReceiveIndications test failed (HSI changes).

      Cause: There was no support for window deflation flow.

      Fix: Added window deflation support.

      Impact: none.

  8.  Problem: Sparta TCP_Urgent_TOE test failed.

      Cause:  We failed at the test case in which we received a packet
      with URG and SYN flag set, and we processed the SYN and ignored the URG.

      Fix: If we receive a packet with URG and SYN flag set, we process the URG
           and ignore the SYN.

      Impact: none.

  9.  Problem: Sparta TCP_SendAndDisconnect test fails.

      Cause:  Xstorm bd loop treats FIN bd as normal bd.

      Fix: FIN bd ignored

      Impact: none.

 10.  Problem: Sparta TCP_StateConformance (“FIN WAIT 2 state” test) fails.

      Cause:  fin_sent_val in Tstorm aggregative context is initialized to 0 always.

      Fix: fin_sent_val in Tstorm aggregative context is initialized by Xstorm
      according to its own fin_sent_flag.

      Impact: none.

 11.  Problem: iSCSI Write stress test fails

      Cause: corruption of internal RAM thread scratchpad by another thread

      Fix: correct RAM offset calculation

      Impact: none

Version 4.6.2 (May 29, 2008)
=================================

Fixes:
------

  1.  Problem: (CQ#35510,CQ35408)
                assert when cwnd=0xffffffff

       Cause: We had a wrong assumption that delegated param cwnd was limited by 2^30.
              This assumption turned out to be not true.

       Fix: We no longer assume this and do not assert if we get cwnd=0xffffffff and we deal with it.

       Impact: we can deal with cwnd=0xffffffff

  2.   Problem: (CQ#35461,CQ35504)
                Win2k3: Assertion failed: TcpDelegatedState->Retransmit.TimeoutDelta != -1

       Cause:   In some cases we gave a retransmitTimeout value of -1 at upload stage when timer was expired, instead
                of giving value '0'

       Fix:     If timer expired we give value '0' and not '-1'

       Impact:   we will no longer crash in tcpip stack because of this.


  3.  Problem: Several Performance issues

      Cause:   We have a nagle algorithm that involves both driver + FW, the driver did not
               mark some bds correctly.

      Fix:     Driver now marks bds correctly

      Impact:  will improve some performance scenarios.


Enhancements:
-------------

   1.  Request: Add BCM57711E Support for WOL ACPI pattern.

       Change:  As Requested.

       Impact:  None.

   2.  Request: Add BCM57711E Support for WOL magic packet.

       Change:  As Requested.

       Impact:  This feature requires bootcode 4.4.7 or later.

   3.  Request: Add BCM57711E Support for function disabled.

       Change:  As Requested.

       Impact:  Disable function will appear with link down.

   4.  Request: BCM57711E Max bandwidth speed will be indicate to the OS.

       Change:  As Requested.

       Impact:  None.

   5.  Request: Support 2.5G speed for BCM8073.

       Change:  As Requested.

       Impact:  None.

Version 4.6.1 (May 18, 2008)
=================================

Fixes:
------
   1.  Problem: BACS mii test failed.

       Cause:   NIG access changed to CL45 and the mii test is
                using CL22

       Change:  Change the NIG to CL22 when using CL22 mii access IOCTL

       Impact:  None.


Enhancements:
-------------

   1.  Request: BCM57711E Support MIN/MAX bandwidth control.

       Change:  As Requested.

       Impact:  None.

   2.  Request: Support BCM8073 external phy.

       Change:  As Requested.

       Impact:  None.


Version 4.6.0 (May 4, 2008)
=================================

Fixes:
------

   1.  Problem: Possible bug on DMAE reads (write from the chip to the host)

       Cause:   HW limitation that was not obeyed

       Change:  DMAE reads (write from the chip to the host) is
                limited to 128 DWORDS

       Impact:  None.

   2.  Problem: (CQ#34808)
                rcv_wnd is different than initial rcv_wnd at connection upload

       Cause:  There was a race between switching between long-loop and short-loop while indicating
                from the post context, and reaching the indication point from the dpc-context,
                the window_update_mode was overriden, thus causing a double increase in the window size.

       Fix:    Fixed race in code

       Impact: None.

   3.  Problem: (CQ#34537)
                TOE initiate offloads didn't complete

       Cause:   VBD Driver got starved for a long period of time. But chip was not stuck and
                this caused a statistics timer assert.

       Fix:     Make sure statitistics ramrod always gets posted even if there are other SP commands
                out, and only assert if it seems like chip is stuck

       Impact:  None.

   4.  Problem: Possible bug on DMAE reads (write from the chip to the host)

       Cause:   HW limitation that was not obeyed

       Change:  DMAE reads (write from the chip to the host) is
                limited to 128 DWORDS

       Impact:  None


Enhancements:
-------------

   1.  Request: Support approximate match for multicast MACs

       Change:  As Requested.

       Impact:  None.

   2.  Request: Support statistics on 57711

       Change:  As Requested.

       Impact:  None.


Version 4.4.9 (April 22, 2008)
=================================

Fixes:
------

    1.  Problem: (CQ#34729) Failed to boot to local HD with W2k8 after failed
                 to boot to iSCSI Boot target

        Cause: There seems to be a problem with MSI-X and iscsi boot

        Change: Workaround: disable MSI-X by default

        Impact: MSI-X won't work with iscsi boot. We will fix this for T4.6


    2.  Problem: (CQ#34782) completion received for a partially filled no_push
                 buffer  TOE

        Cause: Driver didn't take into account that if terminate is called and
               there is a partially filled buffer, it may be partially
               completed.

        Change: Fixed assertion

        Impact: Driver won't assert on a partially filled no_push buffer if it
                is a result of terminate / reset / fin


    3.  Problem: Link indication was broken for BCM57711E on W2K8

        Cause: Improper initialization of MSIX caused first link indication to fail

        Change: Fixed initialization

        Impact: Link indication should work properly


    4.  Problem: Autoneg flow-control is broken

        Cause:   Broken in last drops - wrong check of the autoneg result

        Change:  Fixed the autoneg result check

        Impact:  None


Version 4.4.8 (April 14, 2008)
=================================

Fixes:
------

    1.  Problem: DMAE timeout problem on 57711

        Cause:   DMAE needs to be configured differently

        Change:  Reduce the MPS of the DMAE client

        Impact:  None


Enhancements:
-------------

    1.  Request: Add new BCM57710 device id's to the Driver INF file.

        Change:  As Requested

        Impact:  None.

    2.  Request: (CQ#33228)
                 Add new IOCTL for SFG10 PHY FW update.

        Change:  As Requested

        Impact:  None.

    3.  Request: (CQ#34076)
                  Add new IOCTL for PHY FW version query.

        Change:  As Requested

        Impact:  None.

Version 4.4.7 (April 9, 2008)
=================================

Fixes:
------

    1.  Problem: (CQ#28680)
                 Sparta Test ReceiveIndication Failed

        Cause:  FW was not notified of indicate-success immediately, therefore FW did not recognize
                that the driver has no generic data and that the generic data should be released

        Change: Notify FW immediately of consumed count as a result of indicate-success

        Impact: Test will Pass.


Enhancements:
-------------

    1.  Request: (CQ33897)
                 Support BCM8073 PHY

        Change:  As Requested

        Impact:  This is still an initial HW revision of the BCM8073 PHY
                 so changes might be needed as the PHY HW or FW evolve

    2.  Request: (CQ33845)
                 Turn off link LED when link is not active

        Change:  As Requested

        Impact:  None.

    3.  Request: (CQ#34565)
                 Add new BCM57710 device id's to the Driver INF file.

        Change:  As Requested

        Impact:  None.

    4.  Request: Add support for WIN2K8 DPC watchdog BSOD.

        Change:  Next DPC will be delayed in case we are reaching
                 close to DPC watchdog counters threshold.

        Impact:  None.

Version 4.4.6 (March 27, 2008)
=================================

Fixes:
------

   1.   Problem: (CQ#34233)
                 Resource allocation problem when trying to install several nics.

        Cause:   On some cases resource allocation for TOE was too much.

        Change:  Reduce resource allocation for TOE.

        Impact:  none.

   2.   Problem: (CQ#34102)
                 BSOD occured when running BACS memory test.

        Cause:   Wrong value was assined to one of the BCM57710 register.

        Change:  Cahnge BCM57710 register configuration.

        Impact:  none.


Enhancements:
-------------

   1.  Request: Add IOCTL B10_IOC_READ_PHY/B10_IOC_WRITE_PHY for MDIO clause 45 access.

       Change:  Support added.

       Impact:  None.

   2.  (CQ#34432) (CQ#34439) (CQ#34436)
       Request: Add support for additional devices in the inf file.

       Change:  Support added.

       Impact:  None.

   3.  Request: Add new events to the windows system event viewer in case of
       client bind/unbind and resource allocation failure.

       Change:  Support added.

       Impact:  None.

   4.  Request: Add support for BCM57711 LINK and statistic management.

       Change:  Support added.

       Impact:  None.

Version 4.4.5 (March 20, 2008)
=================================

Fixes:
------

   1. Problem: (CQ #34085)
               Blue screen during windows ACPI stress test.

      Cause:  wrong handling of PNP state machine

      Change: Fixed state machine states upon moving to D3

      Impact: ACPI Test should pass now

   2. Problem: (CQ #31630)
               Assertion when running with 10MB buffers

      Cause:  Buffers that did not fit into the bd-chain were not handled.

      Change: New HSI change enables the driver to post partial buffers
              by marking them as such and iteratively post buffers larger
              than the bd-chain

      Impact: Large buffers (larger than 3MB) are now supported.

   3. Problem: (CQ #33877)
               Assertion when running chariot with 1MB buffers

      Cause:   Driver released RQ buffers, as a result of copying GRQ data
               to them too soon, before FW had a chance to process them,
               caused an override in the bd-chain when the bd-chain
               was fully utilized.

      Change: New HSI change makes sure driver will release RQ buffers
              ONLY after it got a specific indication from FW that FW
              has processed these buffers.

      Impact: None.

   4. Problem: (CQ #30193, CQ#32463)
               Assertion when running L4 stress together with load/unload

      Cause:  Upon function unload, the searcher block table was
              erroneously cleaned too early, before promising that
              no additional search requests can be initiated on the
              disabled function.

      Change: Changed the order of operations upon function unload.

      Impact: BSOD should not occur.

   5. Problem: (CQ #34242)
               BSOD occured when running bi-dir sockdie stress.

      Cause:  Wrong handling of free cid operation when tcp offload fails
              and the cid is still pending.

      Change: The cid allocation is postponed therefore the above scenario
              is prevented.

      Impact: bi-dir sockdie stress test won't break.

   6. Problem: (CQ#34042)
                Driver assert on negative CWND on upload of TCP connection

      Cause:   There was a FW bug that lead to negative CWND in some cases

      Fix:     Fixed the FW bug

      Impact:  None

   7. Problem: (CQ#28863, CQ#32830, CQ#33504)
                Driver may assert when uploading TCP connection while
                exitting from "persist" state.

       Cause:   There was a bug in TCP offloaded connection when exitting
                "persist" state that could lead to temporary corruption
                on SndNxt parameter.

       Fix:     Fixed corruption on SndNxt parameter

       Impact:  None

   8. Problem: (CQ#43424)
                Cannot link SFP module at 1G with OEM PowerConnect 6224

      Cause:   The OEM switch supports only autoneg and not forced
               1G

      Change:  Changed the 1G implementation to autoneg with only 1G
               advertisement

      Impact:  When choosing 1G speed, the speed is achieved via
               autoneg and not forced



Enhancements:
-------------

   1.  Request: Add support for iSCSI.

       Change:  Support added.

       Impact:  iSCSI client can be used only when NDIS client is down.

   2.  Request: Enable MSI-X by default for Windows 2008.

       Change:  INF file change to support MSIX.

       Impact:  VBD will use MSIX by default.

   3.  Request: CQ#34253
                Product version string for 4.4 should be 12.4.0

       Change:  Support added.

       Impact:  None.

   4.  Request: Add support for BCM57711 boot code.

       Change:  Support added.

       Impact:  None.

   5.  Request: Add resource reservation registry parameters support,

       Change: Registry Param named: memory_consumption is added.
               Takes values 25/50/75/100 (percent of memory consumption).

       Impact: Using this registry param will affect the amount of memory
               that the driver will allocate roughly according to the
               percentage stated.

   6.  Request: Add new boards information to the inf.

       Change: Support added.

       Impact: More boards are noe supported.
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: ftp, load: 2.35