| ============================ |
| R E L E A S E N O T E S |
| ============================ |
| |
| Broadcom BCM57710/BCM57711/BCM57711E/BCM57712 |
| 10 GigE bnx2x driver For Linux |
| |
| Broadcom BCM57800/BCM57810/BCM57840 |
| 10/20 GigE bnx2x driver For Linux |
| |
| Copyright (c) 2007-2011 Broadcom Corporation |
| All rights reserved. |
| |
| Version 1.70.36 (Dec 01, 2011) |
| ============================== |
| Internal FW 7.0.29 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ59651 - GRC-timeout messages run in syslog. |
| |
| Change: Fix race between two statistic-related flows by using local |
| state in bnx2x_stats_handle(). |
| |
| Introduced: Day one. |
| |
| Relevance: All. |
| |
| 2. Problem: CQ59765 - Link loss on 10G port after running ethtool test |
| on 1G port, since the MAC loopback test was done on XMAC |
| causing the 10G port to lose link. |
| |
| Change: On 1G port, run UMAC loopback. |
| |
| Introduced: 1.70.32 |
| |
| Relevance: 57800 only (2x10G + 2x1G) |
| |
| 3. Problem: CQ59904 - Unable to create VLAN interface on RHEL6.2. |
| |
| Change: Adopt VLAN scheme to RHEL6.2 kernel. |
| |
| Introduced: Day one. |
| |
| Relevance: RHEL6.2. |
| |
| Enhancements: |
| ------------- |
| 1. Request: CQ60019 - Support DCBNL CEE calls on RHEL6.2. |
| |
| Version 1.70.35 (Nov 08, 2011) |
| ============================== |
| Internal FW 7.0.29 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ59626 - set skb_record_rx_queue for FCoE ring out of range. |
| |
| Change: Introduce fp->rx_queue and use it instead of fp->index. |
| |
| Introduced: 1.70.32. |
| |
| Relevance: FCoE + kernel with skb_record_rx_queue support. |
| |
| |
| Version 1.70.34 (Nov 01, 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: 1.70.00 |
| |
| Relevance: 54616 PHY based boards. |
| |
| 2. Problem: CQ58580 - System becomes unresponsive or unstable after running |
| self test. This was due to kernel stack overflow by the self |
| test during load/unload. |
| |
| Change: Located stack-hungry code in the nic load flow and modified it |
| to consume reasonable amount of stack. |
| |
| Introduced: Day one |
| |
| Relevance: All Chips. This issue only occurs in low stack kernels - |
| specifically kernels using 4kb stack depth such as 32bit PAE |
| kernel. |
| |
| 3. Problem: CQ59471 - DCBx does not work with NPAR on kernels with multi-CoS |
| support. |
| |
| Change: The DCBx negotiation result was not propagated to all functions. |
| |
| Introduced: Day one. |
| |
| Relevance: DCBx and kernels with multi-CoS (2.6.39 and above). |
| |
| 4. Problem: Compilation failed on SLES11SP2 beta7 kernel. |
| |
| Change: Fix compat.h. |
| |
| Introduced: Day one. |
| |
| Relevance: SLES11SP2 beta7 kernel. |
| |
| Version 1.70.33 (Oct 24, 2011) |
| ============================== |
| Internal FW 7.0.29 |
| Fixes: |
| ------ |
| 1. Problem: CQ58884, CQ59376 - possible HW fatal attention issues after |
| unload/load with 1G link. |
| |
| Change: Close RX NIG in delay time after resetting the MAC. |
| |
| Introduced: 1.70.00. |
| |
| Relevance: 578xx. |
| |
| 2. 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 capability |
| advertisement. Re-enable it after configuration is done. |
| |
| Introduced: Day One |
| |
| Relevance: 578xx blade designs. |
| |
| 3. Problem: skb truesize is under estimated. |
| |
| Change: bnx2x allocates a full page per fragment. It should account in |
| skb->truesize, the size of the fragment, not the used part of |
| it. |
| |
| Introduced: Day One |
| |
| Relevance: All. |
| |
| Version 1.70.32 (Oct 16, 2011) |
| ============================== |
| Internal FW 7.0.29 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ58887 - System with low memory PSOD when running mtu change. |
| |
| Change: Switch between FP indices in order to avoid mapping of |
| FP with napi to the one napi-less, during memory allocation. |
| |
| Introduced: Version 1.60.27. |
| |
| Relevance: ESX-5.0. |
| |
| 2. 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: Version 1.70.00. |
| |
| Relevance: 57810/57800. |
| |
| 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 1.70.31 (Oct 10, 2011) |
| ============================== |
| Internal FW 7.0.29 |
| |
| Fixes: |
| ------ |
| 1. Problem: Unable to change the speed with ethtool while using DAC (direct |
| attached cable). |
| |
| Change: The port was matched against fiber only without considering DAC. |
| |
| Introduced: Version 1.60.28. |
| |
| Relevance: Optic ports with DAC. |
| |
| 2. 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: Version 1.70.00. |
| |
| Relevance: 578xx. |
| |
| 3. Problem: Traffic blink rate LED is too fast. |
| |
| Change: Adjust the blink rate to 578xx clock. |
| |
| Introduced: Version 1.70.00. |
| |
| Relevance: 578xx. |
| |
| 4. Problem: Arrival of FCoE packets beyond task IO size can lead to crash. |
| |
| Change: (FCoE FW) Fix firmware data-in flow. |
| |
| Relevance: FCoE. |
| |
| Version 1.70.30 (Oct 03, 2011) |
| ============================== |
| Internal FW 7.0.28 |
| |
| Fixes: |
| ------ |
| 1. Problem: Lack of handling some HW failure indications. |
| |
| Change: Fix improper initialization of mask register. |
| |
| Introduced: 1.60.00. |
| |
| Relevance: 57712/578xx only. |
| |
| 2. Problem: CQ57952 - Chip consumes too much power in case of fan failure. |
| |
| Change: unload driver and power down chip. |
| |
| Relevance: 57810. |
| |
| 3. Problem: bnx2x_dcbnl_get_cap returns error for DCB_CAP_ATTR_DCBX. |
| |
| Change: Add missing brake statement. |
| |
| Relevance: DCB capable devices. |
| |
| 6. Problem: CQ57274 - Zero queues are used when num_queues was set to -1. |
| |
| change: Make sure num_queue is treated as unsigned number. |
| |
| Relevance: All. |
| |
| 7. Problem: CQ57927 - Chip hangs when in case of retransmission not aligned |
| to 4-bytes from the beginning of iSCSI PDU. |
| |
| Change: (iSCSI FW) Firmware implementation fixed to support arbitrary |
| aligned retransmissions. |
| |
| Introduced: Version 1.70.09 (FW 7.0.16). |
| |
| Relevance: All |
| |
| Enhancements: |
| ------------- |
| 1. Request: Changed 'pri_map' module parameter to control mapping from |
| priority to traffic class instead of deprecated role in SAFC |
| configuration. |
| |
| 2. Request: Allow DCBNL functionality for RHEL6.1 and RHEL6.2. |
| |
| Version 1.70.29 (Sep 19, 2011) |
| ============================== |
| Internal FW 7.0.27 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ58418 - WoL does not work after driver unload. |
| |
| Change: The PME was not enabled in the configuration space. |
| |
| Introduced: Day one. |
| |
| 2. Problem: CQ58516 - DCBX ioctls return without error on |
| non-DCB capable devices. |
| |
| Change: Check DCB state in IOCTLs code. |
| |
| Introduced: 1.64.00. |
| |
| Relevance: Non-DCB capable devices. |
| |
| 3. Problem: Compilation failed on RHEL6.2 kernel. |
| |
| Change: Fix in compat.h. |
| |
| Relevance: RHEL6.2 - alpha. |
| |
| Version 1.70.28 (Sep 13, 2011) |
| ============================== |
| Internal FW 7.0.27 |
| |
| Fixes: |
| ------ |
| 1. Problem: Compilation failed when FCOE selected but FCOELIB is not in |
| kernel config. |
| |
| Change: Fix #if condition. |
| |
| Introduced: 1.70.00. |
| |
| Relevance: Specific kernel configuration. |
| |
| 2. Problem: CQ57274 - kernel panic when trying to load bnx2x with negative |
| amount of receive queues. |
| |
| Change: Changed all module parameter's from integer to unsigned integer. |
| |
| Introduced: Day 1. |
| |
| 3. Problem: Overflow occurs during init, when generating statistics ramrod |
| towards the FW (writing to index outside of array bounds). |
| |
| Change: Increase number of elements in the array inside struct |
| bnx2x_fw_stats_req. |
| |
| Introduced: Day 1. |
| |
| 4. Problem: CQ58271 - Improper array initialization in call to |
| get_dcbx_params_ioctl. |
| |
| Change: Take array size into account when data is copied. |
| |
| Introduced: 1.64.00. |
| |
| Relevance: 57712/578xx. |
| |
| 5. Problem: Ethtool Advertised pause frame use don't show the pause |
| capability when flow-control not set to autoneg. |
| |
| Change: Display the advertised pause frame use even if flow-control is |
| not set to autoneg. |
| |
| Introduced: 1.70.27. |
| |
| 6. Problem: CQ55140 - Arrival of target-initiated NOP-IN during intense |
| iSCSI traffic might lead to driver crash. |
| |
| Change: (iSCSI FW) Fix in relevant flow. |
| |
| Introduced: 1.60.00. |
| |
| Version 1.70.27 (Sep 01, 2011) |
| ============================== |
| Internal FW 7.0.26 |
| |
| Fixes: |
| ------ |
| 1. Problem: Compilation failed when FCOE selected but FCOELIB is not in |
| kernel config. |
| |
| Change: Fix #if condition. |
| |
| Introduced: 1.70.00. |
| |
| Relevance: Specific kernel configuration. |
| |
| 2. Problem: CQ55751 - Setting advertise speed in ethtool is not working, and |
| displaying "Advertised pause frame use" was incorrect. |
| |
| Change: Fix ethtool functionality. |
| |
| Introduced: Day one. |
| |
| Relevance: All. |
| |
| 3. Problem: FCoE feature is not recognized by device. |
| |
| Change: Initialize FCoE license info at driver init. |
| |
| Introduced: 1.70.26. |
| |
| Version 1.70.26 (Aug 29, 2011) |
| ============================== |
| Internal FW 7.0.26 |
| |
| |
| Fixes: |
| ------ |
| 1. Problem: Compilation failed on kernel-3.0.x. |
| |
| Change: Fix compat.h. |
| |
| Introduced: Day one. |
| |
| 2. Problem: Improper RX ring configuration showed in some case via |
| ethtool -g. |
| |
| Change: Allow configuration to be read if device is down. |
| |
| Introduced: 1.64.14. |
| |
| 3. Problem: CQ58086 - on 578xx B0 ETS BW 0% is not allowed by driver. |
| |
| Change: Provide alternative HW configuration for this case. |
| |
| Introduced: 1.70.00. |
| |
| Relevance: 578xx with DCB support. |
| |
| 4. Problem: Driver allowed DCBX queries on non-pmf interfaces. |
| |
| Change: Disable the queries on non-pmf interfaces. |
| |
| Introduced: 1.70.00. |
| |
| Relevance: MF devices with DCB support. |
| |
| 5. Problem: Degradation in latency benchmarks noted (multiple TCP_RR). This |
| was because driver configured FW to use the same state machine |
| for rx and tx indices in status block. |
| |
| Change: Use.seperate state machines for tx and rx. |
| |
| Introduced: 1.60.00. |
| |
| 6. Problem: Driver may get out of sync with FW when UNDI is present. |
| |
| Change: Init fw_seq after undi_unload is done. |
| |
| Introduced: Day one. |
| |
| Relevance: All. |
| |
| 7. Problem: GRC-timeout messages may appear in syslog during driver load. |
| |
| Change: 1. Remove access to removed registers in 57712/578xx. |
| 2. Do not allow device reset while reading IGU HW block info. |
| |
| Introduced: 1.64.00. |
| |
| Relevance: 57712/578xx. |
| |
| 8. Problem: MC assert while initializing iSCSI on some boards. |
| |
| Change: Move cnic_info initialization to bnx2x_open. |
| |
| Introduced: 1.64.00. |
| |
| Relevance: 57711E. |
| |
| Enhancements: |
| ------------- |
| 1. Request: Enable FEC (Forward Error Correction) on 57810-KR. |
| |
| Version 1.70.25 (Aug 22, 2011) |
| ============================== |
| Internal FW 7.0.26 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ56409, CQ57534 - Initiator periodically sends out Discovery |
| Solicitation after login is established. This was caused by a |
| missing VLAN filtering on the bnx2fc side. To enable such a |
| filtering on the ESX bnx2fc needs to be aware of the currently |
| configured VLANs on the CNA device. |
| |
| Change: Expose the CNA VLANs configuration to the CNIC. |
| |
| Relevance: FCoE on the ESX only. |
| |
| Introduced: Day one. |
| |
| 2. Problem: Theoretical problem that FW will drop incoming packet due to |
| incorrect RX ring size when dropless_fc=1. |
| |
| Change: Increase ring size according to FW implementation. |
| |
| Relevance: Driver loaded with dropless_fc=1. |
| |
| Introduced: Day one. |
| |
| 3. Problem: CQ57841 - NIG timer error and connection loss after driver is |
| loaded. |
| |
| Change: Apply NIG drain when remote fault is detected. |
| |
| Introduced: In 1.70.00. |
| |
| Relevance: Fiber ports. |
| |
| 4. 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. |
| |
| 5. Problem: CQ57987 - Compilation error on RHEL6.2 kernels. |
| |
| Change: Fix compat.h. |
| |
| Introduced: In 1.70.00. |
| |
| Version 1.70.24 (Aug 18, 2011) |
| ============================== |
| Internal FW 7.0.26 |
| |
| Fixes: |
| ------ |
| 1. Problem: FCoE traffic causes null pointer deref on kernels below 2.6.38. |
| |
| Change: Path correct parameter to netdev_alloc_ms() |
| |
| Introduced: In 1.70.15 |
| |
| 2. 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. |
| |
| 3. Problem: CQ56820 - XMAC loopback (within "ethtool -t" test) may fail due |
| to timing issue related to the CORE loopback type used. |
| |
| Change: Change XMAC loopback to local line loopback. |
| |
| Introduced: In 1.70.00. |
| |
| Relevance: 578xx. |
| |
| 4. Problem: CQ57842 - Message "Illegal configuration detected for Max BW" |
| appears in syslog when link toggles. |
| |
| Change: Adjust number of VNICs for 4-port devices. |
| |
| Introduced: In 1.70.00. |
| |
| Relevance: 578xx 4-port. |
| |
| 5. Problem: Message "Illegal configuration detected for Max BW" |
| appears in syslog when link toggles. |
| |
| Change: Reduce msglvl for the message to debug only. |
| |
| Introduced: In 1.70.00. |
| |
| Relevance: MF devices. |
| |
| 6. Problem: CQ56894 - packet drops during UDP stress test on 578xx. |
| |
| Change: Recalculate thresholds configuration according to 578xx HW. |
| |
| Introduced: In 1.70.00. |
| |
| Relevance: 578xx. |
| |
| Version 1.70.23 (Aug 08, 2011) |
| ============================== |
| Internal FW 7.0.26 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ57469, CQ57377, CQ56861, CQ57296 - CFC HW attention, |
| XSTORM assert or kernel panic when changing the MTU under the |
| TCP traffic (on the Tx side). Tx queues were stopped before |
| bp->state was changed to a value different from |
| BNX2X_STATE_OPEN, which allowed the bnx2x_tx_int() called from |
| the NAPI context to re-enable it. This then allowed the |
| netdev->ndo_start_xmit() to be called in the middle of the |
| function reset and rings freeing, which caused the above |
| failures. |
| |
| Change: Change bp->state to a value different from BNX2X_STATE_OPEN |
| BEFORE disabling the Tx queues in order to restore the |
| protection against the above race in the bnx2x_tx_int(). |
| |
| Introduced: In 1.70.16 in the fix for CQ56438. |
| |
| 2. Problem: CQ56991, CQ57007 - PFC pauses non pausible traffic. This was |
| because FW was configured to work in STATIC_COS on 57712 and |
| 578xx regardless of kernel version. In kernels where multiple |
| traffic classes are not supported this essentially blocked |
| network traffic from being assigned any tc other than 0. If |
| pausible traffic was assigned tc 0 the network traffic would |
| necessarily collide with it. |
| |
| Change: Configure FW to work in STATIC_COS only in kernels which support |
| multiple traffic classes. |
| |
| Introduced: 1.70.15. |
| |
| Relevance: 57712 and 578xx on kernels before 2.6.39. |
| |
| 3. Problem: CQ57566 - During link down event "stats updated but no MAC |
| active" messages appear in system log. |
| |
| Change: Lowered the debug level of the message. |
| |
| Introduced: Day one. |
| |
| Relevance: All. |
| |
| 4. Problem: PMF migration during remote fault result in invalid link state. |
| |
| Change: Sync link attributes during remote fault periodic check. |
| |
| Introduced: 1.70.09. |
| |
| Relevance: Fiber ports. |
| |
| Version 1.70.22 (Jul 31, 2011) |
| ============================== |
| Internal FW 7.0.26 |
| |
| Fixes: |
| ------ |
| 1. Problem: Error messages "FATAL HW block attention set2 0x20" in the |
| kernel log on specific systems. |
| |
| Change: Recoverable LCRC errors due to not masking CPL_OF caused the |
| print while it should be ignored. |
| |
| Introduced: Day one. |
| |
| Relevance: 57710 and 57711. |
| |
| 2. 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: 1.70.00. |
| |
| Relevance: T0000G boards. |
| |
| 3. Problem: Driver compilation failed on 2.6.38.x kernels. |
| |
| Change: Fix compat for these kernels. |
| |
| Introduced: 1.70.21. |
| |
| 4. Problem: PCI scan could lead to GRC read. |
| |
| Change: Second function indirect windows were not cleared by the driver |
| since the driver used the port index before it was initialized |
| and therefore cleared only function 0. Since the driver is not |
| using these indirect windows, it will clear them all. |
| |
| Introduced: Day one. |
| |
| 5. Problem: CQ57061 - GRC timeout messages appear on some systems during |
| driver load. |
| |
| Change: Take HW LOCK before resetting the HW, which prevents from |
| undi_unload read registers while block is in reset state. |
| |
| Introduced: Day one. |
| |
| 6. Problem: Compilation failed on SLES11 SP1 update 1. |
| |
| Change: Fix conflict on backported feature in bnx2x_compat.h. |
| |
| Introduced: 1.70.20. |
| |
| Relevance: SLES11 SP1 update 1 only. |
| |
| 7. Problem: IP and TCP ECN related TPA aggregation rules do not comply with |
| LRO requirements. Firmware followed requirements for RSC which |
| are incompatible with LRO requirements: |
| 1. Allow TPA aggregation even if TCP ECE and CWR flags are set. |
| 2. Allow TPA aggregation only if IP ECN CE and ECT bits are |
| either 00 or 11. |
| |
| Change: (FW ETH) Firmware now allow TPA aggregation only if: |
| 1. TCP ECE and CWR are both 0's. |
| 2. IP ECN CE and ECT bits are other than 11. |
| |
| Introduced: 1.64.00 (FW 6.4.0.). |
| |
| Relevance: All. |
| |
| 8. 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: 1.64.00 (FW 6.4.0.). |
| |
| Relevance: All. |
| |
| 9. Problem: There is a probability that truncated FCoE packet on RX path |
| won't get detected which might lead to crash. |
| |
| Change: (FW FCoE) Verify the length of the FCOE packet. |
| |
| Introduced: 1.64.00 (FW 6.4.0.). |
| |
| Relevance: FCoE only. |
| |
| 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. |
| |
| Version 1.70.21 (Jul 25, 2011) |
| ============================== |
| Internal FW 7.0.23 |
| |
| Fixes: |
| ------ |
| 1. Problem: Warning about the pending bit coming from the VLAN_MAC object |
| if parity error happens under the rtnl_lock(). |
| |
| Change: Clear the internal VLAN_MAC object pending bit if |
| bnx2x_config_vlan_mac() is called with RAMROD_DRV_ONLY flag. |
| |
| Introduced: Day one. |
| |
| 2. Problem: bp->sp_state bits stayed set forever set if there was a parity |
| error under rtnl_lock() |
| |
| Change: Clear bp->sp_state after interrupts are disabled. |
| |
| Introduced: Day one. |
| |
| 3. 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 |
| |
| 4. Problem: CQ56991, CQ57007 - Networking traffic priority was mapped to the |
| COS configured at startup which was 0 by default. If FCOE or |
| ISCSI were configured by DCBX negotiation result to COS 0 the |
| network traffic would cause drops on a dropless traffic class |
| and could foul up ETS or PFC. |
| |
| Change: When DCBX negotiation result occurs configure all priorities |
| other than FCOE and ISCSI to the Networking COS. |
| |
| Introduced: 1.70.15 |
| |
| Relevance: 57712/578xx with DCB support. |
| |
| 5. Problem: CQ57063 - tx checksum offload feature would not turn off when |
| 'ethtool -K eth<xxx> tx off' was used. |
| |
| Change: Since at startup bnx2x declares support for ipv4 and ipv6 |
| checksum offload, connect the ethtool ipv6 set checksum premade |
| op to the set_tx_csum op which affects both ipv4 and ipv6 |
| instead of the ipv4 op which affects only ipv4. |
| |
| Introduced: 7.0.0. |
| |
| 6. 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. |
| |
| Version 1.70.20 (Jul 19, 2011) |
| ============================== |
| Internal FW 7.0.23 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ56950 - 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: 1.70.13. |
| |
| Relevance: 57712+8727 and 57711+87x6. |
| |
| 2. Problem: Possible race between Queues UPDATE from the NIV_FUNCTION_UPDATE |
| and from VLAN HW stripping configuration. |
| |
| Change: Move Queues UPDATE in NIV_FUNCTION_UPDATE flow to be executed |
| from inside bnx2x_sp_rtnl_task (under rtnl_lock()). |
| |
| Introduced: 1.70.14. |
| |
| Relevance: NIV only. |
| |
| 3. Problem: Link down when running iSCSI reboot test. |
| |
| Change: Ensure that PHY_TX_ERROR_CHECK_FLAG is asserted before error |
| checking. |
| |
| Introduced: 7.0.8. |
| |
| Relevance: 57712 with non-optic phys. |
| |
| 4. Problem: CQ57055 - ESX doesn't support LRO on top of IPv6. |
| |
| Change: Separate TPA queue configuration: introduce |
| BNX2X_Q_FLG_TPA_IPV6. |
| |
| Introduced: Day one. |
| |
| Relevance: ESX only. |
| |
| 5. Problem: CQ57125 - Missing configuration for the FIP MAC in single |
| function mode and for WWN in multi function mode. |
| |
| Change: Add the missing configuration. |
| |
| Introduced: Day one. |
| |
| Relevance: FCoE only. |
| |
| 6. Problem: CQ56784 - LED doesn't flash during LED test. |
| |
| Change: Add the missing configuration. |
| |
| Introduced: Day one. |
| |
| Relevance: 578xx. |
| |
| 7. Problem: During error handling "FW failed to respond" message appears. |
| |
| Change: Add missing command from driver to FW. |
| |
| Introduced: 1.70.08. |
| |
| 8. 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. |
| |
| 9. Problem: Parity attentions clearing code didn't cover ATC and PGLUE_B |
| blocks for 57712. |
| |
| Change: Add the ATC and PGLUE_B blocks to the parity mask registers data |
| base. |
| |
| Introduced: Day one. |
| |
| Relevance: 57712 only. |
| |
| 10. Problem: Parity errors recovery flow for 578xx was broken. |
| |
| Change: Fix the above flow: |
| - Add a separate column for the 578xx in the parity mask |
| registers DB. |
| - Fix the bnx2x_process_kill_chip_reset() to handle the blocks |
| newly introduced in the 578xx. |
| |
| Introduced: Day one. |
| |
| Relevance: 578xx only. |
| |
| 11. Problem CQ56870 - ethtool -d (register dump) causes bnx2x panic on E3 |
| boards. |
| |
| Change Add support for E3 A0 and E3 B0 in register dump. |
| |
| Introduced: Day one. |
| |
| Relevance 578xx only. |
| |
| Enhancements |
| ------------ |
| 1. Request: Fix the direction of the dma_sync() to synchronize towards CPU |
| as it's supposed to be. |
| |
| 2. Request: CQ56857 - Add support for AutoGrEEEn using nvram configuration |
| as default with module parameter to force it to on or off. |
| |
| 3. Request: CQ56737 - Disable TX_DIS Signal when SFP+ module is plugged out |
| to prevent current leakage. |
| |
| Relevance: 578xx. |
| |
| Version 1.70.19 (Jul 13, 2011) |
| ============================== |
| Internal FW 7.0.23 |
| |
| Fixes: |
| ------ |
| 1. Problem: 578xx B0 - HW attention during traffic. |
| |
| Change: properly configure 578xx B0 mode. |
| |
| Introduced: 1.70.00. |
| |
| 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. |
| |
| Version 1.70.18 (Jul 12, 2011) |
| ============================== |
| Fixes: |
| ------ |
| 1. 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. |
| |
| 2. 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. |
| |
| 3. Problem: CQ56462 - Unable to get link on both ports on several systems. |
| |
| Change: Initialize warpcore twice in succession. |
| |
| Introduced: 1.70.03 |
| |
| Relevance: 578xx. |
| |
| 4. 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. |
| |
| 5. Problem: CQ56785 - Soft lockup/NULL pointer dereference while running |
| FCoE traffic. |
| |
| Change: Properly calculate TX queue for FCoE L2 traffic. |
| |
| Introduced: 1.70.15. |
| |
| Relevance: 57712/578xx with FCoE. |
| |
| 6. Problem: Kernel warning messages regarding the attempt to access the Tx |
| queue with index more or equal to netdev->real_num_tx_queues. |
| |
| Change: Align the initialization of the netdev with the Tx multi-CoS |
| logic. |
| |
| Introduced: 1.70.15. |
| |
| 7. Problem: CQ56790 - During the loading of the bnx2x module there is an |
| error indicating that the symbol bnx2x_dbg_buf could not be |
| found. |
| |
| Change: Declare bnx2x_dbg_buf as a non-static variable. |
| |
| Relevance: ESX only. |
| |
| 8. 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. |
| |
| Enhancements |
| ------------ |
| 1. Request: Use vmalloc for a zlib inflate buffer. |
| |
| 2. Request: Remove unnecessary read of PCI_CAP_ID_EXP |
| The PCIE capability offset is saved during PCI bus walking. |
| It will remove an unnecessary search in the PCI configuration |
| space if this value is referenced instead of reacquiring it. |
| Also, pci_is_pcie is a better way of determining if the device |
| is PCIE or not (as it uses the same saved PCIE capability |
| offset). |
| |
| 3. Request: CQ56790 - Pass the mf_mode to the CNIC so that CNIC can |
| determine if it needs to call the |
| DRV_CTL_START_NPAR_CMD/DRV_CTL_STOP_NPAR_CMD to setup the NIG |
| when in NPAR mode. |
| |
| Relevance: ESX only. |
| |
| Version 1.70.17 (Jul 05, 2011) |
| ============================== |
| Internal FW: 7.0.23 |
| |
| Fixes: |
| ------ |
| 1. Problem: PFC is not configured for ports 1,3 on 4-port devices. |
| |
| Change: Enable the configuration for every port. |
| |
| Relevance: DCBX, 578xx 4-port devices. |
| |
| 2. 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. |
| |
| 3. Problem: "Soft lockup" errors. Caused by race between bnx2x_sp_task() and |
| local IRQ both calling for napi_schedule(), which adds elements |
| to a local NAPI list. |
| |
| Change: Disable local IRQs when calling for napi_schedule() from |
| bnx2x_sp_task(). |
| |
| Introduced: 1.60.17. |
| |
| Relevance: FCoE only. |
| |
| 4. Problem: (CQ56741, CQ56744, CQ56697, CQ56590) "Soft lockup". Caused by |
| race between dcb negotiation update flow and nic unload flow. |
| The dcb update flow, which is an element in the sp work queue |
| waits for rtnl lock in order to call bnx2x_setup_tc while nic |
| unload flow which takes the rtnl lock waits for the sp work |
| queue to be flushed. |
| |
| Change: The dcb negotiation update flow now schedules the call to the |
| bnx2x_setup_tc on the rtnl_sp task. |
| |
| 5. Problem: Possible problems in using fcoe and iscsi concurrently. The same |
| cid was assigned to both. |
| |
| Change: Allocate each its own cid. |
| |
| Introduced: 1.70.15. |
| |
| 6. Problem: Compilation failed on vanilla kernels below 2.6.33 when FCOE |
| module is selected. |
| |
| Change: Add appropriate #ifdef structure. |
| |
| Introduced: 1.70.15. |
| |
| Enhancements |
| ------------ |
| 1. Request: CQ56174 - Add AutogrEEEn support to 54618SE PHY. |
| |
| Relevance: 578xx. |
| |
| 2. Request: Support sharing of PFC configuration between functions |
| on the same port. |
| |
| Relevance: MF devices with DCB support. |
| |
| 3. Request: CQ54245 - Add Operational DCB state to GET_DCBX_PARAMS |
| structure. |
| |
| Relevance: 57712/578xx with DCB support. |
| |
| 4. Request: Add ability to Enable/Disable DCB according to remote |
| configuration/absence. |
| |
| Relevance: 57712/578xx with DCB support. |
| |
| 5. Request: Add statistics ramrods to EQ resources accounting. |
| |
| Version 1.70.16 (Jun 29, 2011) |
| ============================== |
| Internal FW: 7.0.23 |
| |
| Fixes: |
| ------ |
| 1. Problem: CQ56500 - ESX driver didn't compile. |
| |
| Change: Change the ESX grcDump function to use the standard functions |
| for disabling/clearing/enabling parity attentions. |
| |
| Introduced: 1.70.15. |
| |
| Relevance: ESX only. |
| |
| 2. Problem: CQ56438 - Tx timeout was hit when there was a parity error |
| and offloaded drivers (bnx2i/bnx2fc) loaded. It takes too long |
| for the offloaded drivers to close (CNIC_STOP) |
| bnx2x disabled a carrier after the CNIC_STOP completed. |
| |
| Change: Moved the bnx2x_tx_disable() call to be before the CNIC_STOP |
| call. |
| |
| Introduced: Day one. |
| |
| 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: CQ53144 - Repeating "NOHZ: local_softirq_pending 08" messages in |
| the syslog: NAPI softirq was scheduled on a local CPU but |
| ksoftirqd wasn't invoked. This was caused by calling the |
| napi_schedule() for the FCoE L2 ring from a workqueue and not |
| from the ISR as it is supposed to, which caused the above |
| phenomenon. |
| |
| Change: Disable local softirqs before napi_schedule() call |
| (local_bh_disable()) and then re-enable them |
| (local_bh_enable()). This will invoke the ksoftirqd if needed. |
| |
| Introduced: 1.60.17. |
| |
| Relevance: FCoE only. |
| |
| 5. Problem: In MF mode, when DCBX enabled, ifconfig down of PMF function |
| may cause stop traffic on other function. |
| |
| Change: Use generic scheme when configuring HW and FW for DCBX; |
| Protect function from going down during inappropriate state. |
| |
| Relevance: MF, DCBX only. |
| |
| 6. Problem: CQ56292 - bnx2x assert dump when setting MTU to 9000. This was |
| caused by an improper initialization of the fp->rx_buf_size for |
| none-FCoE rings which led to improper initialization of BD |
| buffer sizes for those rings. |
| |
| Change: Fix the code that initializes the fp->rx_buf_size value. |
| |
| Introduced: 1.70.08. |
| |
| Relevance: FCoE on ESX only (CNA). |
| |
| 7. Problem: CQ56531 - Kernel crash due to page fault. Num of queues supplied |
| to kernel erroneously included the iscsi queues which resulted |
| with kernel choosing a transmission queue index beyond the |
| boundary of the bxn2x's tx queues array. |
| |
| Change: Supply the kernel with correct number of tx queues. |
| |
| Introduced: 1.70.15. |
| |
| Relevance: iSCSI OOO (since kernels 2.6.34 or Red Hat 6.0). |
| |
| 8. Problem: CQ56582 - BCM57810 may exhibit link down when connected to KR |
| switch. |
| |
| Change: Don't overwrite the value for other reg. |
| |
| Introduced: 1.70.15. |
| |
| 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: CQ56507 - Panic Dump after DCBX negotiation completed. |
| |
| Change: (FW) Fix TX queue allocation scheme and DCB related firmware |
| flows. |
| |
| Introduced: 1.70.15 (FW 7.0.19). |
| |
| Relevance: 57712/57810A0/57840A0, when multiple-priorities is activated |
| together with DCB. |
| |
| 11. Problem: CQ54938 - Driver asserts on CFC delete command, when running |
| stress test against an Equalogic target, while issuing RESET_LUN |
| commands. |
| |
| Change: (FW iSCSI) Decrease activity counter in the cleanup flow, to |
| compensate for later activity counter increase. |
| |
| Introduced: 1.70.01 (FW 7.0.0). |
| |
| Relevance: iSCSI. |
| |
| 12. Problem: Basic FCoE over NIV is not working when there is inner vlan on |
| packet. |
| |
| Change: (FW ETH) Fixed the flow in NIV mode to change a zero inner vlan |
| vid to the NIV default vlan. |
| |
| Introduced: 1.70.15 (FW 7.0.21). |
| |
| Relevance: BCM57712/BCM578xx, only with NIV on packets with inner vlan. |
| |
| 13. Problem: CQ55328 - FCoE discovery does not work with ESX CNA device. |
| The ESX stack would complain about the number of filters for the |
| CNA NetQueue. |
| |
| Change: Call netif_set_poll_cna() after the FCoE NAPI structure has been |
| initialized. |
| |
| Introduced: 1.70.08. |
| |
| Relevance: ESX CNA only. |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Optimized the memory barriers usage in the slow path. |
| |
| 2. Request: Add AutogrEEEn support to 84833 PHY. |
| |
| 3. Request: Implement the netdev->ndo_fcoe_get_wwn(). |
| |
| Version 1.70.15 (Jun 22, 2011) |
| ============================== |
| Internal FW: 7.0.21 |
| |
| Fixes: |
| ------ |
| 1. 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. |
| |
| 2. Problem: Need to update T0000G to enable AutogrEEEn by default. |
| |
| Change: Updated T0000G to enable AutogrEEEn by default. |
| |
| Introduced: Day one. |
| |
| Relevance: T0000G boards. |
| |
| 3. 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 BP_FW_MB_IDX to be: |
| port_id + vnic_id*2. |
| |
| Introduced: Day one. |
| |
| Relevance: 4 port device (578xx) with active MF mode. |
| |
| 4. Problem: Wrong calculation of the available slow path elements. As a |
| result possible false "ring is full" messages and failures of |
| slow path commands. |
| |
| Change: Fixed the above calculations. |
| |
| Introduced: 1.70.12. |
| |
| 5. Problem: CQ56287 - STOP_ON_ERROR compilation was broken. |
| |
| Change: Make the bnx2x_int_disable() function public. |
| |
| Introduced: 1.70.13. |
| |
| 6. Problem: Compilation failed on 2.6.39 kernels. |
| |
| Change: Fix compat for the kernels. |
| |
| Introduced: 1.70.13. |
| |
| 7. Problem: CQ56325 - 57800 does not send LLDP frames. |
| |
| Change: Enable DCBX for 4-port devices. |
| |
| Introduced: 1.70.01. |
| |
| Relevance: 578xx 4 port devices. |
| |
| 8. Problem: Storm clocks were not initialized properly in E3. |
| |
| Change: (FW) Remove wrong clock initialization from init tool |
| and move it to MCP. |
| |
| Introduced: Version 1.70.13 (FW 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: (FW) Fix the flow by sending host-coalescing index update |
| only after the completion of the event-ring writing. |
| |
| Introduced: Version 1.70.01 (FW 7.0.0). |
| |
| 10. Problem: Basic FCoE on NPAR-SD was not working. |
| |
| Change: (FW-FCoE) Fixed the flow in NPAR-SD mode to add default vlan |
| also when there is vlan with vid=0 on packet. |
| |
| Relevance: BCM57712 and BCM578xx, only NPAR-SD mode. |
| |
| Enhancements |
| ------------ |
| 1. Request: Propagate WWN info up to bnx2fc driver. |
| |
| Relevance: FCoE only. |
| |
| 2. Request: CQ56040 - Enable DCBX on ESX5.0 and newer. |
| |
| Relevance: ESX with DCB only. |
| |
| 3. Request: Honor BAM on KR NVRAM config for 578xx. |
| |
| Relevance: 578xx KR only. |
| |
| 4. Request: CQ56086 - Integrate VMware ESX grcDump gdb patch. |
| |
| Relevance: ESX only. |
| |
| 5. Request: Add fan failure detection for 578xx-SFI |
| |
| Relevance: 578xx with fan mounted. |
| |
| 6. Request: Support multiple concurrent classes of service for network |
| traffic. Support mapping of skb priority to traffic class and |
| traffic class to transmission queue in kernel. Update said |
| mapping according to multi class queue discipline and DCBX |
| negotiaton. |
| |
| Relevance: Kernel 2.6.39 or Red Hat 6.1. |
| |
| |
| Version 1.70.14 (Jun 14, 2011) |
| ============================== |
| Internal FW: 7.0.20 |
| |
| Fixes: |
| ------ |
| 1. Problem: Possible spurious cnic interrupt. |
| |
| Change: Properly disable cnic sb. |
| |
| Introduced: 1.60.00. |
| |
| Relevance: (Theoretical) when CNIC is supported. |
| |
| 2. Problem: In NPAR-SD mode, VIF SET request for FCoE function takes more |
| than 40 seconds to be completed and ACKed back to the MCP. |
| |
| Change: Queue update ramrod sent to FCoE ring couldn't wait for |
| completion in the same context. Therefore, don't wait for |
| completion for this ramrod on FCoE ring. |
| |
| Introduced: 1.70.00. |
| |
| Relevance: FCoE in NPAR-SD mode. |
| |
| 3. Problem: In NPAR-SD mode, theoretically traffic can be dropped due to |
| early VIF SET ACK sent back to the switch. |
| |
| Change: Send VIF SET ACK from driver to MCP only after function update |
| ramrod is completed + all queue updates ramrods are completed. |
| |
| Introduced: 1.70.10 (when silent vlan removal was added). |
| |
| Relevance: NPAR-SD mode. |
| |
| 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. |
| |
| Version 1.70.13 (Jun 12, 2011) |
| ============================== |
| Internal FW: 7.0.20 |
| |
| Fixes: |
| ------ |
| 1. Problem: Driver might set NPAR-SD mf_mode even if that mode can't be |
| set. Driver sets NPAR-SD according to value written to NVRAM, |
| without considering error cases such as missing NVRAM images |
| etc. |
| |
| Change: Set mf_mode to NPAR-SD only if mac address in shmem is valid. |
| If address in shmem is valid, then MFW performed all checks |
| and found that mode as valid. |
| |
| Introduced: Day one. |
| |
| Relevance: NPAR-SD mode only. |
| |
| 2. Problem: Memory leak in during selftest. Driver mapped skb twice. |
| |
| Change: Do it once. |
| |
| Introduced: 1.70.09. |
| |
| 3. Problem: CQ55933 - ESX CNA enabled driver tries to configure Rx mode |
| for an FCoE ETH queue for NICs that do not support an FCoE. |
| |
| Change: Configure Rx mode for an FCoE ETH queue only for the NICs |
| that support FCoE (57712 and newer). |
| |
| Introduced: 1.70.08. |
| |
| Relevance: ESX CNA only. |
| |
| 4. Problem: CQ55928 - Tx traffic stop in DCB update flow. |
| |
| Change: (FW) Fix wrong address calculation in DCB update ramrod. |
| |
| Introduced: Version 1.70.09 (FW 7.0.16). |
| |
| Relevance: BCM57712 and BCM578xx, only when DCB is enabled and FCOE is |
| running. |
| |
| 5. Problem: No TX in Firmware WRR mode. |
| |
| Change: (FW ETH) Fix CoS mapping to VOQs. |
| |
| Introduced: Version 1.64.00 (FW 6.4.0). |
| |
| 6. 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 1.70.09 (FW 7.0.16). |
| |
| Relevance: iSCSI. |
| |
| 7. Problem: Chip may stop transmission after DCB update in NPAR-SD mode. |
| |
| Change: (FW FCoE) Fix firmware calculation of transmission credit. |
| |
| Introduced: Version 1.70.00 (FW 7.0.0). |
| |
| Relevance: FCoE, NPAR-SD mode. |
| |
| 8. Problem: VLAN packets are not received on kernels above 2.6.37. |
| |
| Change: Improper FW configuration. |
| |
| Introduced: Version 1.70.10. |
| |
| Relevance: When DCB enabled in NVRAM. |
| |
| 9. Problem: CQ56073 - PFC feature is not functional. |
| |
| Change: Fix handling of DCB negotiation. |
| |
| Introduced: Version 1.70.02. |
| |
| Relevance: 57712 only. |
| |
| 10. Problem: CQ56019 - Compilation fails on RHEL 6.1. |
| |
| Change: Fix bnx2x_compat.h. |
| |
| Introduced: Version 1.70.11. |
| |
| Enhancements: |
| ------------- |
| 1. Request: Update PMD settings for 578xx SFI/XFI/DXGXS according to the |
| new recommended values. |
| |
| 2. Request: Add support for 3 COSes for 578xx (B0) devices. |
| |
| 3. Request: Add elink_84833_hw_reset_phy function. |
| |
| Relevance: 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 1.70.12 (May 24, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ55655) WOL is not functional on functions 2-7. |
| |
| Cause: Incorrect register configuration. |
| |
| Change: Allow WOL via HW registers. |
| |
| Impact: Introduced in 1.64.01. |
| |
| 2. Problem: Undefined device behaviour when bringing up more |
| than 16 eth queues with CNIC enabled. |
| |
| Cause: Resource management mechanism does not allow more than 16 |
| queues without actual limiting the number. |
| |
| Change: Limit number of eth queues to 16. |
| |
| Impact: 57712 only. |
| |
| 3. 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 of I2C failure. |
| |
| Impact: 578xx SFI. |
| |
| 4. Problem: (CQ55748) Link loss during up/down test. |
| |
| Cause: Race in driver code causes it to get out of sync. |
| |
| Change: Fix assignment with the lock. |
| |
| 5. Problem: In NPAR-SD mode, iSCSI and FCoE MAC addresses for relevant |
| functions are zero. |
| |
| Cause: In NPAR-SD mode, iSCSI and FCoE MAC addresses were not taken |
| from shmem for functions in which these protocols are enabled. |
| |
| Change: If NPAR-SD mode is used and the function is iSCSI/FCoE enabled, |
| read suitable MAC addresses from shmem. |
| |
| 6. Problem: In NPAR-SD mode, default vlan tag might not be silently removed |
| by the FW. |
| |
| Cause: default vlan value and mask sent to FW in function update |
| ramrod (for NPAR-SD mode) includes 3 bits of priority. |
| |
| Change: default vlan value and mask in function update ramrod will |
| include only 12 bits of vlan id. |
| |
| 7. Problem: Parity recovery was broken. |
| |
| Cause: Improper handling of starting and termination of the |
| 'periodic_task'. |
| |
| Change: Ensure that only a PMF is running a periodic task. Stop a |
| periodic task when a function is shut down. |
| |
| Impact: Introduced in 1.70.09. |
| |
| 8. Problem: Chip may crush under PF FLR. |
| |
| Cause: Driver could get interrupt on a disabled function. |
| |
| Change: (In FW 7.0.18) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.70.00 (FW 7.0.0) |
| |
| 9. Problem: Improper device behaviour on BE platform. |
| |
| Cause: Use improper calculation for FW offsets. |
| |
| Change: Use FW offsets instead. |
| |
| Impact: Introduced in 1.64.01 |
| |
| 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 the accounting of the context-less SP commands and |
| those that complete on the FP Rx ring. |
| |
| Change: As requested. |
| |
| 3. Request: Reduce loading time when not in hotplug flow. |
| |
| Change: As requested. |
| |
| 4. Request: Updates the bnx2x_set_features() to handle loopback mode. |
| |
| Change: When enabled, it sets internal-MAC loopback. |
| |
| Impact: Backport from upstream. |
| |
| 5. Request: Add 20G supported display for ethtool. |
| |
| Change: As requested. |
| |
| 6. Request: (CQ55781) Allow GDB script to poke at the hardware registers. |
| |
| Change: As requested. |
| |
| Impact: ESX only. |
| |
| 7. Request: Reduce number of pcie transactions in high PPS rate scenarios. |
| |
| Change: (In FW 7.0.18) 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. |
| |
| 8. Request: Use FW 7.0.18. |
| |
| Change: As requested. |
| |
| Version 1.70.11 (May 18, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ55251) "BAD MCP validity signature" shown when device |
| hot-plugged. |
| |
| Cause: Race between FW initialization and driver load. |
| |
| Change: Let FW to complete initialization by adding msleep in driver. |
| |
| 2. Problem: TPA is not functional on platforms where |
| CONFIG_NEED_DMA_MAP_STATE is not defined. |
| |
| Cause: We used dma_unmap_addr_set() and dma_unmap_addr() macros for |
| internal storing and for further retrieving of the DMA mappings |
| which were then used for BDs configuration in the TPA Rx flow |
| while dma_unmap_addr() will always return zero on the mentioned |
| above platforms. |
| |
| Change: Don't use the mentioned above macros in flows others than |
| "map->unmap". |
| |
| Impact: TPA only. Introduced in 1.70.09. |
| |
| 3. Problem: Compilation failed on SLES11 SP1 update 1. |
| |
| Cause: Conflict on backported feature. |
| |
| Change: Fix bnx2x_compat.h. |
| |
| Impact: SLES11 SP1 update 1 only. |
| |
| 4. Problem: Wrong link LED when speed lower than 10G on 578xx devices. |
| |
| Cause: Incorrect LED mode setting. |
| |
| Change: Set correct LED mode setting. |
| |
| Impact: 578xx devices only. |
| |
| 5. Problem: One queue is not selected for transmission in kernels |
| below 2.6.38. |
| |
| Cause: Incorrect mapping function. |
| |
| Change: Fix compat to implement mapping similar to 2.6.38. |
| |
| Impact: Kernels below 2.6.38 with multi queue support. |
| |
| 6. 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. |
| |
| Change: Added the missing bits handling to the parity recovery code. |
| |
| 7. Problem: Compilation failed on RHEL 5.7. |
| |
| Cause: Conflict on backported feature. |
| |
| Change: Fix in bnx2x_compat.h. |
| |
| 8. Problem: (CQ55312) DMAE timeout message shown in the syslog when loading |
| the first function on the port. |
| |
| Cause: BMAC was reset after the NIG-to-BRB channel was open and before |
| the FW was initialized. This caused the parity error in TCM. |
| |
| Change: Reset BMAC before opening NIG-to-BRB channel. |
| |
| Impact: Introduced in 1.70.04. |
| |
| Enhancements |
| ------------ |
| 1. Request: Optimize buffer mapping manipulations in the TPA flow. |
| |
| Change: As requested. |
| |
| 2. Request: Don't use atomic bit operations unless needed. |
| |
| Change: As requested. |
| |
| 3. Request: Propagate the CFC_DEL ramrod error code up to CNIC. |
| |
| Change: As requested. |
| |
| |
| Version 1.70.10 (May 5, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: LRO failure in IPv6 case. |
| |
| Cause: Erroneous calculation of lro_mss size for IPv6 case. |
| |
| Change: Fix LRO MSS calculation in IPv6 case. |
| |
| Impact: 57712 and newer IPv6 LRO only. |
| |
| 2. Request: Potential link issue. |
| |
| Cause: Incorrect code alignment led to bad PHY struct initialization. |
| |
| Change: Fix PHY struct initialization. |
| |
| Impact: Introduced on 1.70.09. |
| |
| 3. Request: Potential inconsistent link state report towards OS. |
| |
| Cause: Possible race between netdev->open() and link attention |
| handling flows both reporting link state towards OS. |
| |
| Change: Protect the link reporting code with the same locking scheme |
| as used for the link state handling protection. |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 7.0.17. |
| |
| Change: As requested. |
| |
| 2. Request: Employ silent vlan removal feature. |
| |
| Change: Silent vlan removal use: |
| 1. In NPAR-SD mode silently remove the default vlan. |
| 2. In ESX Network Plug-in Architecture silently remove the NPA |
| default vlan. |
| 3. When DCB is enabled in kernels which don't treat vlan-0 as |
| non-vlan use silent vlan removal to: |
| a. Remove vlan 0 with priority 0 if non fcoe queue. |
| b. Remove vlan 0 with any priority if fcoe queue. |
| |
| 3. Request: Do not add VLAN tag or modify the priority of an explicit vlan |
| tag of packets with TC_PRIO_CONTROL value in the skb priority. |
| |
| Change: As requested. |
| |
| Version 1.70.09 (May 3, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ53629) System spontaneously reboots. |
| |
| Cause: PCI/DMA address mapping error not properly handled by driver, |
| which may cause chip to access improper addresses in host |
| memory. |
| |
| Change: Add proper handling for mapping errors. |
| |
| 2. Request: (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. |
| |
| Change: 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: Storms get stuck shortly after a single-engine recovery. |
| |
| Cause: Functions were not unloading against MCP in case of parity |
| error thus later LOAD request was always returning a FUNCTION |
| load code. This lead to improper HW/FW initialization. |
| |
| Change: Added unloading against the MCP in case of parity error. |
| |
| Impact: 57712 and newer only. Introduced in 1.70.06. |
| |
| 4. Problem: Kernel panic when handling egress UDP packet for which checksum |
| offload has been requested. |
| |
| Cause: The above case hasn't been properly handled in the code. |
| |
| Change: Add a proper handling for the above case. |
| |
| 5. Problem: In case of VLAN removal of a first small packet in TPA |
| aggregation, driver may access uninitialized address. |
| |
| Cause: Firmware places a corrupted RX completion element in this case. |
| |
| Change: (in FW 7.0.16) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.02 (FW 6.4.0). |
| |
| 6. Problem: (FCoE)(CQ54302) Unexpected FW behavior causes driver assert. |
| |
| Cause: Task SP-RAM address is not updated and the thread uses wrong |
| SP-RAM address. |
| |
| Change: (in FW 7.0.16) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.02 (FW 6.4.0). |
| |
| 7. Problem: (FCoE)(CQ53330) on 578XX 4-port mode FW causes driver assert. |
| |
| Cause: The firmware KCQEs on wrong EQ. |
| |
| Change: (in FW 7.0.16) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.70.01 (FW 6.4.0). 578XX 4-port only. |
| |
| 8. Problem: (CQ53924) Ethtool Self Test fails loopback test. |
| |
| Cause: Unmapping of dma memory was not performed before accessing it. |
| |
| Change: Added unmap of the relevant memory. |
| |
| 9. 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. |
| |
| Change: 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. |
| |
| 10. Problem: (DCB)(CQ54899) PMF migration may cause DCB get out-of-sync. |
| |
| Cause: Driver did not update port structure correctly. |
| |
| Change: Fixed DCB update code. |
| |
| Impact: Introduced in 1.70.06. |
| |
| 11. Problem: The following error is logged as soon as bnx2fcd service is |
| started: "kernel: 8021q: device eth# has buggy VLAN hw accel". |
| |
| Cause: Under Red Hat 6.1 the bnx2x was compiled assuming the netdev |
| centralized handling of hardware acceleration exists in kernel. |
| |
| Change: Changed the bnx2x to compile using the old scheme of handling |
| of hardware acceleration in RH6.1. |
| |
| Impact: RH6.1 |
| |
| 12. Problem: (CQ53276) 578xx ethtool display and settings are not done per |
| board type. |
| |
| Cause: Missing distinctions between various Warpcore interfaces. |
| |
| Change: Check Warpcore network interface during init stage, and update |
| the supported network attributes accordingly. |
| |
| Impact: 578xx |
| |
| 13. 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. |
| |
| Change: Initialize this flag during synchronization |
| |
| 14. Problem: ethtool will not show the correct media type after |
| PMF migration and changing the SFP+ module type |
| |
| Cause: Media type was not synchronized after it is changed |
| |
| Change: Synchronize media type between PMF and non-PMF |
| |
| Impact: SFP+ based boards. |
| Introduce on 1.64.19 |
| |
| 15. Problem: Over-current message displays with port0 instead of port1 on |
| 57712 SFP+ devices. |
| |
| Cause: 57712 port enumeration is per path. |
| |
| Change: Set the correct port number of the over-current display message |
| according to the device type. |
| |
| Impact: 57712 with SFP+ boards. |
| |
| 16. Problem: Possible dead locks in slow path flows involving interface |
| toggling. |
| |
| Cause: vlan_mac object was using spin_lock() semantics instead of |
| spin_lock_bh() semantics while it may be called under a spin |
| lock with BHs disabled in the ndo_set_rx_mode() flow. |
| |
| Change: Fixed the mentioned above code. |
| |
| Impact: Introduced in 1.70.06. |
| |
| 17. Problem: A possible deadlock in flows involving the DMAE operations. |
| |
| Cause: We protected the DMAE engine with mutex (suspends a task when |
| lock can't be taken) in the bnx2x_issue_dmae_with_comp() |
| function while it is also called under a spinlock in the |
| ndo_set_rx_mode() flow. |
| |
| Change: Protect the above DMAE engine with a spinlock instead of a |
| mutex. |
| |
| Impact: Introduced in 1.70.06. 57712 and newer in the NPAR mode only. |
| |
| Enhancements |
| ------------ |
| 1. 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. |
| |
| 2. Request: Disable FCoE and DCB on unsupported platforms. |
| |
| Change: Determine allowed platforms by kernel version. |
| |
| Impact: FCoE/DCB. |
| |
| 3. Request: Add over-current check for 578xx |
| |
| Change: As requested |
| |
| Impact: 578xx |
| |
| 4. 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. |
| |
| 5. Request: Use FW 7.0.16. |
| |
| Change: As requested. |
| |
| 6. Request: Write driver version string to specified offset in scratchpad |
| for NC-SI OEM commands. |
| |
| Change: Read scratchpad offset from ncsi_oem_data_addr field of shmem2. |
| Then, write driver version to appropriate offset. |
| |
| 7. Request: Remove zeroing of Ram0 from driver as it is performed by init |
| tool. |
| |
| Change: Removed relevant code and the defines. |
| |
| |
| Version 1.70.08 (Apr 11, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: Possible chip hang in case of parity error in QM. |
| |
| 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. |
| |
| Change: Change reset order of PXP and QM blocks so that PXP is reset |
| before QM. |
| |
| Impact: During error recovery flow of QM parity attention only. |
| Introduced in 1.53.1. |
| |
| 2. Problem: Tx of a CNA netdev wasn't properly disabled. |
| |
| Cause: Typo in a bnx2x_tx_disable(). |
| |
| Change: Fix the above typo. |
| |
| Impact: ESX CNA only. Introduced in 1.64.13. |
| |
| 3. Problem: Fairness issue between functions 0, 1 and functions 2,3 on |
| 57840 4x10G. |
| |
| Cause: BRB threshold registers weren't initialized properly. |
| |
| Change: Use reset values of BRB threshold registers. |
| |
| Impact: 57840 4-Port only. |
| |
| 4. Problem: CNIC module would try to load iSCSI and/or FCoE despite invalid |
| MF/MAC configuration of the appropriate. |
| |
| Cause: bnx2x_register_cnic() overwrites cnic_eth_dev->drv_state. |
| |
| Change: Do not overwrites cnic_eth_dev->drv_state in |
| bnx2x_register_cnic(). |
| |
| Impact: iSCSI and FCoE only. |
| |
| 5. Problem: Possible inconsistent rx_mode state for iSCSI L2 queue. |
| |
| Cause: Both BNX2X_FILTER_ISCSI_ETH_START_SCHED and |
| BNX2X_FILTER_ISCSI_ETH_STOP_SCHED bits might be set, which in |
| line might cause the situation when the rx_mode that is finally |
| configured is not the one that has been requested the last. |
| |
| Change: Clear the already pending state when configuring the new one. |
| |
| Impact: iSCSI L2 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: Possible pending SP ramrod completion after FUNC_STOP ramrod is |
| sent. |
| |
| Cause: Missing protection when checking bits in bnx2x_wait_sp_comp(). |
| |
| Change: Added the protection with netif_addr_lock for the mentioned |
| check. |
| |
| Impact: Introduced in 1.64.00. |
| |
| 8. Problem: (CQ54422) Compilation Failed on RHEL 6.1. |
| |
| Cause: Backported features complict. |
| |
| Change: Adopt features in compat. |
| |
| 9. Problem: Potentioal race in NPAR-SD mode might cause sending of function |
| update ramrod before function start ramrod is completed. |
| |
| Cause: LOAD_DONE message to MCP is sent before function start ramrod. |
| LOAD_DONE request starts VIF initialization process that |
| ends with VIF_SET request from the switch that triggers |
| function update ramrod. |
| |
| Change: Perform function start ramrod before sending LOAD_DONE message |
| to MCP. |
| |
| Enhancements |
| ------------ |
| 1. Request: Add CNA dummy device. |
| |
| Change: As requested. ESX 5.x only. |
| |
| 2. Request: Integrate the upstream "Support for managing RX indirection |
| table" patch by Tom Herbert implementing the support for |
| ethtool -X/-x options. |
| |
| Change: Integrated the mentioned patch taking into the account all |
| remarks of the netdev people about this patch. |
| |
| 3. Request: Add 1G support for XFI serdes network interface type of |
| Warpcore |
| |
| Change: As requested |
| |
| Impact: 578xx - XFI |
| |
| Version 1.70.07 (Apr 04, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: TX fault LED doesn't work upon module validation. |
| |
| Cause: Incorrect GPIO assignment. |
| |
| Change: Fix GPIO setting that controls the TX fault LED. |
| |
| Impact: 578xx - SFP+. |
| |
| 2. Problem: DAC may not link up. |
| |
| Cause: Register read was missing after setting EDC mode. |
| |
| Change: Read EDC register after setting it. |
| |
| Impact: 578xx - DAC. |
| |
| 3. Problem: Parity errors prevent device from load on |
| emulation environment. |
| |
| Cause: Emulation environment limitation. |
| |
| Change: Disable parity on emulation environment. |
| |
| Impact: Emulation environment only. |
| |
| 4. 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. |
| |
| 5. 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. |
| |
| Change: (In FW 7.0.15) Fixed relevant firmware rate shaping bytes |
| calculation for duplicated TX packets. |
| |
| Impact: Introduced in 1.64.01 (FW 6.4.0). |
| |
| 6. 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. |
| |
| Change: (In FW 7.0.15) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.70.00 (FW 7.0.0). |
| |
| 7. Problem: When TPA 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. |
| |
| Change: (In FW 7.0.15) Added the required verification. |
| |
| Impact: Introduced in 1.64.01 (FW 6.4.0). |
| |
| 8. Problem: (FCoE) FCoE on physical port 1 can't be enabled. |
| |
| Cause: Wrong cos allocation. |
| |
| Change: (In FW 7.0.15) Fixed relevant firmware flow. |
| |
| Impact: 57810/57840 only. Introduced in 1.70.00 (FW 7.0.0). |
| |
| 9. Problem: (iSCSI) Chip hangs upon arrival of iSCSI packet with split |
| digest. |
| |
| Cause: Firmware sends erroneous hardware read command. |
| |
| Change: (In FW 7.0.15) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.70.00 (FW 7.0.0). |
| |
| Enhancements |
| ------------ |
| 1. Request: Add an ability for a separate configuration of internal (Tx) |
| switching filtering options. |
| |
| Change: As requested. |
| |
| Impact: SRIOV and virtualization only. |
| |
| Version 1.70.06 (Mar 29, 2011) |
| ============================== |
| |
| 1. Problem: (CQ53274) Pci names are incorrect/inaccurate. |
| |
| Cause: Pci names are not updated. |
| |
| Change: Removed 57713 et al. Added 578xx family with MF and VF flavors. |
| |
| 2. Problem: (DCB MF) PMF migration caused to lose DCBX results. |
| |
| Cause: DCBX results is hidden from other PFs. |
| |
| Change: Add DCBX notification mechanism during PMF migration. |
| |
| 3. Problem: (DCB) Static configuration is not properly handled. |
| |
| Cause: Static configuration flow does not handle HW interrupt, because |
| of state where DCBX initialization performed. |
| |
| Change: Move DCBX initialization to the end of nic_load. |
| |
| Impact: DCBX involved flows. |
| |
| 4. Problem: (CQ53768) Kernel panic at bnx2x_cnic_reuse_ooo_pkt. |
| |
| Cause: Wrong arithmetics on Tx HW consumer for a Forwarding ring. |
| |
| Change: Fixed the above arithmetics. |
| |
| Impact: iSCSI OOO only. Introduced in 1.64.00. |
| |
| 5. Problem: (CQ53347) Data does not validate reported while running Chariot |
| for RH6.0 x64. |
| |
| Cause: In case of VLAN removal of a first packet in TPA aggregation, |
| firmware may add padding bytes in the middle of the packet. |
| |
| Change: (in FW 7.0.14) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.70.00. |
| |
| 6. 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. |
| |
| Change: (in FW 7.0.14) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.70.00. |
| |
| 7. 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 |
| |
| Change: Initialize AEU before collecting the group of signals in |
| charge for generating interrupts |
| |
| Impact: BCM8726 based boards |
| Introduced in 1.52.50 |
| |
| 8. Problem: (CQ54040) Unable to perform iSCSI login. |
| |
| Cause: Missing iSCSI L2 and Netq MAC ramrods completion handling. |
| |
| Change: Added a missing code. |
| |
| Impact: iSCSI and ESX only. |
| |
| 9. Problem: bnx2x_func_state_change() and bnx2x_queue_state_change return a |
| negative value while PENDING (1) value should be returned. |
| |
| Cause: test_bit(nr, vec) returns all-F's if nr is a variable and the |
| requested bit is set. |
| |
| Change: Chaged test_bit(nr, vec) to !!test_bit(nr, vec) when nr is a |
| variable. |
| |
| Impact: Introduced in 1.64.08. |
| |
| 10. Problem: If MCP sends to driver second NPAR-SD event before first one |
| handling is done, no NPAR-SD events will be handled since now |
| on. |
| Note that second event from MCP while first one is not done |
| yet should not happen due to "one pending" mode, but it is good |
| practice to handle both messages if such a scenario occures |
| in some way. |
| |
| Cause: drv_status field was checked to match exact value instead |
| of bit masking the value to match various events. |
| |
| Change: Check drv_status bits to know which NPAR-SD events should be |
| handled. |
| |
| Impact: NPAR-SD mode only. |
| |
| 11. Problem: (CQ52000 & CQ51697 Cont.) XAUI short detection mechanism only |
| applies to 10G. |
| |
| Change: Remove 1G XAUI short detection. |
| |
| Impact: 8727 and 8706 PHYs. |
| |
| Enhancements |
| ------------ |
| 1. Request: Enable CL37 1G parallel detect |
| |
| Change: As requested. |
| |
| Impact: 578xx KR. |
| |
| 2. Request: (CQ53138) Disable fairness algorithm, when ETS is enabled. |
| |
| Change: As requested. |
| |
| 3. Request: Use FW 7.0.14. |
| |
| Change: As requested. |
| |
| 4. Request: Configure netdev unicast addresses list. |
| |
| Change: As requested. |
| |
| 5. Request: Add a support for a parity errors recovery for 57712 and newer. |
| |
| Change: As requested. |
| |
| 6. Request: Add MOD_ABS support for 578xx SFP+ modules |
| |
| Change: As requested. |
| |
| 7. Request: Invert OPTRXLOS signal on SFP/XFP interface for 578xx |
| |
| Change: As requested. |
| |
| Version 1.70.05 (Mar 17, 2011) |
| ============================== |
| ***** This version does not support CNIC ***** |
| |
| 1. Problem: (CQ53457) in MF mode actual TX max bandwidth differs from |
| configured for the device. |
| |
| Cause: non-pmf function has overwritten configuration according to |
| 10G link speed in UP flow. |
| |
| Change: Fix device load flow for non-pmf functions. |
| |
| Impact: MF mode with link speed other than 10G. |
| |
| 2. Problem: (CQ5772) (NPAR) Some configuration of Bandwidth Weight and |
| Maximum Bandwidth is 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. |
| |
| Change: Increase MAX algorithm timeout from 100usec to 400usec. |
| |
| Impact: Introduced in 1.64.09. |
| |
| 3. Problem: (CQ52834) (iSCSI) connection/login issues in DCBX environment. |
| |
| Cause: Erroneous context override by firmware. |
| |
| Change: (in FW 7.0.12) Fixed relevant firmware flow. |
| |
| Impact: DCBX environment only. |
| |
| 4. Problem: (CQ53526) (NPAR) Driver asserts while running iSCSI/L2 traffic. |
| |
| Cause: Forward channel configured for TX switching. |
| |
| Change: Disable TX switching for FWD channel. |
| |
| Impact: NPAR mode. |
| |
| 5. Problem: (CQ53414) bnx2x reports link down when loaded. |
| |
| Cause: The code was set to report the link state on load time. |
| |
| Change: Assume the link is down when loading and only report link up |
| after loading. |
| |
| 6. Problem: (CQ53427) ethtool reports incorrect info for 10GE Passive |
| Copper Cable connections |
| |
| Cause: Cable type was not taken into consideration |
| |
| Change: Determine port type using cable type information acquired from |
| external SFP+ module if exists |
| |
| Impact: SFP+ type |
| |
| 7. 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). |
| |
| 8. Problem: Ethtool self test idle check tests erroneously for active |
| connections. |
| |
| Cause: 1. Input registers were confused. |
| 2. Connection type bit offset has changed since 57712. |
| |
| Change: Converted self test idle check to work with static record array |
| Corrected register confusion and location of connection type. |
| |
| Impact: Saved 18% off linux driver compilation time. |
| |
| 9. Problem: Rx and Tx coalescing timeout parameters are reversed. |
| |
| Cause: Parameters passed erroneously between functions. |
| |
| Change: Swapped parameters in function call. |
| |
| Impact: Bug exists in all bnx2x versions supporting interrupt |
| coalescing. |
| |
| 10. Problem: (CQ52887) Interrupt test using ethtool's self test fails. |
| |
| Cause: The ramrod, RAMROD_CMD_ID_ETH_EMPTY, is used for both the |
| interrupt test and NetQueue commands. When self test is |
| ran, the NetQueue would always intercept this ramrod but |
| not complete the command. |
| |
| Change: Do not explicitly intercept the EMPTY ramrod in the netq code. |
| Instead use the appropriate SP queue object to send the EMPTY |
| ramrod. |
| |
| Impact: ESX only. |
| |
| 11. Problem: ethtool shows the wrong port connected. |
| |
| Cause: Dual media port presentation was swapped. |
| |
| Change: Show the active port. |
| |
| Impact: Dual media board. |
| |
| 12. Problem: (CQ53303, CQ52600) Firmware doesn't support FLR on both ports |
| on the same path simultaneously on 578xx. |
| |
| Cause: The Flr flow hold some variables only for the last port |
| treated. |
| |
| Change: (in FW 7.0.13) Added an array to hold separate variables |
| for each port. |
| |
| Impact: Only 578xx. |
| |
| 13. Problem: FCoE doesn't identify function in NPAR-SD mode. |
| |
| Cause: FW use MAC classification. |
| |
| Change: (in FW 7.0.13) Classify function according to ID. |
| |
| Impact: Introduced in 1.70.01. |
| |
| 14. Problem: (iSCSI) Chip hangs upon arrival of iSCSI packet with |
| FIN flag set. |
| |
| Cause: Tstorm signals Ustorm to release same BRB block twice. |
| |
| Change: (in FW 7.0.13) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.01. |
| |
| Enhancements |
| ------------ |
| 1. Request: Add initial support for 1G over fiber. |
| |
| Change: As requested. |
| |
| Impact: 578xx fiber. |
| |
| 2. Request: (CQ50798) Add support for BCM8722. |
| |
| Change: As requested. |
| |
| 3. Request: Allow set speed in NPAR mode when device still closed. |
| |
| Change: As requested. |
| |
| 4. Request: Use FW 7.0.13. |
| |
| Change: As requested. |
| |
| 5. Request: Use DCBNL app-list to store negotiated app tlvs. |
| |
| Change: As requested. |
| |
| 6. Request: Add support for DCBNL peer information. |
| |
| Change: As requested. |
| |
| 7. Request: Honor GPIO configuration values on Tx laser control, |
| on top of existing EPIOs. |
| |
| Change: As requested. |
| |
| Impact: 578x0 SFP+ designs. |
| |
| 8. Request: Link support for Everest 57810 + 84833B0PHY. |
| |
| Change: As requested. |
| |
| Impact: Everest 57810 + 84833B0PHY combination can pass traffic for |
| testing. |
| |
| 9. 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. |
| |
| 10. 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. |
| |
| 11. Request: Support added for E3 + 84833B0 PHY firmware upgrade. |
| |
| Change: As requested. |
| |
| Impact: E3 + 84833B0 PHY combinations. |
| |
| 12. Request: Disable Tx switching for 57712/578xx. |
| |
| Change: As requested. |
| |
| Impact: 57712/578xx in NPAR mode, ESX. |
| |
| Version 1.70.04 (Mar 01, 2011) |
| ============================== |
| ***** This version does not support CNIC ***** |
| Fixes |
| ----- |
| 1. Problem: (CQ53258) Ethtool self test fails loopback_test (offline) |
| when run on the copper ports |
| |
| Cause: Test was done over 10G rather than 1G, and test did not wait |
| long enough for the link to come up |
| |
| Change: When speed capability doesn't include 10G, then perform the |
| self test using 1G. In addition, for PHY loopback test, wait |
| for the link to come and not assuming it is already up. |
| |
| Impact: 57800 copper ports |
| |
| 2. 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 |
| |
| Version 1.70.03 (Feb 24, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: ethtool -t under heavy traffic may show idle_check error. |
| |
| Cause: idle_check mistakenly reported error. |
| |
| Change: Fix idle_check routine. |
| |
| 2. Problem: (CQ53143) Configuring a primary ETH MAC with ifconfig tool |
| didn't clear the old MAC configuration. |
| |
| Cause: Missing code that clears the old MAC configuration. |
| |
| Change: Added a missing code. |
| |
| Impact: Introduced in 1.64.00. |
| |
| 3. Problem: (CQ51593) Statistics are inaccurate on 578xx devices. |
| |
| Cause: Improper handling data from MSTAT HW block. |
| |
| Change: Fix data handling. |
| |
| Impact: 578xx only. |
| |
| 4. Problem: "DMAE timeout" appears in syslog and chip halts. |
| |
| Cause: Improper HW initialization sequence. |
| |
| Change: (v2) Fixed relevant init sequence. |
| |
| Impact: Introduced in 1.70.00. |
| |
| 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 1.70.02 (Feb 21, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ52452, CQ50960) VLAN stripping is not enabled for higher |
| functions when function 0 is not up. |
| |
| Cause: Function ID field was always set to zero in UPDATE ramrod data. |
| |
| Change: Properly configure the above field in the ramrod data. |
| |
| Impact: Multi-function only. Introduced in 1.64.00. |
| |
| 2. Problem: NULL pointer dereference in a flow of closing iSCSI L2 queue. |
| |
| Cause: SW bug that caused cnic handler routine not to be called for |
| CFC_DEL ramrod completion of iSCSI L2 queue. |
| |
| Change: Fix the above SW bug. |
| |
| Impact: iSCSI only. Introduced in 1.70.01. |
| |
| 3. 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. |
| |
| 4. Problem: (CQ52023) Driver asserts with HW attention. |
| |
| Cause: Traffic type to priority/COS table was reset after link down |
| by driver causing transmission on the wrong COS. |
| |
| Change: (In FW 7.0.10) Removing the table in RAM from HSI section. |
| |
| Impact: Introduced in 1.64.00 (FW 6.4.0). |
| |
| 5. 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. |
| |
| Change: (In FW 7.0.10) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.9 (FW 6.4.15). |
| BCM57710/57711/57711E only. |
| |
| 6. Problem: System crash under TCP traffic when driver is toggling TPA. |
| |
| Cause: Firmware bug. |
| |
| Change: (In FW 7.0.10) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.03 (FW 6.4.7). |
| |
| 7. Problem: Firmware aggregated packets with wrong checksum. |
| |
| Cause: Firmware didn't check checksum as a requirement |
| for aggregation. |
| |
| Change: (In FW 7.0.10) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.0 (FW 6.4.0). |
| |
| 8. 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. |
| |
| 9. Problem: Possible packet corruption when resetting the primary interface |
| when there are VLAN interfaces configured for this interface. |
| |
| Cause: VLAN HW acceleration (stripping) is configured after Rx packets |
| are allowed at the end of netdev->open(). |
| |
| Change: Configure VLAN stripping in Client SETUP if there are VLAN |
| interface already configured for this interface. |
| |
| Impact: Kernels below 2.6.37. Introduced in 1.62.01. |
| |
| 10. 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 1.70.01. |
| |
| 11. 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. |
| |
| Change: Set value to 0 in that register if link is disabled. |
| |
| Impact: 578xx. |
| |
| 12. 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. |
| |
| Change: Changed to determine the 4-port mode by reading the |
| override register. |
| |
| Impact: 578xx. |
| |
| 13. 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. |
| |
| 14. Problem: (CQ51417) ethtool -t may cause device to hang. |
| |
| Cause: Race in interrupt handling during self test. |
| |
| Change: Wait for SP completions in load flow to avoid the race. |
| |
| Impact: Introduced in 1.64.01. |
| |
| 15. Problem: Drivers assert while transmitting packets. |
| |
| Cause: Firmware lose packets synchronization during transmission |
| (Xstorm Assert). |
| |
| Change: (In FW 7.0.11) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.10. (FW 6.4.15). 57712/578xx only. |
| |
| 16. 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 TPA is enabled. |
| |
| Cause: Firmware wrongly places padding bytes on RX SGEs. |
| |
| Change: (In FW 7.0.11) Fixed relevant firmware flow. |
| |
| Impact: Exists 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. |
| |
| 17. Problem: "DMAE timeout" appears in syslog and chip halts. |
| |
| Cause: Improper HW initialization sequence. |
| |
| Change: Fixed relevant init sequence. |
| |
| Impact: Introduced in 1.70.00. |
| |
| 18. Problem: ethtool -t fails on 578xx B0. |
| |
| Cause: test accessed unexistent registers. |
| |
| Change: remove improper access. |
| |
| Impact: 578xx only. |
| |
| Enhancements |
| ------------ |
| 1. Request: Remove support for 57710 emulation and FPGA. |
| |
| Change: As requested. |
| |
| 2. Request: Add performance improvements to Ethernet TX flows in BCM57711. |
| |
| Change: (In FW 7.0.10) Added optimizations in TX flow. |
| |
| 3. Request: Use FW 7.0.11. |
| |
| Change: As requested. |
| |
| 4. 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. |
| |
| 5. Request: Collect FW TPA statistics: aggregations, bytes in |
| aggregations and a number of aggregated network frames. |
| |
| Change: As requested. |
| |
| Version 1.70.01 (Feb 07, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: Potential wrong PHY initialization when loading the first |
| function on a port, after another function from this port was |
| unloaded. |
| |
| Cause: In this case, the driver won't lock PHY access, which may cause |
| MDC/MDIO collision. |
| |
| Change: Initialize the lock flag on the probe stage, instead of the |
| common and port init stage. |
| |
| Impact: Multi-function mode. |
| |
| 2. 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. |
| |
| 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. |
| |
| Change: Set TXONOFF_PWRDN_DIS accordingly. |
| |
| Impact: 8727PHY and 8706PHY based boards with TX laser controlled by |
| GPIO_0. |
| |
| 4. 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. |
| |
| Change: (in FW 7.0.9) Fixed relevant firmware flow. |
| |
| Impact: BCM57710, BCM57711 and BCM57711E only. |
| |
| 5. Problem: (iSCSI) Chip hangs when running iSCSI IOs bigger than 32KBs. |
| |
| Cause: Firmware bug. |
| |
| Change: (in FW 7.0.9) Fixed relevant firmware flow. |
| |
| Impact: Introduced in 1.64.01 (FW 6.4.0). |
| |
| 6. Problem: 57710 constantly get a parity errors in PBF and TM blocks |
| during TCP/UDP traffic. |
| |
| Cause: False parity errors in the above blocks. PBF and TM blocks |
| parity error attentions are not implemented in 57710. |
| |
| Change: Don't enable parity attentions in the PBF and TM blocks on |
| 57710. |
| |
| Impact: 57710 only. Introduced in 1.70.00.04. |
| |
| 7. Problem: The atempt to configure iSCSI MAC address would cause a "NULL |
| pointer dereference" error when CNIC module was loaded before |
| L2 interface is opened. |
| |
| Cause: iSCSI L2 MAC object was initialized before bp->slowpath memory |
| was allocated (bp->slowpath was NULL at that stage). So, as |
| long as the object used references to bp->slowpath memory, it |
| caused the above error, when we tried to utilize it. |
| |
| Change: Move iSCSI L2 MAC object initialization from bnx2x_cnic_probe() |
| to the DRV_CTL_START_L2_CMD callback. |
| |
| Impact: iSCSI L2 only. Introduced in 1.64.00. |
| |
| 8. Problem: iSCSI L2 queue wasn't receiving any packet. |
| |
| Cause: Rx mode of this queue didn't have ACCEPT_ANY_VLAN option. |
| Therefore FW filtered every packet by VLAN (assuming untagged |
| frames having VLAN_ID 0) and as long as there were no HW VLAN |
| acceleration configured, no frames were delivered to iSCSI L2 |
| queue. |
| |
| Change: Added ACCEPT_ANY_VLAN option to iSCSI L2 queue rx mode. |
| |
| Impact: iSCSI UIO only. Introduced in firmware version 1.64.00. |
| |
| 9. Problem: (CQ52656) In NPAR mode "ethtool -t ethX" does not report error |
| on some partitions while no link. |
| |
| Cause: Link is not tested for non PMF partitions. |
| |
| Change: Allow link testing for non PMF partitions. |
| |
| Impact: NPAR mode only. |
| |
| 10. Problem: (CQ52402) In NPAR mode setting some speed via ethtool -s causes |
| device to hang. |
| |
| Cause: FW configured with illegal configuration. |
| |
| Change: Limit allowed speed to range from 1%-100% of actual line speed. |
| |
| Impact: NPAR mode only. |
| |
| 11. Problem: (CQ51417) Running ethtool -t causes the interface to hang. |
| |
| Cause: Link test was checked according to 57711/2 scheme rather than |
| 578xx. |
| |
| Change: Test link according to the chip type. |
| |
| Impact: BCM578xx. |
| |
| 12. Problem: Possible problems with buffers mapping in iSCSI OOO flow on |
| kernels 2.6.34 and newer. |
| |
| Cause: Improper mapping functions used (pci_xxx instead of dma_xxx). |
| |
| Change: Use the proper mapping functions in the above flow. |
| |
| Impact: iSCSI OOO only. Kernels 2.6.34 and newer. |
| Introduced in 1.60.15. |
| |
| Enhancements |
| ------------ |
| 1. Request: Add autoneg parallel detect and pause support for 578xx KR. |
| |
| Change: As requested. |
| |
| Impact: 578xx-KR. |
| |
| 2. Request: Use FW 7.0.9. |
| |
| Change: As requested. |
| |
| 3. Request: Set default number of rx buffers to be divided equally |
| between rx queues to decrease amount of pre-allocated buffers |
| on systems with multiple CPUs. |
| |
| Change: As requested. |
| |
| 4. Request: Configure a mini-jumbo (2500) MTU for FCoE L2 ring. Don't |
| change it when NIC's MTU changes. |
| |
| Change: As requested. |
| |
| 5. Request: Call for a cnic handler routine for CFC_DEL ramrod completion |
| of iSCSI L2 queue. |
| |
| Change: As requested. |
| |
| Version 1.70.00.4 (Jan 19, 2011) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: VIF_LIST_GET request in NPAR-SD mode responded always with zero |
| value. |
| |
| Cause: drv mailbox param value was cleared after valid value was |
| written, and therefore zero was read by the MCP and sent |
| to the switch. |
| |
| Change: Fix the logic. |
| |
| Impact: NPAR-SD mode only. |
| |
| 2. 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 only; Requires bootcode 7.0.0.0/6.4.3 and above. |
| |
| 3. Problem: Statistics is not displayed correctly on 578xx. |
| |
| Cause: Improper initialization. |
| |
| Change: Fix initialization flow. |
| |
| Impact: 578xx only. |
| |
| 4. Problem: NPAR-SD packets did not reach MCP after driver is loaded. |
| |
| Cause: NIG registers initialization by the driver did not mark that |
| NPAR-SD tag header can be included in rx packets, and overwrote |
| value inserted by the MCP. |
| |
| Change: Write correct value to that register in NPAR-SD mode. |
| |
| Impact: NPAR-SD mode only. |
| |
| 5. Request: BCM8727 Link LED not functioning properly during BACS LED test. |
| |
| Change: Not blinking correct link light. |
| |
| Impact: BCM57712 + BCM8727 based boards. |
| |
| 6. Problem: (CQ51134) NC-SI 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 to resolve this problem |
| PHY firmware upgrade will require reboot from now on. |
| |
| 7. 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. |
| |
| 8. Problem: ESX - CNIC 'change MTU' would fail or result in a PSOD. |
| |
| Cause: Mismatched module IDs for request/free IRQ. |
| |
| Change: Masquerade as CNIC when cnic ops are called form bnx2x. |
| |
| Impact: ESX only. |
| |
| 9. Problem: (NPAR, FCoE) FCoE MAC wasn't read in NPAR mode. |
| |
| Cause: Missing code. |
| |
| Change: Add the missing code. |
| |
| Impact: FCoE in NPAR mode only. |
| |
| 10. Problem: (iSCSI) If iSCSI offload is requested in switch dependent MF |
| mode zero MAC would be configured for iSCSI L2 queue. |
| |
| Cause: Bug in a driver. |
| |
| Change: Prevent the configuration of an illegal MAC. |
| |
| Impact: iSCSI in switch dependent mode only. |
| |
| 11. Problem: (CQ51413) Driver crashed, when number of queues was set to a |
| value smaller than a default one due to SAFC configuration. |
| |
| Cause: Broken connection between an SAFC initialization and a memory |
| allocation code. |
| |
| Change: Fixed the above flaw. |
| |
| Impact: SAFC only. Introduced in 1.62.06. |
| |
| 12. Problem: "Statistics sequence counter out of order" storm assert. |
| |
| Cause: Race between the LINK_UP event handler and the timer which both |
| are calling the bnx2x_storm_stats_post() thus sending |
| consequent statistics ramrods without waiting for a |
| completion of the first. Therefore FW will read the ramrod data |
| of the second ramrod while handling the first one, which will |
| cause the above assert. |
| |
| Change: Prevent the above race. |
| |
| 13. Problem: Possible sending of a spurious MSI-X message after MSI-X is |
| disabled. |
| |
| Cause: MSI-X configuration wasn't properly cleared when MSI-X was |
| disabled. |
| |
| Change: Properly clear MSI-X configuration. |
| |
| Impact: Introduced in 1.60.28. |
| |
| 14. Problem: Kernel panic when loading bnx2x with int_mode=1 and |
| disable_iscsi_ooo=1. |
| |
| Cause: INT#x ISR was scheduling iSCSI OOO ring's NAPI regardless |
| NO_ISCSI_OOO flag. |
| |
| Change: Consider NO_ISCSI_OOO flag before scheduling iSCSI OOO ring's |
| NAPI. |
| |
| Impact: Introduced in 1.64.07. |
| |
| 15. Problem: XSTORM assert due to wrong values in XSTORM RAM, occurring |
| 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 in bnx2x_init_hw_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). |
| |
| 16. Problem: In NPAR-SD mode - DCBX configuration was not updated in FW. |
| |
| Cause: Relevant implementation was removed as a workaround because |
| of the side effects it caused. Those side effects were caused |
| by two bugs resolved in this version (problem #12 and problem |
| #15 above). |
| |
| Change: Re-enable DCBX configuration implementation in NPAR-SD mode |
| (remove workaround that prevented it). |
| |
| Impact: NPAR-SD mode only. |
| |
| 17. Problem: 578xx B0 can't receive traffic in SD mode. |
| |
| Cause: Inverted port configuration. |
| |
| Change: Fix port configuration. |
| |
| Impact: 578xx B0 only. |
| |
| 18. Problem: (FCoE) There was no licensing for FCoE. |
| |
| Cause: Missing FCoE licensing handling code. |
| |
| Change: Added the missing code. |
| |
| Impact: FCoE only. |
| |
| 19. Problem: (NIV) VIF_SET ack was sent twice from driver to MCP and |
| causing logic errors. |
| |
| Cause: Wrong implementation that if bnx2x_func_state_change returns |
| non zero value it is an error, while in fact only negative |
| value is error. |
| |
| Change: Assume error only if bnx2x_func_state_change returns negative |
| value. |
| |
| Impact: NPAR-SD only. |
| |
| 20. Problem: 57840: 4 port mode is not functional. |
| |
| Cause: Incorrect initialization for this mode. |
| |
| Change: Fix driver and FW (7.0.7) initialization. |
| |
| Impact: 57840 only. |
| |
| 21. Problem: 57840: 4 port mode - Grc-timeout appears in syslog. |
| |
| Cause: Statistics HW is not properly initialized. |
| |
| Change: Init MSTAT1 correctly. |
| |
| Impact: 57840 4 port mode only. |
| |
| 22. Problem: DMAE timeout after a few modprobe->ifup->rmmod iterations. |
| |
| Cause: PGLUE_B was disabled before BMAC reset is completed. |
| |
| Change: Fixed the relevant driver flow. |
| |
| Impact: Introduced in 1.64.08. |
| |
| 23. Problem: a. rx error packets detailed in ethtool were increasing all |
| the time while NPAR-SD session is up. |
| b. rx error packets detailed in NPAR-SD protocol |
| STATS_ARRAY_GET request were increasing all the time while |
| NPAR-SD session is up (in UIF type request only). |
| |
| Cause: all NPAR-SD messages reached host, but are destinated to vif_id |
| of the MCP which is unknown to FW. Therefore, FW marks these |
| packets as per port mf_tag_discard packets. |
| |
| Yet, these per port statistics were also counted in PMF's |
| per func statistics as rx error packets, and were also |
| sent as rx error bytes in per port stats request of NPAR-SD |
| protocol. |
| |
| Change: a. Don't count per port mf_tag_discard/outer_vlan_discard |
| packets as per func rx error packets of the PMF. |
| b. Don't count per port mf_tag_discard/outer_vlan_discard |
| packets as per port rx error packets sent in stats |
| request of NPAR-SD protocol. |
| |
| 24. Problem: The module date was not updated since 2010/08/01. |
| |
| Cause: The date was moved to another source file which did not updated |
| it automatically on submission to the version control system. |
| |
| Change: Update the file properties so the version control system will |
| update the date automatically. |
| |
| Impact: Introduced in 1.60.32. |
| |
| 25. Problem: 578xx unable to link after unload-load sequence. |
| |
| Cause: Incomplete reset sequence. |
| |
| Change: Fix reset sequence. |
| |
| Impact: 578xx. |
| |
| 26. Problem: 578xx 4-port: load/unload test fails when compiled with CNIC. |
| |
| Cause: Inappropriate client_id configuration for non eth clients. |
| |
| Change: Fix initialization for 4-port mode. |
| |
| Impact: 578xx 4port. |
| |
| 27. 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. |
| |
| 28. Problem: Unable to receive multicast frames on high functions in a |
| multi-function mode. |
| |
| Cause: approx_mcast_engine_id was not properly initialized in setup |
| ramrod data. |
| |
| Change: Fixed the relevant driver code. |
| |
| Impact: Mutli-function mode only. |
| |
| 29. Problem: 578xx 4-port: load/unload test fails when compiled with CNIC. |
| |
| Cause: Inappropriate client_id configuration for non eth clients. |
| |
| Change: Fix initialization for 4-port mode. |
| |
| Impact: 578xx 4port. |
| |
| 30. Problem: ifup returned error when device has illegal iSCSI mac. |
| |
| Cause: FCoE/iSCSI features were enabled even with illegal mac. |
| |
| Change: Disable the features if mac is illegal. |
| |
| Impact: 57712 SF mode. |
| |
| 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: (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. |
| |
| 3. Request: Increase RX ring size to 512 when using Jumbo Frames. |
| |
| Change: As requested. |
| |
| Impact: ESX only. |
| |
| 4. Request: Enable OOO by default and have the OOO ring match |
| in size with a RX ring. |
| |
| Change: As requested. |
| |
| Impact: ESX only. |
| |
| 5. Request: Add statistics collection for NPAR-SD, and copy results to |
| expected location in scratchpad if requested by the MCP |
| due to request from the switch. |
| |
| Change: Added NPAR-SD fields to qstats strcuture and |
| collecting info for these fields each time stats are |
| collected. When requested by the switch, writing relevant |
| fields to exact location in scratchpad according to NPAR-SD |
| protocol. |
| |
| Impact: NPAR-SD enabled boards only. |
| |
| 6. Request: Support for 578XX B0. |
| |
| Change: As requested. |
| |
| 7. Request: Use FW 7.0.8. |
| |
| Change: As requested. |
| |
| 8. Request: Add dcbnl implementation supporting the FW DCBX engine. |
| |
| Change: As requested. |
| |
| Impact: 57712 only. |
| |
| 9. Request: Support SGMII with 54618SE GPHY for 57800. |
| |
| Change: As requested. |
| |
| Impact: Devices 3 and 4 of 57800 and small Warpcore changes only. |
| |
| 10. Request: Get all CNIC related info from shmem in the bnx2x. |
| |
| Change: As requested. |
| |
| Impact: iSCSI and FCoE only. |
| |
| 11. Request: Replace ethtool stats counter "rx_outer_vlan_discard" name |
| with "rx_mf_tag_discard". |
| |
| Change: As requested. |
| |
| 12. 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 |
| |
| 13. Request: Support multi-function and DCBX in 4 ports mode (BCM578xx). |
| |
| Change: (In FW 7.0.8) As requested. |
| |
| Version 1.64.10 (Dec 7, 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: 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 |
| |
| Change: Fixed the relevant firmware flow |
| |
| Impact: Introduced in 1.64.08 |
| |
| 3. Problem: A possible dead-lock situation between sch_direct_xmit() and |
| bnx2x_run_loopback() (calling bnx2x_tx_int()) on |
| netif_tx_lock() |
| |
| Cause: Both functions above take a netif_tx_lock() but |
| bnx2x_run_loopback() is called in a syscall context and takes a |
| lock without disabling BHes on a local CPU, which may cause a |
| dead lock as long as sch_direct_xmit() is called in a |
| soft_irq() context |
| |
| Change: Explicitly disable local BHes in bnx2x_run_loopback() to |
| prevent a mentioned above dead-lock situation |
| |
| Impact: Introduced in 1.60.25 |
| |
| 4. Problem: (MF) ethtool -s speed has no effect in multi-function mode |
| |
| Cause: Address calcutated using func_id instead of vn_id |
| |
| Change: Fix address calculation |
| |
| Impact: Introduced in 1.64.09, MF only |
| |
| 5. Problem: ethtool -t failed on sigle port boards and 57712 (nvram test) |
| |
| Cause: Erroneous access to unexistent port info |
| |
| Change: remove the access |
| |
| 6. Problem: All ingress packets were dropped by 57712 on Big Endian |
| machines |
| |
| Cause: Rx mode wasn't properly configured for 57712 on Big Endian |
| machines |
| |
| Change: Fix Rx mode configuration code for 57712 |
| |
| Impact: Introduced in 1.64.00, 57712 only |
| |
| 7. Problem: PCI bus error when trying to transmit LSO packets from 57712 on |
| Big Endian machines |
| |
| Cause: Parsing BD parsing_data field was malformed when running |
| 57712 on Big Endian machines |
| |
| Change: Fix the code handling the parsing_data field of a parsing BD |
| for 57712 |
| |
| Impact: Introduced in 1.53.0a, 57712 only |
| |
| 8. Problem: Kernel panic when receiving in none-MSI-X interrupt mode |
| |
| Cause: Indirection table was configured with none-existing queues when |
| MSI-X was not attainable and RSS queues set was cut to a single |
| queue. The reason for the above was an improper location of |
| SAFC initialization code and usage of the SAFC parameters for |
| the indirection table configuration despite the fact that an |
| SAFC MF mode was not requested/not available |
| |
| Change: Don't use SAFC parameters unless SAFC MF mode is requested |
| |
| Impact: Introduced in 1.64.00 |
| |
| 9. Problem: Single connection performance is much lower than expected in |
| 57712 |
| |
| Cause: The firmware uses a malfunctioning bit in the HW for single |
| connection optimization |
| |
| Change: The firmware uses a different bit with similar functionality |
| |
| Impact: Introduced in 1.64.00 when the optimization was |
| implemented. Doesn't cause any penalty compare to older |
| versions |
| |
| 10. 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 |
| |
| Change: Fixed relevant firmware flow |
| |
| Impact: FCoE only. Exist in all previous FCoE releases |
| |
| 11. 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 PHY |
| |
| 12. Problem: Statistics were updated in wrong counters |
| |
| Cause: The per-queue statistic address was miscalculated |
| |
| Change: Fixed address calculation |
| |
| Impact: Introduced in 1.64.00 |
| |
| 13. Problem: Firmware assert will occur when LSO packets is duplicated |
| in case Tx-switching is enabled and packet is sent without VLAN |
| |
| Cause: Firmware looses synchronization with packet index which is |
| enforced by firmware for debugging purposes |
| |
| Change: Fixed relevant firmware flow |
| |
| Impact: Introduced in 1.64.00 |
| |
| 14. Problem: L2 packets which are duplicated in case Tx-switching is enabled |
| may be counted twice in the Tx statistics |
| |
| Cause: Firmware counts statistics each time a transmission command is |
| sent to hardware, even if the duplicated packet was already |
| sent |
| |
| Change: Fixed relevant firmware flow |
| |
| Impact: Introduced in 1.64.00 |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 6.4.16 |
| |
| Change: As requested |
| |
| 2. Request: Integrate VLAN enhancements from the net-next |
| |
| Change: As requested |
| |
| 3. Request: Use slow path function object mechanism to synchronize |
| between function stop ramrod to NPAR-SD ramrods, instead of |
| sleep work around in NPAR-SD mode used today |
| |
| Change: As requested. Logic was added to function object |
| |
| 4. Request: Remove unrequired clearance of specific VIF from NIV VIF lists |
| if that function is unloaded from host side (as anyway |
| VIF_LIST_SET commands will be sent from switch). |
| |
| Change: Don't call FW NIV_VIF_LISTS ramrod for the sub command of |
| VIF_LIST_RULE_CLEAR_FUNC from the driver unload flow |
| |
| 5. Request: Use NIV_VIF_LISTS hsi new echo field to distinguish in ramrod |
| completion flow for which sub command the respones is relevant, |
| instead of using a bp dedicated field for that |
| |
| Change: As requested (instead of using last_viflist_req_to_fw field). |
| |
| 6. Request: treat NPAR-SD driver_niv_support as a global shmem2 field, and |
| write its value only in LOAD_COMMON flows |
| |
| Change: As requested |
| |
| 7. Request: Add a support for TPA over IPv6 for 57712 and above |
| |
| Change: As requested |
| |
| Impact: Introduced in 1.64.10. 57712 and above only |
| |
| 8. Request: Support for forward connection traffic in NPAR-SD mode |
| |
| Change: TX packets are sent with destination field, on NPAR-SD tag |
| header, which is equal to the source VIF value |
| |
| Impact: NPAR-SD mode is supported in BCM57712 only |
| |
| 9. Request: Enable Tx switching for 57712 |
| |
| Change: As requested |
| |
| Impact: 57712 in NPAR mode only |
| |
| Version 1.64.09 (Nov 18, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: CRC errors are seen with line-rate traffic on BCM578xx |
| |
| Cause: Warpcore microcode was not loaded, and its clock wasn't |
| synchronized well |
| |
| Change: Load Warpcore microcode and apply clock compensation |
| This change is a temporary work-around which will be embedded |
| in the bootcode later on |
| |
| Impact: 578xx Only |
| |
| 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 |
| |
| Change: 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: 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 |
| |
| Change: (in FW 6.4.13) Fixed relevant firmware flow |
| |
| Impact: Introduced in 1.64.01 (in FW 6.4.0) |
| |
| 4. Problem: 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 |
| |
| Change: (in FW 6.4.13) Fixed relevant firmware flow |
| |
| Impact: BCM57711 only, introduced in 1.64.05 (in FW 6.4.7) |
| |
| 5. Problem: TPA does not aggregate packet when RSS disable |
| |
| Cause: Wrong initialization by firmware |
| |
| Change: (in FW 6.4.13) Fixed firmware initialization |
| |
| Impact: Introduced in 1.64.06 (in FW 6.4.9) |
| |
| 6. Problem: (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 |
| |
| Change: (in FW 6.4.13) Fixed relevant firmware flow |
| |
| Impact: BCM57710 only, introduced in 1.64.01 (in FW 6.0.0) |
| |
| 7. Problem: Compilation failed on RH5.6 |
| |
| Cause: Redefinition of backported function |
| |
| Change: Remove the definition from bnx2x code for RH5.6 |
| |
| Enhancements |
| ------------ |
| 1. Request: Add NPAR-SD support |
| |
| Change: As requested |
| |
| 2. Request: (CQ49959) Request to log event log in case the PHY does |
| not come out of reset, and MDC/MDIO timeout |
| |
| Change: As requested |
| |
| 3. Request: (CQ51065) NPAR mode: change Max BW from units of "intervals of |
| [100Mbps]" to units of "% of physical link speed" |
| |
| Change: As requested |
| |
| Impact: NPAR mode only |
| |
| 4. Request: (FCoE) Synchronize all storms with ABTS operation before the |
| transmission of ABTS packet, in order to avoid potential races |
| |
| Change: As requested |
| |
| |
| Version 1.64.08 (Nov 08, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: 4-port MF/SF combined mode on 578xx is not functional |
| |
| Cause: Improper HW initialization |
| |
| Change: Common for both ports HW properly configured |
| |
| Impact: 578xx only |
| |
| 2. Problem: Compilation failed on 2.6.36 kernels |
| |
| Cause: Improper conditions in bnx2x_compat.h layer |
| |
| Change: Fix condition for functions' definitions |
| |
| 3. Problem: (CQ50903) Driver prints some debug info when dcbx enabled |
| |
| Cause: Debug info printed with error dbg level |
| |
| Change: Remove the prints |
| |
| 4. Problem: 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 |
| |
| Change: (in FW 6.4.10) Fixed firmware flow |
| |
| Impact: Introduced in 1.64.00 |
| |
| 5. Problem: Firmware doesn't work correctly for 2 TCP connections with the |
| same toeplitz hash result, when TPA is enabled |
| |
| Cause: The firmware wrongly invalidated the aggregation for the first |
| connection, when a packet from the second connection arrived |
| |
| Change: (in FW 6.4.10) Fixed firmware flow |
| |
| Impact: Introduced in 1.64.03 |
| |
| 6. Problem: (CQ50722) When more than 16 TPA aggregations are open, |
| aggregations might not close properly |
| |
| Cause: The firmware miscalculated the TPA timer address |
| |
| Change: (in FW 6.4.10) Fixed firmware flow |
| |
| Impact: Introduced in 1.64.03 |
| |
| |
| 7. Problem: (iSCSI, CQ50380) Event viewer shows NOP events |
| |
| Cause: TCP window is closed and initiator cannot properly process |
| incoming in-order packets |
| |
| Change: (in FW 6.4.10) Fixed firmware flow |
| |
| Impact: Introduced in 1.64.00 |
| |
| 8. Problem: False bug-check when trying to set speed in NPAR mode when link |
| is down |
| |
| Cause: The FW should be configured only after the physical link is up |
| |
| Change: Do not configure the FW while link is down with the new speed |
| settings |
| |
| Impact: 57712 NPAR mode only |
| |
| 9. Problem: (iSCSI) in NPAR mode devices have incorrect iSCSI mac address |
| |
| Cause: Mac address is taken from port configuration |
| |
| Change: Take the addreses from NPAR configuration |
| |
| Impact: 57712 NPAR mode only |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 6.4.11.1 |
| |
| Change: As requested |
| |
| |
| Version 1.64.07 (Nov 03, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: No RSS in a multi-function mode |
| |
| Cause: RSS engine ID was not initialized in Client SETUP ramrod data |
| |
| Change: Set RSS engine ID in the SETUP ramrod data |
| |
| Impact: Introduced in 1.64.00. 57711 and 57712 only |
| |
| 2. Problem: (CQ50624) Race between the netdev->open() and the last part of |
| pci_dev->probe() that configures the interrupt mode and adds |
| NAPIs causes kernel panic |
| |
| Cause: Improper operations order: netdev_register() should be called |
| after driver is completely configured |
| |
| Change: Move all driver initializations before the netdev_register() |
| call |
| |
| Impact: Introduced in 1.60.28 |
| |
| Enhancements |
| ------------ |
| 1. Request: Unify the slow path flows for all types Client |
| |
| Change: Handle iSCSI OOO slow path in a NAPI (interrupt driven instead |
| of polling as it used to) |
| |
| 2. Request: Add support for 57800 HW |
| |
| Change: As requested |
| |
| 3. Request: Add hw statistics support for 578xx |
| |
| Change: As requested |
| |
| 4. Request: (CQ50053) Add "Dual Media Support" section to README/Man pages |
| |
| Change: As requested |
| |
| Version 1.64.06 (Oct 27, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ49515, CQ50024) Occasionally losing link on force 10/100 |
| connections on BCM84823 based boads |
| |
| Cause: Not waiting for GPHY to complete reset |
| |
| Change: Add 50ms delay after 84823 PHY comes out of reset |
| |
| Impact: BCM84823 based boards |
| |
| 2. Problem: (CQ50559) Build fails with RHEL6 kernel |
| |
| Cause: Redefinition of backported function |
| |
| Change: Remove the definition for RH kernels |
| |
| Impact: Introduced in 1.64.05 |
| |
| 3. Problem: (iSCSI OOO) When in MF mode, Hardware may get PCI error in case |
| of iSCSI out-of-order flow |
| |
| Cause: Firmware set the wrong PCI function ID |
| |
| Change: Fixed firmware flow in FW 6.4.9 |
| |
| Impact: Introduced in 1.64.03, 57712 iSCSI OOO only |
| |
| 4. Problem: (CQ50483) Chip got stuck during stress test |
| |
| Cause: Context was not initialized correctly by the Firmware |
| |
| Change: Fix the initialization in FW 6.4.9 |
| |
| Impact: Introduced in 1.64.03, BCM57710/11/11E only |
| |
| 5. Problem: (FCoE) Trying to transmit from invalid host memory address |
| |
| Cause: Receiving incorrect FCP_XFR_RDY second packet |
| |
| Change: Rejecting the second FCP_XFR_RDY packet for the specific task |
| |
| Impact: Introduced in 1.64.00. FCoE only |
| |
| 6. Problem: (FCoE) False timer REC_TOV expiration |
| |
| Cause: Inappropriate advance of timer counter |
| |
| Change: Fixed firmware flow in FW 6.4.9 |
| |
| Impact: Exists in all previous FCoE releases |
| |
| 7. Problem: (FCoE) Transmitting FCP_DATA frames with wrong OX_ID |
| |
| Cause: Changing OX_ID once REC_TOV expiration is detected |
| |
| Change: Fixed firmware flow in FW 6.4.9 |
| |
| Impact: Exists in all previous FCoE releases |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 6.4.9 |
| |
| Change: As requested |
| |
| |
| Version 1.64.05 (Oct 20, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: ESX Non LRO net-queues were still aggregating incoming TCP |
| frames |
| |
| Cause: net-queues not reserved for LRO were not internally marked |
| as such (tpa not disabled) |
| |
| Change: correctly disable tpa for such queues |
| |
| Impact: ESX only |
| |
| 2. Problem: RX broken in MF SD mode |
| |
| Cause: Improper hw configuration |
| |
| Change: Write correct values to HW registers |
| |
| Impact: Intoduced in 1.64.04 |
| |
| 3. Problem: Link up event is not reported to the OS |
| |
| Cause: Inconsistent link report state handling |
| |
| Change: Change the link report state handling |
| |
| 4. Problem: (ESX, PR379952/PR405074) FW asserts on invalid value in a VLAN |
| field in the start BD (xmit flow) |
| |
| Cause: The first sg element might not contain all the headers |
| |
| Change: Do a simple check and if this holds pull tail on the skb |
| |
| Impact: ESX only. This may happen only when the VMs are using 3.0.x |
| tools |
| |
| 5. Problem: Broadcast packets can be received on the wrong L2 client |
| |
| Cause: Classification flow was using "unmatched unicast" flag also |
| for broadcast packets |
| |
| Change: Fixed firmware flow |
| |
| Impact: 57710 only. Introduced in 1.64.03 |
| |
| 6. Problem: When more than 16 TPA aggregations are open, aggregations are |
| not closed properly |
| |
| Cause: Firmware miscalculated the address for the TPA timers |
| |
| Change: Fixed firmware flow |
| |
| Impact: Introduced in 1.64.03 |
| |
| 7. Problem: (FCoE) RRQ frame was not sent after abort operation |
| |
| Cause: Corrupted ABTS ACC frame reported to the driver |
| |
| Change: Firmware updates the correct R_CTL field in task context |
| |
| Impact: Introduced in 1.64.00 |
| |
| 8. Problem: (CQ49968) DMAE timeout on specific system during init |
| |
| Cause: The DMAE can take up to 200ms to complete on some systems |
| |
| Change: Update the DMAE timeout from 2ms to 200ms |
| |
| 9. Problem: Incorrect HW statistic on 578xx |
| |
| Cause: Read stats from inexistent address |
| |
| Change: Adopt statistics collection to avoid reading from the address |
| |
| Impact: 578xx only |
| |
| Enhancements |
| ------------ |
| 1. Request: (CQ49997) Implement Bandwidth allocation for Nic partitioning |
| mode |
| |
| Change: As requested |
| |
| Impact: 57712 only |
| |
| 2. Request: Use FW 6.4.8 |
| |
| Change: As requested |
| |
| 3. Request: Properly calculate the LRO MSS value (needed for TCP delayed |
| ACK handling) |
| |
| Change: As requested |
| |
| 4. Request: Add support for BCM57810/57840 adapters |
| |
| Change: As requested |
| |
| |
| Version 1.64.04 (Oct 14, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ49886) MC Assert on 57710 with more than 4 queues |
| |
| Cause: ESX does not align physical memory to requested size. Thus ILT |
| pages do not adhere to 57710 alignment requirements |
| |
| Change: Allocate extra memory and manually align CDU ILT pages. Define |
| ILT pages for all other clients to be 4K |
| |
| Impact: ESX only |
| |
| 2. Problem: (CQ49827, CQ49844) pNic Link/Unlink test fails when the pNic |
| eventually fails to load |
| |
| Cause: During load skb allocation for L2 queues is stopped on the |
| first failure. If this happens on the default queue before a |
| minimal number of skbs were successfully allocated nic load |
| fails |
| |
| Change: Do not break upon first skb allocation failure. Fail only if |
| after queues size allocation attempts not enough skbs were |
| successfully allocated |
| |
| Impact: ESX only |
| |
| 3. Problem: (CQ50208) ESX4.0/4.1 pNic statstics are not updated |
| |
| Cause: Using a local statistics structure for ESX instead of the |
| net_device statistics structure |
| |
| Change: Use the correct statistics structure for ESX |
| |
| Impact: ESX only |
| |
| 4. Problem: (CQ49826) Wrong skb queue mapping passed to hard_xmit |
| |
| Cause: FCoE L2 queue is not disabled and is used by the stack |
| |
| Change: Disable FCoE L2 queue for E1x in general and all devices in |
| ESX |
| |
| Impact: ESX only |
| |
| 5. Problem: ethtool -S shows all possible queues including disabled queues |
| such as FCoE or queues with no stats such as iSCSI OOO queues |
| |
| Cause: ethtool statistics call-backs iterate over all queues. |
| |
| Change: Iterate only over L2 queues and FCoE queue if not disabled. |
| |
| 6. Problem: (ESX) packets received on a net queue may arrive after its |
| filters are removed |
| |
| Cause: filter removal completion is not syncronized with the |
| net-queue fast-path completions |
| |
| Change: Send a flush command for the net-queue after deleting the |
| filter and before returning from the filter removal call-back |
| |
| Impact: ESX only |
| |
| 7. Problem: (CQ50308) Compilation failure on RHEL6RC1 |
| |
| Cause: Definition of list_rotate_left in bnx2x_compat.h for all |
| kernels from 2.6.34 |
| |
| Change: Remove the definitions for non IOV kernels |
| |
| |
| Version 1.64.03 (Oct 11, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (ESX) MSI-X was disabled forever after NIC down/up sequence |
| |
| Cause: MSI-X was explicitly disabled in the bnx2x_close() in ESX |
| driver |
| |
| Change: Cancel the explicit MSI-X disabling |
| |
| Impact: ESX only |
| |
| 2. Problem: (CQ50033) Link remains down on the PMF despite the DCC |
| "link up" indication |
| |
| Cause: DCC event handler wasn't handling the event for the PMF |
| |
| Change: Fix the DCC event handler code |
| |
| Impact: 57711 and 57712 only |
| |
| 3. Problem: (iSCSI) Occasional HW attentions in iSCSI OOO offload/upload |
| scenarios |
| |
| Cause: When multiple consecutive packets are sent on L2 forward |
| connection, firmware might incorrectly manage internal |
| transmission credit |
| |
| Change: Fixed in FW 6.4.6 |
| |
| Impact: Introduced in 1.64.00 (FW 6.2.0) |
| |
| 4. Problem: LSO packets with large contiguous buffers may not be properly |
| sent to the network |
| |
| Cause: Firmware didn't calculate the number of segments to be sent to |
| the network for LSO packet with large contiguous buffers |
| correctly |
| |
| Change: Fixed in FW 6.4.6 |
| |
| Impact: Introduced in 1.64.02 (FW 6.4.5) |
| |
| 5. Problem: (FCoE) FCP_XFR_RDY verification failure leads to the task abort |
| |
| Cause: Error in a verification procedure in the second FCP_XFR_RDY |
| packet on a single task |
| |
| Change: Fixed in FW 6.4.6 |
| |
| Impact: Introduced in 1.64.00 (FW 6.4.0) |
| |
| 6. Problem: Malicious VF detection flow may cause memory corruption on |
| TX processor |
| |
| Cause: Bug in relevant firmware flow |
| |
| Change: (Fixed in FW 6.4.7) Fixed firmware flow |
| |
| Impact: Introduced in 1.64.00 (FW 6.4.0) |
| |
| 7. Problem: (FCoE)(CQ50211) InvalidCrcCount value after collecting |
| statistics |
| |
| Cause: Wrong statistics collection in firmware |
| |
| Change: (Fixed in FW 6.4.7) Fixed firmware flow |
| |
| Impact: Introduced in 1.64.00 (FW 6.4.0) |
| |
| 8. Problem: (FCoE)(CQ50267) ABTS sent with incorrect RX_ID value |
| |
| Cause: Firmware reported incorrect task information when detecting |
| the error |
| |
| Change: (Fixed in FW 6.4.7) Fixed firmware flow |
| |
| Impact: Introduced in 1.64.00 (FW 6.4.0) |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 6.4.7 |
| |
| Change: As requested |
| |
| |
| Version 1.64.02 (Sep 27, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (FCoE) panic dump while opening FCoE connection |
| |
| Cause: FCoE ramrods were counted on incorrect SPE pool |
| |
| Change: Use L5 pool |
| |
| Impact: Introduced in 1.64.00 |
| |
| 2. Problem: Wrong statistic counter might be updated |
| |
| Cause: (Fixed in FW 6.4.5) In client init the queue statistic address |
| might be calculated wrongly |
| |
| Change: Fixed the calculation in client init |
| |
| Impact: Introduced in 1.64.00 (FW 6.2.1) |
| |
| 3. Problem: Congestion management doesn't work properly in case of a single |
| L2 connection scenario on 57712 |
| |
| Cause: In case of a single connection L2 firmware didn't allow pausing |
| transmission which is needed for the congestion management |
| functionality |
| |
| Change: (Fixed in FW 6.4.5) Firmware now considers congestion |
| management decision to pause transmission |
| |
| Impact: Introduced in 1.64.00 (FW 6.2.1) |
| |
| 4. Problem: The firmware returned the wrong error state for Ethernet |
| ramrods |
| |
| Cause: The code in Xstorm didn't save error state correctly |
| |
| Change: (Fixed in FW 6.4.5) Fixed the relevant flow |
| |
| Impact: Introduced in 1.64.00 (FW 6.2.0) |
| |
| 5. Problem: PF FLR could hang the chip |
| |
| Cause: The firmware didn't return activity counter to CFC correctly |
| |
| Change: (Fixed in FW 6.4.5) Fixed the relevant flow |
| |
| Impact: Introduced in 1.64.00 (FW 6.2.0) |
| |
| 6. Problem: (CQ49299, PR57004) HW stuck after 8 hours of heavy LSO traffic |
| |
| Cause: When driver send an LSO packet with total length longer than |
| 64K, the firmware calculate the total SGL length in a uint16 |
| variable |
| which overlaps and causing an erroneous PBF command |
| |
| Change: (Fixed in FW 6.4.5) Change the counter to be uint32 |
| |
| 7. Problem: 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 |
| |
| Change: (Fixed in FW 6.4.5) Fixed the relevant flow |
| |
| Impact: Exists in all previous releases that support dcb updates |
| |
| Enhancements |
| ------------ |
| 1. Request: Port a new way L2 FW handles FCoE and FIP packets |
| |
| Change: Starting from FW 6.4.4 L2 FW forwards FCoE and FIP frames to |
| FCoE L2 client unconditionally. This means that there is no |
| need to configure any MAC for an FCoE L2 client any more. So, |
| all such code has been swept out |
| |
| Impact: Introduced in 1.64.00 (FW 6.4.4) |
| |
| 2. Request: Use FW 6.4.5 |
| |
| Change: As requested |
| |
| Version 1.64.01 (Sep 20, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. 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 |
| |
| 2. Problem: Failed to load high functions in MF mode |
| |
| Cause: bnx2x was trying to configure the HC for the default SB, which |
| doesn't have it (during FCoE ETH ring configuration) |
| |
| Change: Exclude HC configuration from FCoE ETH ring initialization |
| |
| 3. Problem: After "Fix 2" packets were silently dropped on the receive side |
| in a SD MF mode |
| |
| Cause: Tx OUTER VLAN was not properly configured |
| |
| Change: Properly configure Tx OUTER VLAN in the function start ramrod |
| |
| 4. 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. |
| |
| Change: Clear NIG latched attention during driver unload |
| |
| Impact: BCM84823 based boards |
| |
| 5. Problem: False link up indication on boards with BCM84823 PHYs |
| |
| Cause: Not waiting until PHY has come out of reset |
| |
| Change: Poll on reset bit. Timeout after 1 second |
| |
| Impact: BCM84823 based boards |
| |
| 6. Problem: iSCSI OOO didn't work over VLAN |
| |
| Cause: Inconsistent Client configuration and fast path functions |
| implementation for OOO Client in regard to HW VLAN |
| acceleration |
| |
| Change: Don't assume HW VLAN acceleration in fast path iSCSI OOO |
| functions |
| |
| Impact: iSCSI OOO only |
| |
| Enhancements |
| ------------ |
| 1. Request: Add capability to build against SuSE source RPMs |
| |
| Change: As requested |
| |
| 2. Request: Set drop threshold for receiver lossy COS to 90, |
| when PFC is enabled |
| |
| Change: As requested |
| |
| |
| Version 1.64.00 (Aug 31, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ47855) Link test fails under Linux using ethtool |
| |
| Cause: In case a MAC test followed by link test, the NIG attention |
| might be cleared while ISR was already triggered due to NIG |
| attention. This led to declaring the MAC test as failed since |
| there's actually no link in this case. |
| |
| Change: In case NIG interrupt mask is cleared during interrupt |
| handling, do not execute link status update routine. |
| |
| 2. 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 |
| |
| 3. Problem: (CQ49143) Dual Media: First attempt to change from default TP |
| to FIBRE using ethtool does not work. |
| |
| Cause: When changing port type from TP to FIBRE the command failed |
| since FIBRE doesn't support autoneg, yet the port type was |
| changed. |
| |
| Change: When ethtool command fail, do not change port type. |
| |
| Impact: Dual-Media boards |
| |
| 4. Problem: Compilation error on kernels 2.6.34 and later |
| |
| Cause: netdev_name() defined by both kernel and driver |
| |
| Change: Fix compat.h for these kernels |
| |
| 5. Problem: 84823 PHY not showing correct Link LED's. |
| |
| Cause: Incorrectly setting LED Masks |
| |
| Change: Eliminated offending branch in code |
| |
| Impact: Introduced in 1.60.24 |
| |
| 6. Problem: (CQ49137) ethtool -t test fails in dual-media boards |
| |
| Cause: Link wasn't tested correctly depending on the media |
| configuration |
| |
| Change: Test link according to media configuration |
| |
| Impact: Dual-Media boards |
| |
| 7. Problem: (CQ49004) Dual Media: Switch show link on both media |
| simultaneously. |
| |
| Cause: Not disabling TX on non-active port. |
| |
| Change: In case link is up in non SFP+, disable the SFP+ TX laser. |
| |
| Impact: Dual-Media boards |
| |
| 8. Problem: 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 |
| |
| 9. Problem: (ESX) Performance regression found by VmWare |
| |
| Cause: Tx ring was configured to have a smaller length than it was in |
| IOVP driver |
| |
| Change: Configure Tx ring to have the same length as in IOVP driver |
| |
| Impact: ESX only |
| |
| 10. 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: T5.0 |
| |
| 11. 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: 1.60.32 |
| |
| 12. 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. |
| |
| 13. Problem: (CQ49137) -Dual Media: Ethtool fail - Link_test (online) on TP |
| every few iterations. |
| |
| Cause: Link detection may take very long in case of copper, while the |
| wait up time was limit to 10sec only. |
| |
| Change: Increase link wait up time in link test to 14sec |
| |
| Impact: Dual Media boards. |
| |
| 14. 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 |
| |
| 15. 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 1.60.21 |
| |
| 16. Problem: HW Statistics collection through the DMAE broken on 57712 |
| |
| Cause: For 57712 the DMAE command needs to include the destination |
| function. |
| |
| Change: Adjust the DMAE command to work on 57712 |
| |
| Impact: Introduced in 1.60.01 |
| |
| 17. Problem: Possible inconsistency in parity recovery flow in case of bogus |
| usage of bnx2x_trylock_hw_lock() function |
| |
| Cause: Inconsistent error core returned (-EINVAL while function |
| returns `bool') |
| |
| Change: Return `false' in case of an error |
| |
| Impact: 1.60.01 |
| |
| 18. Problem: The firmware sends an assert when starting the first vf in a |
| passthru mode |
| |
| Cause: The firmware trys to send an event to the pf, but since the vf |
| was never initialized, the firmware couldn't find which pf to |
| use |
| |
| Change: The firmware will only send an event in case the function was |
| initialized before. Fixed in FW 6.4.4 |
| |
| Impact: Introduced in FW 6.2.1.1. ESX NPA only |
| |
| 19. Problem: (CQ48770) When working with rate-limiting in 57711/2 with jumbo |
| frames, the rate is half of what configured |
| |
| Cause: Firmware miscalculated the amount of bytes transmitted |
| |
| Change: Fixed the calculation. Fixed in FW 6.4.4 |
| |
| Impact: Introduced in firmware version 6.0.20 |
| |
| 20. Problem: PCI entity wasn't calculated before write event ring element in |
| the initial cleanup and MaliciousVf handlers |
| |
| Cause: Used wrong PCI entity in the handlers |
| |
| Change: Calculate the PCI entity before using it. Fixed in FW 6.4.4 |
| |
| Impact: Introduced in FW 6.2.0 |
| |
| 21. Problem: In FLR final cleanup flow - in some cases the IGU cleanup |
| command was wrong |
| |
| Cause: Used wrong parameters for calculation of the function id from |
| Pf or Vf. |
| |
| Change: Fixed the calculation. Fixed in FW 6.4.4 |
| |
| Impact: Introduced in FW 6.2.0 |
| |
| 22. Problem: (ESX PR582737): TX switching along with LSO packet results with |
| HW attention |
| |
| Cause: LSO packet might be sent on a port which doesn't have |
| sufficient QM credits |
| |
| Change: LSO packets are sent only if credits were charged for the |
| chosen port (physical vs. loopback). Fixed in FW 6.4.4 |
| |
| Impact: Introduced in first tx switching version 6.1.4 |
| |
| 23. 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 COSes |
| |
| Change: L2 firmware now considers DCB updates and may stop a single |
| connection run to allow DCB configuration update |
| Fixed in FW 6.4.4 |
| |
| Impact: Introduced in version 6.0.15 |
| |
| 24. Problem: The firmware didn't support TX switching for MAC-VLAN-PAIR |
| |
| Cause: The firmware didn't initialize the VFC correctly |
| |
| Change: Fixed the VFC initialization. Fixed in FW 6.4.4 |
| |
| Impact: Introduced in FW 6.2.0 |
| |
| |
| 25. Problem: The error field in ramrod CQE was always sent as 0 |
| |
| Cause: Wrong initialization of the CQE |
| |
| Change: Sending the right value. Fixed in FW 6.4.4 |
| |
| Impact: Introduced in FW 6.2.0. |
| |
| 26. Problem: The code entered the infinite loop in the Cstorm Common VfZone |
| handler |
| |
| Cause: Wrong calculation of a VF ID |
| |
| Change: Fixed the VF ID calculation. Fixed in FW 6.4.4 |
| |
| Impact: Introduced in FW 6.2.0. |
| |
| 27. 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: Use FW 6.2.1.1 |
| |
| Change: As requested |
| |
| 2. Request: Integrate T6.1 changes |
| |
| Change: As requested |
| |
| 3. Request: Support HW Rx hash generation for a single queue configuration |
| |
| Change: As requested |
| |
| 4. Request: Provide a way to know if there are pending ramrods' completions |
| in multicast and rx_mode configuration flows |
| |
| Change: Return a positive value from bnx2x_config_rx_mode() and |
| bnx2x_config_mcast() if there are pending ramrods' completion |
| |
| 5. Request: Add "delete all" and "reconfigure" verbs to the VLAN_MAC object |
| |
| Change: As requested |
| |
| 6. Request: Add "reconfigure" verb to the MCAST object |
| |
| Change: As requested |
| |
| Version 1.60.29 (Jul 21, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ48770) When working with rate-limiting in 57711/2 with jumbo |
| frames, the rate is half of what configured |
| |
| Cause: Firmware miscalculated the amount of bytes transmitted |
| |
| Change: (In FW 6.0.30) Fixed the calculation |
| |
| Impact: Introduced in 1.60.16 (FW 6.0.20) |
| |
| 2. Problem: FW XSTORM assert during server reboot test |
| |
| Cause: There were two statistics ramrods sent with the same statistics |
| counter. There was a race condition in the bnx2x driver that |
| allowed this situation |
| |
| Change: Protect statistics ramrod sending code and statistics counter |
| update with the spin lock |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 6.0.30 |
| |
| Change: As requested |
| |
| 2. Request: Rearrange LLH memory organization |
| |
| Change: Allow 16 MACs in the memory; do not set FCoE MACs in LLH |
| |
| Impact: Switch-Independent mode only |
| |
| Version 1.60.28 (Jul 14, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: 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 |
| |
| Change: (In FW 6.0.29) Fixed statistics ramrod |
| |
| Impact: Introduced in 1.60.07 (FW 6.0.5) |
| |
| 2. Problem: Port detection feature(ethtool -p) for dual-media is not |
| working |
| |
| Cause: BCM8727 LED needs to be set via the PHY, and not the MAC |
| |
| Change: Set BCM8727 LED via PHY |
| |
| Impact: Dual-Media boards |
| |
| 3. Problem: ethtool -s ethX speed YYY does not work properly |
| |
| Cause: Forcing port configuration every call to ethtool -s |
| |
| Change: Do not change port configuration if not requested |
| |
| Impact: Introduced in 1.60.27 |
| |
| 4. Problem: Divide by 0 in driver code, after disabling coalescing via |
| ethtool |
| |
| Cause: Conversion from usec to interrupt per sec done without check |
| for zero |
| |
| Change: Check for zero in conversion |
| |
| Impact: Introduced in 1.60.26 |
| |
| 5. Problem: (CQ48787) ethtool -t fails in Switch-Independent mode after |
| bringing up higher functions (4,5,6,7) |
| |
| Cause: Improper mac placement in NIG block |
| |
| Change: Fixed address calculation |
| |
| Impact: Switch-Independent mode only |
| |
| Enhancements |
| ------------ |
| 1. Request: Modify Dual-media look & feel such that ethtool gets and sets |
| the configuration of the active PHY only. Active PHY is the |
| PHY which linked up, or in case of link down, according to the |
| port selection |
| |
| Change: As requested |
| |
| 2. Request: Use FW 6.0.29 |
| |
| Change: As requested |
| |
| 3. Request: Don't call for pci_disable_msix() every time bnx2x_nic_unload() |
| is called |
| |
| Change: Move pci_enable_msi/msix() to pcidev->probe() callback |
| |
| 4. Request: (ESX) Call for netif_napi_add() before netdev->open() |
| |
| Change: As requested. This change is relevant for all platforms |
| |
| 5. Request: Support for ethtool_cmd.speed_hi field |
| |
| Change: As requested |
| |
| Version 1.60.27 (Jul 07, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ48202) Under low memory condition, rx stop functioning |
| during load/unload test |
| |
| Cause: Some queue may be not fully populated, under low memory |
| condition, which may cause FW to drop packets for this queue |
| |
| Change: Change memory allocation scheme in order to avoid this |
| situation |
| |
| 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 everytime the link is brought up. |
| |
| Change: Instead of storing the PHY order, we calculate it fresh |
| everytime. |
| |
| Impact: Dual-media boards. |
| |
| Enhancements |
| ------------ |
| 1. Request: Return an error if bnx2x_set_flags() is called for unsupported |
| flags |
| |
| Change: As requested |
| |
| 2. Request: Don't collect statistics if requested so according to |
| edebug-driver interface (edebug_driver_if field in shmem2 |
| region) |
| |
| Change: As requested |
| |
| 3. Request: Add support to bnx2x to extract Toeplitz hash out of the |
| receive descriptor for use in skb->rxhash |
| |
| Change: As requested |
| |
| Impact: Kernel 2.6.35 and newer |
| |
| 4. Request: Add ethtool port selection for dual media |
| |
| Change: As requested |
| |
| Impact: Dual media boards |
| |
| Version 1.60.26 (Jun 30, 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 |
| |
| Change: On NOC (No-OverCurrent) flavor, configure the GPIOs to reflect |
| LED behavior rather than unnecessary over-current indication |
| |
| Impact: BCM8727 based boards |
| |
| 2. Problem: Possible deadlock on bp->stat_sm_lock spinlock |
| |
| Cause: Inappropriate locking function was used for protecting a |
| resource accessed by workqueue and timer: |
| used spin_lock()/spin_unlock() while should be |
| spin_lock_bh()/spi_unlock_bh() |
| |
| Change: Use an appropriate locking API: spin_lock_bh()/spin_unlokc_bh() |
| |
| Impact: Introduced in 1.60.22 |
| |
| 3. Problem: Possible crash loading cnic if iSCSI OOO has been disabled |
| in a bnx2x |
| |
| Cause: cnic was unaware of the fact that iSCSI OOO may be disabled in |
| the bnx2x |
| |
| Change: Add an appropriate bit in a cnic_eth_dev->drv_state and set |
| it if iSCSI OOO is disabled in the bnx2x. This is done in a |
| bnx2x_cnic_probe2() |
| |
| Impact: CNIC only |
| |
| 4. Problem: Interrupt coalescing was disabled in the chip |
| |
| Cause: Coalescing was erroneously disabled by bnx2x by default |
| |
| Change: Properly configure coalescing |
| |
| Impact: Introduced in 1.60.11 |
| |
| 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 |
| |
| Version 1.60.25 (Jun 23, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: Link down when using specific DACs (Direct Attached Cables) |
| |
| Cause: Some DAC's EEPROM do not respond at 400Khz speed |
| |
| Change: Set 2-wire transfer rate of SFP+ module EEPROM to 100Khz |
| |
| Impact: BCM8727 based boards |
| |
| 2. Problem: (FCoE) (CQ48021) RESET_LUN operation failed due to |
| error detection |
| |
| Cause: Detecting a protocol violation in response frame from |
| target (target protocol violation) |
| |
| Change: (In FW 6.0.28) Mask the error reporting |
| |
| Impact: FCoE only |
| |
| 3. Problem: (FCoE) 10% performance degradation |
| |
| Cause: Read queue used by firmware did not have enough credits |
| |
| Change: (In FW 6.0.28) Change the read queue used by firmware |
| |
| Impact: Introduced in 1.60.24 (FW 6.0.27) |
| |
| 4. Problem: (FCoE) (CQ48403) Target does not handle incoming FCP_DATA |
| |
| Cause: Increasing SEQ_CNT is not supported by target |
| |
| Change: (In FW 6.0.28) Reset the SEQ_CNT back to zero when transmitting |
| new FCP_DATA frame |
| |
| Impact: FCoE only |
| |
| 5. Problem: There was a "timeout waiting for queue[0]" message in a syslog |
| when running self-test (ethtool -t ethX) on 57712 |
| |
| Cause: Unlike HC IGU won't generate an interrupt for status block |
| updates that have been performed while interrupts disabled thus |
| Tx work generated by loopback test will never be handled |
| |
| Change: Call for bnx2x_tx_int() from inside the loopback test for chips |
| with IGU (57712 and newer) |
| |
| Impact: 57712 only |
| |
| 6. Problem: (CQ48284) up-down test on port 1 causes traffic to stop on |
| port 0 |
| |
| Cause: Improper cleanup of HC and IGU blocks during function init |
| |
| Change: Fix HC block cleanup, remove unnecessary IGU clean-up |
| |
| Impact: Introduced in 1.60.15 |
| |
| Enhancements |
| ------------ |
| 1. Request: (CQ48374) Add a module parameter to disable iSCSI OOO |
| |
| Change: As requested: added a disable_iscsi_ooo module parameter, which |
| is present if BCM_CNIC is defined, otherwise iSCSI OOO is not |
| enabled anyway |
| |
| 2. Request: (iSCSI) Add counters for iSCSI out-of-order events |
| |
| Change: As requested (counters can be read from RAM through GRC) |
| (In FW 6.0.28) |
| |
| 3. Request: Use FW 6.0.28 |
| |
| Change: As requested |
| |
| Version 1.60.24 (Jun 16, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (iSCSI) (CQ42399) Unable to run I/Os greater than 1500 bytes |
| with initiator MTU set to 9000 and target MTU set to 1500 |
| |
| Cause: Timestamp option was not considered in MSS calculation |
| |
| Change: (in FW 6.0.27) Fix mss calculation when timestamp option |
| is present |
| |
| Impact: iSCSI only |
| |
| 2. Problem: (iSCSI) (CQ46648) Connection closure tests fail |
| |
| Cause: Incorrect FIN max retransmit count |
| |
| Change: (in FW 6.0.27) Fix FIN max retransmit count |
| |
| Impact: iSCSI only |
| |
| 3. Problem: (FCoE) Address calculation of task-context in Ustorm |
| could be wrong |
| |
| Cause: Address calculation considered an argument twice |
| |
| Change: (in FW 6.0.27) Fix calculation |
| |
| 4. Problem: (FCoE) Ustorm RAM read/update could be wrong during |
| event generation |
| |
| Cause: Confusion between addresses while accessing RAM databases |
| |
| Change: (in FW 6.0.27) Use appropriate address for each specific |
| database |
| |
| 5. Problem: (FCoE) ABTS local-completion mechanism did not handled error if |
| error was detected on ABTS BA_ACC |
| |
| Cause: Not handling error caused an assert |
| |
| Change: (in FW 6.0.27) Handle error by overwriting RX state. |
| Cleanup shall follow to clean the task |
| |
| 6. Problem: (FCoE) Writing to host memory from Tstorm could be corrupted |
| |
| Cause: Using the same write VQ for Tstorm and Cstorm |
| |
| Change: (in FW 6.0.27) Using the write VQ belongs to Tstorm only |
| |
| 7. Problem: bnx2x wouldn't properly function with 2.6.29 kernel |
| |
| Cause: bnx2x used new netdev->netdev_ops interface starting from |
| 2.6.30 and not from 2.6.29 kernel as should be |
| |
| Change: Use new netdev_ops interface starting from 2.6.29 kernel |
| |
| Impact: 2.6.29 kernel only |
| |
| Enhancements |
| ------------ |
| 1. Request: Align TCP advertised window in iSCSI (4b alignment) |
| |
| Change: As requested in FW 6.0.26 |
| |
| 2. Request: Mask protocol violations error detected by chip on HP targets |
| |
| Change: Masking the specific checks (in FW 6.0.26) |
| |
| 3. Request: Dropping invalid packets which are received during the |
| abort procedure |
| |
| Change: As requested (in FW 6.0.27) |
| |
| 4. Request: Use FW 6.0.27 |
| |
| Change: As requested |
| |
| |
| Version 1.60.23 (Jun 10, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: Avahi daemon crashed after loading bnx2x.ko on kernels newer |
| than 2.6.30 |
| |
| Cause: SAN MAC was added (dev_addr_add()) before netdev_register() |
| call and call_netdevice_notifiers(NETDEV_CHANGEADDR, dev) has |
| been called for a unregistered device |
| |
| Change: Call dev_addr_add() after netdev_register() |
| |
| Impact: Introduced in 1.60.21 |
| |
| 2. Problem: Link status notification appeared each time when DCBX |
| negotiation received |
| |
| Cause: DCBX update handled as link update and notification printed |
| |
| Change: Remove link notification from this flow |
| |
| Impact: DCBX only |
| |
| 3. 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 |
| |
| Change: Enable MDIX when autoneg is disabled |
| |
| Impact: BCM84823 based board |
| |
| 4. Problem: (CQ47671) "ethtool -p ethx" has no effect on the port's LED |
| |
| Cause: Specific PHY requires specific phy settings |
| |
| Change: In case of copper phys, set LED registers directly in the PHY, |
| rather than the NIG |
| |
| Impact: Copper boards |
| |
| 5. Problem: (iSCSI OOO) Producer of OOO Rx CQ ring was updated twice than |
| was expected |
| |
| Cause: The mentioned producer was updated both in the |
| bnx2x_cnic_get_ooo_cqe() and in the bnx2x_cnic_reuse_ooo_pkt() |
| while is meant to be updated only in the |
| bnx2x_cnic_reuse_ooo_pkt() |
| |
| Change: Don't advance CQ ring producer in the bnx2x_cnic_get_ooo_cqe() |
| |
| Impact: iSCSI OOO only |
| |
| 6. Problem: (iSCSI) UIO Client wasn't able to handle IPv6 traffic |
| |
| Cause: UIO Client was not receiving multicast traffic because in |
| non-promiscuous mode only one Client per function will receive |
| multicast packets (leading RSS Client) |
| |
| Change: Configure UIO Client's to accept all multicast packets |
| |
| Impact: iSCSI only |
| |
| 7. Problem: bnx2x would not compile on kernel 2.6.34 |
| |
| Cause: Improper dependency in bnx2x_compat.h |
| |
| Change: Switch on netdev_hw_addr_list_for_each during bnx2x_mc_addr() |
| definition |
| |
| 8. Problem: (CQ47854) Driver crash during FCoE test |
| |
| Cause: HW assert causes driver to halt |
| |
| Change: Notify user with appropriate message without causing panic |
| |
| 9. Problem: Unable to bring up function 2-7 if MBA didn't configure MACs |
| |
| Cause: Check for MAC for both multi-function modes |
| |
| Change: Check for OV tag in Switch-Dependent mode |
| |
| Impact: Introduced in 1.60.10 |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Change PXP Write block initialization values in 57712 to help |
| reduce latency |
| |
| Change: As requested |
| |
| Impact: 57712 only |
| |
| Version 1.60.22 (Jun 02, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ47662) "stats updated by DMAE but no MAC active" message |
| while up/down test |
| |
| Cause: Race on update of statistics' state machine |
| |
| Change: Use spinlock to protect the state machine |
| |
| 2. Problem: (CQ46918) Network bursts are larger than the configured |
| connection on FLEX 10 |
| |
| Cause: Inaccurate bytes calculation at rate shaping mechanism |
| |
| Change: Calculation was fixed in FW 6.0.25 |
| |
| 3. Problem: (CQ47623,CQ46388,CQ47225,CQ47833) System hangs during |
| iSCSI stress traffic |
| |
| Cause: Incorrect packet trimming lead to HW internal error |
| |
| Change: Fixed packet trimming on LB port in FW 6.0.25 |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| 4. Problem: All BRB interrupts are masked |
| |
| Cause: BRB interrupt mask is not initialized so reset value is used |
| |
| Change: Initialize interrupt mask so only parser read length errors |
| are masked |
| |
| Impact: In scenarios where BRB interrupts occur, indicate appropriate |
| error information |
| |
| 5. Problem: (CQ47834, CQ47795, CQ47980) On low memory condition, driver |
| caused kernel panic in bnx2x_ilt_mem_op() |
| |
| Cause: Unallocated memory access |
| |
| Change: Validate non NULL pointers before access |
| |
| 6. Problem: (FCoE) FCoE traffic experiences a lot of drops |
| |
| Cause: Improper PFC configuration - mixed RX/TX COSes |
| |
| Change: Fixed configuration |
| |
| Impact: Introduced in 1.60.21 |
| |
| Enhancements |
| ------------ |
| 1. Request: Don't limit the pause advertisement for large MTU |
| |
| Change: As requested |
| |
| Impact: 57712 and above |
| |
| 2. Request: Forward setup ramrod should complete on event ring and not |
| as a tx_bd_cons increment |
| |
| Change: (in FW 6.0.25) as requested |
| |
| 3. Request: Use FW 6.0.25 |
| |
| Change: As requested |
| |
| 4. Request: Use terminate ramrod for non forwarding clients |
| |
| Change: As requested |
| |
| Version 1.60.21 (May 26, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (iSCSI OOO) Kernel panicked in the skb_put() when called from |
| bnx2x_cnic_reuse_ooo_pkt() |
| |
| Cause: Wrong skb function has been used for resetting the data length |
| in the skb: skb_put(skb, -skb_headlen(skb)) |
| |
| Change: Use the proper function: skb_trim(skb, 0) |
| |
| Impact: iSCSI OOO only |
| |
| 2. Problem: 57710 - Load/unload stress test caused chip to hang |
| |
| Cause: Disable of device in the middle of MSIX message caused deadlock |
| in HC block |
| |
| Change: Use PCI configuration space to avoid the deadlock |
| |
| Impact: 57710 only |
| |
| 3. Problem: iSCSI is not functional in switch independent mode |
| |
| Cause: iSCSI mac was not written into NIG memory |
| |
| Change: Fix handling of MAC addreses in switch independent mode |
| |
| Impact: switch independent mode only |
| |
| 4. Problem: Changing MTU when CNIC is loaded was causing CFC error |
| |
| Cause: Setting CDU validation value for iSCSI L2 Client was done from |
| bnx2x_register_cnic(), which is not called in change MTU flow |
| |
| Change: Move setting of iSCSI L2 Client CDU validation value to |
| bnx2x_cnic_sp_post() right before it sends iSCSI L2 Client |
| SETUP ramrod |
| |
| Impact: iSCSI only |
| |
| 5. Problem: 57710/57711/57711E: unable to load device on machine with 16 |
| (and more) CPUs |
| |
| Cause: Improper HC SB calculation |
| |
| Change: Exclude none l2 contexts from HC SB calculation |
| |
| Impact: 57710/57711/57711E only; introduced on 1.60.13 |
| |
| Enhancements |
| ------------ |
| 1. Request: (FCoE) Set SAN MAC before ifup event in order to allow the |
| bnx2fc properly configure WWN |
| |
| Change: Move the dev_addr_add() for a SAN MAC to pci_dev->probe() flow |
| (bnx2x_init_one()) making it similar to networking MAC address |
| configuration (it is configured in netdev at this stage as |
| well). dev_addr_del() for a SAN MAC has been moved to |
| bnx2x_remove_one() correspondingly |
| |
| Impact: FCoE only |
| |
| 2. Request: Lower the bnx2x skb memory footprint on ESX |
| |
| Change: Limit the OOO Rx ring to 40 BDs |
| |
| Impact: ESX only |
| |
| |
| Version 1.60.20 (May 18, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (iSCSI OOO) Call for bnx2x_cnic_reuse_ooo_pkt() was causing a |
| kernel panic |
| |
| Cause: There was a wrong fp picked in bnx2x_cnic_reuse_ooo_pkt() (fwd |
| instead of ooo) |
| |
| Change: Pick the right fp |
| |
| Impact: iSCSI OOO only |
| |
| 2. Problem: (FCoE)(CQ47674) Chip hangs during destroy FCoE connection flow |
| |
| Cause: FCoE reordering mechanism was corrupted during disable |
| connection flow |
| |
| Change: (Fixed in FW 6.0.24) Assure not to overrun relevant context |
| for reordering operation |
| |
| Impact: FCoE only |
| |
| 3. Problem: (FCoE)(CQ47644) Chip reporting an error instead of dropping |
| the packet |
| |
| Cause: Some errors were detected before verifying FCoE delimiters |
| |
| Change: (Fixed in FW 6.0.24) Once an error detected, verify first the |
| FCoE delimiters before reporting an error |
| |
| Impact: FCoE only |
| |
| 4. Problem: (iSCSI OOO) Chip hangs during out-of-order traffic |
| |
| Cause: Firmware internal synchronization issue between iSCSI |
| and L2 flows |
| |
| Change: (Fixed in FW 6.0.24) Firmware fix |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| Enhancements |
| ------------ |
| 1. Request: Add BNX2X_MSG_CNIC debug level |
| |
| Change: As requested |
| |
| 2. Request: Allow the RX rings to be initialize with a lower number of |
| entries (at the source code level) |
| |
| Change: As requested |
| |
| 3. Request: Use FW 6.0.24 |
| |
| Change: As requested |
| |
| 4. Request: Enable PFC statistics in MAC |
| |
| Change: As requested |
| |
| Version 1.60.19 (May 12, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (iSCSI OOO): OOO packets were not indicated on the OOO Rx ring |
| |
| Cause: There were missing OOO ring's CID and Client ID configuration |
| in a TSTORM |
| |
| Change: Properly configure OOO ring's CID and Client ID in the TSTORM |
| memory |
| |
| Impact: iSCSI OOO only |
| |
| 2. Problem: (iSCSI OOO): CNIC SB context in internal memory was zeroed |
| after OOO and FWD rings' ramrods were completed |
| |
| Cause: There was a call for bnx2x_init_sb() for CNIC SB in |
| bnx2x_register_cnic() |
| |
| Change: Remove the bnx2x_init_sb() call from bnx2x_register_cnic() |
| |
| Impact: iSCSI OOO only |
| |
| 3. Problem: (CQ46146) "ethtool -t" fails when the speed is forced on cx4 |
| NICs to 100/10Mb |
| |
| Cause: Internal loopback test needs to conducted when speed is set |
| to 10G force |
| |
| Change: Set speed to 10G force during loopback test, and restore link |
| speed afterwards. |
| |
| Impact: ethtool -t test |
| |
| 4. Problem: Spelling error in module parameter |
| |
| Cause: "Then" used instead of "Than" |
| |
| Change: Fixed to "than" |
| |
| 5. Problem: (CQ47609) Link Level Pause causes link to pause after PFC |
| has been negotiated |
| |
| Cause: Wrong MAC registers configuration |
| |
| Change: Fix configuration |
| |
| Impact: 57712 only |
| |
| 6. Problem: Link change after PMF migration may halt the system |
| |
| Cause: PHY attributes are provided to the initial PMF only |
| |
| Change: Load PHY attributes for every new function regardless of |
| being PMF or not. |
| |
| Impact: Multi-function mode |
| |
| 7. Problem: (iSCSI OOO) OOO FW was not processing the incoming OOO packets |
| |
| Cause: TSTORM internal RAM was not properly initialized |
| |
| Change: Properly initialize OOO producer, CID and Client ID of OOO ring |
| in a TSTORM internal memory |
| |
| Impact: iSCSI OOO only |
| |
| 8. Problem: (iSCSI OOO) L2 FW was generating XSTORM |
| x_eth_vlan_special_check assert when trying to post packets on |
| a FWD ring |
| |
| Cause: The running index that was posted on a VLAN field of the start |
| BD was starting from 1, while FW was expecting it to start from |
| 0 |
| |
| Change: Keep driver's packet producer and consumer running from 0 and |
| decrement a FW packet consumer during completions handling |
| instead |
| |
| Impact: iSCSI OOO only |
| |
| 9. 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. |
| |
| Change: 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 |
| |
| 10. 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 |
| |
| Change: Enable CL37 BCM autoneg instead of working in force 1G |
| |
| Impact: BCM8073 based boards |
| |
| 11. Problem: (CQ47436) FC setting not consistant |
| |
| Cause: "ethtool -a" show flow-control autonegotiation as off when |
| speed is not set to autonegotiate. |
| |
| Change: Show the actual flow-control settings on "ethtool -a", but |
| in case the speed setting is actually force speed, this setting |
| will have no affect like with the BCM8727 |
| |
| Impact: ethtool -a |
| |
| 12. Problem: (CQ45632) NETDEV Watchdog message appeared and system hung |
| |
| Cause: driver disables tx while carrier still on |
| |
| Change: call to netif_carrier_off() after netif_tx_disable() |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Remove redundant LCPLL setting which is done already in the |
| bootcode |
| |
| Change: As requested |
| |
| 2. Request: (DCBX) Changing PFC RX configuration: In RX COS0 will always |
| be configured to lossy and COS1 to lossless |
| |
| Change: As requested |
| |
| 3. Request: Remove Outer Vlan configuration for Mac partitioning mode |
| |
| Change: As requested |
| |
| 4. Request: Use FW 6.0.23 |
| |
| Change: As requested |
| |
| 5. Request: Allow driver compilation with different kernel location |
| |
| Change: As requested |
| |
| |
| Version 1.60.18 (May 03, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ47451) iSCSI and FCoE broken and causes kernel panic |
| |
| Cause: Wrong FW offsets used |
| |
| Change: fix FW offsets defines |
| |
| Impact: Introduced in 1.60.17 |
| |
| 2. 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 |
| |
| Change: Initialize PLL once during common init |
| |
| Impact: 57712 only |
| |
| 3. 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 |
| |
| Change: The common handler considers it's thread |
| Id when waiting for the context load response |
| |
| 4. Problem: Loading driver on one port may cause link toggling on the |
| other port |
| |
| Cause: Firmware generates false data digest error on incoming PDU |
| |
| Change: (Fixed in FW 6.0.22) Firmware fix |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| 5. Problem: (iSCSI) (CQ46388,CQ46608,CQ46638) Chip hangs when running |
| stress iSCSI traffic |
| |
| Cause: Firmware caused connection activity-counter to drop to |
| a negative value |
| |
| Change: (Fixed in FW 6.0.22) Firmware fix |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Remove the extra prefetch instructions from bnx2x_rx_int() |
| |
| Change: As requested |
| |
| 2. Request: (DCBX) add ETS support |
| |
| Change: As requested |
| |
| 3. Request: (DCBX) add DCB statistics information; add support for 4-bytes |
| long remote chassis id |
| |
| Change: As requested |
| |
| 4. Request: Set NIC_MODE when cnic driver does not exist in the system |
| |
| Change: As requested |
| |
| Impact: Revert of change introduced in 1.60.11 |
| |
| 5. Request: Remove Modules.supported file |
| |
| Change: As requested |
| |
| 6. Request: Use FW 6.0.22 |
| |
| Change: As requested |
| |
| |
| Version 1.60.17 (Apr 27, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: Kernel warning message from pci_enable_msix() in case of |
| parity error |
| |
| Cause: Improper handling of MSI-X enable/disable flow in parity error |
| case |
| |
| Change: Disable interrupts, disconnect from IRQs and disable MSI-X in |
| OS level in bnx2x_nic_unload() both in parity error case |
| |
| 2. Problem: FIP packets won't arrive to the FCoE L2 ring |
| |
| Cause: Current FW still doesn't support the FIP packets filtering |
| according to the ETH type |
| |
| Change: Revert the previous enhancement that removed setting the "FIP |
| MAC" to the FCoE L2 Client |
| |
| Impact: Introduced in 1.60.16 |
| |
| 3. Problem: PCI speed is always reported as 5G (Gen2) on 57712 |
| |
| Cause: Wrong decoding of the PCI speed |
| |
| Change: Fixed the speed decoding |
| |
| Impact: Only 57712 |
| |
| 4. Problem: There was a possibility that packets might be transmitted on |
| the queue of the FCoE L2 Client before its SETUP ramrod is |
| completed |
| |
| Cause: bp->state was set to OPEN after FUNCTION_START ramrod |
| (before SETUP ramrod(s) are sent) |
| |
| Change: Set bp->state=OPEN only after all Clients' SETUP ramrods complete |
| |
| Impact: FCoE only, introduced in 1.60.10 |
| |
| 5. Problem: (FCoE) Chip transmitting unwanted FCP_CONF frames |
| |
| Cause: Incorrect update of the CONFQ TX producer |
| |
| Change: (Fixed in FW 6.0.21) Reset the CONFQ TX producer at the |
| beginning of transmission flow |
| |
| Impact: FCoE only |
| |
| Enhancements |
| ------------ |
| 1. Request: Add TCM storm context registers to the register dump |
| |
| Change: As requested |
| |
| Impact: 57712 only |
| |
| 2. Request: Add path info to the registers dump header |
| |
| Change: As requested |
| |
| Impact: 57712 only |
| |
| 3. 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. |
| |
| 4. Request: Set packets producer for OOO Rx ring in TSTORM |
| |
| Change: As requested |
| |
| Impact: iSCSI only |
| |
| 5. Request: Limit number of BDs in OOO Rx ring to the number of CQEs minus |
| maximum number of outstanding ramrods. |
| |
| Change: As requested |
| |
| Impact: iSCSI only |
| |
| 6. Request: Move handling of the FCoE L2 ring to NAPI |
| |
| Change: As requested |
| |
| Impact: FCoE only |
| |
| 7. Request: Remove support for FCoE L2 rings on 57711 |
| |
| Change: As requested |
| |
| Impact: FCoE only |
| |
| 8. Request: Use FW 6.0.21 |
| |
| Change: As requested |
| |
| |
| Version 1.60.16 (Apr 22, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: MIN/MAX feature is not functional |
| |
| Cause: Miscalculation FW offsets in driver code |
| |
| Change: Offset calculation fixed |
| |
| Impact: Introduced in 1.60.01 |
| |
| 2. Problem: (CQ47092) DCBX: Chassis ID Lower and Upper are switched |
| |
| Cause: bnx2x copied upper to lower and lower to upper |
| |
| Change: Assignment fixed |
| |
| Impact: Introduced in 1.60.01 |
| |
| 3. Problem: iSCSI L2 ring Rx side wasn't functional |
| |
| Cause: iSCSI L2 Client Rx filtering configuration wasn't properly set |
| |
| Change: Properly set iSCSI L2 Client Rx filtering configuration |
| |
| 4. Problem: CQ047058: Link occasionally doesn't come up with 8073 based |
| boards |
| |
| Cause: Insufficient delay during phy firmware load sequence |
| |
| Change: Increase delay during phy firmware load sequence to 120ms |
| |
| Impact: BCM8073/BCM8727 |
| |
| 5. Problem: Function unload could bypass statistic ramrod (Theoretical bug) |
| |
| Cause: There was no reordering mechanism in the relevant firmware |
| flows |
| |
| Change: (Fixed in FW 6.0.20) Adding reordering |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.12) |
| |
| 6. Problem: (FCoE) (CQ47126, CQ47129) Miss detection of fc-crc error |
| |
| Cause: Firmware bug |
| |
| Change: (Fixed in FW 6.0.20) Firmware fix |
| |
| Impact: Introduced in 1.60.07 (FW 6.0.6) |
| |
| 7. Problem: (iSCSI) Firmware generate false data digest on incoming PDU |
| |
| Cause: First 4 data bytes arrived splitted into 3 packets |
| |
| Change: (Fixed in FW 6.0.20) Firmware fix |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| 8. Problem: There were sporadic "timeout waiting for state X" messages in |
| the dmesg when loading/unloading the driver |
| |
| Cause: There was a race on bp->set_mac_pending variable during |
| increment/decrement |
| |
| Change: Replace increment/decrement of bp->set_mac_pending to |
| set 1/set 0 to avoid the race |
| |
| 9. Problem: TSO packet was not identified is ESX environment |
| (as a result there were CSUM errors on wire) |
| |
| Cause: Wrong condition is checked for identification of TSO packet |
| |
| Change: Fix the TSO identification condition (only check |
| skb_shinfo(skb)->gso_size for being not zero) |
| |
| Impact: ESX and old kernels only (below 2.6.18) |
| |
| 10. Problem: Possible sporadic memory garbadging |
| |
| Cause: Waiting for CFC_DEL ramrod completion for OOO Client was |
| done in polling mode while default SB interrupt was still |
| enabled |
| |
| Change: Always wait for CFC_DEL ramrod completion in interrupt driven |
| mode for all clients |
| |
| Impact: Introduced in 1.60.15 |
| |
| Enhancements |
| ------------ |
| 1. Request: Reuse completed Tx buffers in Rx ring from Tx DPC |
| |
| Change: As requested |
| |
| Impact: iSCSI OOO only |
| |
| 2. Request: Remove 57711-only FCoE L2 MAC manipulations |
| |
| Change: As requested |
| |
| Impact: FCoE only |
| |
| 3. Request: Simplify the iSCSI L2 Client MAC configuration code |
| |
| Change: Set/Clear iSCSI L2 MAC in bnx2x_drv_ctl() on START_L2/STOP_L2 |
| commands |
| |
| Impact: iSCSI only |
| |
| 4. Request: Use FW 6.0.20 |
| |
| Change: As requested |
| |
| 5. Request: Use kmalloc() instead of vmalloc() for dynamic allocation of |
| none-DMAable buffers |
| |
| Change: As requested |
| |
| 6. Request: Add an way for CNIC to return an L2 SPQ credit |
| |
| Change: Added DRV_CTL_RET_SPQ_CREDIT command option to bnx2x_drv_ctl() |
| |
| Impact: iSCSI only |
| |
| 7. Request: (DCBX) support transaction between different pause modes |
| |
| Change: Added support |
| |
| Impact: 57712 only |
| |
| |
| Version 1.60.15 (Apr 15, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: FCoE INIT ramrod timeout |
| |
| Cause: HW wasn't producing interrupt on CNIC SB |
| |
| Change: bnx2x didn't send an ACK to IGU after establishing |
| OOO and FWD clients |
| |
| Impact: CNIC only |
| |
| 2. Problem: (CQ47020) Kernel panic during cnic load |
| |
| Cause: Initializing of iSCSI L2 context validation values was done |
| from bnx2x_cnic_probe() function, which is called both for |
| devices that are down and their memories are still not |
| allocated (including contexts) |
| |
| Change: Initialize iSCSI L2 context from bnx2x_register_cnic() which |
| may be called only for interfaces that are up |
| |
| Impact: CNIC only |
| |
| 3. Problem: CFC error when FCoE INIT ramrod is sent |
| |
| Cause: FCoE Init CID was not initialized |
| |
| Change: Initialize fcoe_init_cid to the correct value in |
| bnx2x_cnic_probe() |
| |
| Impact: FCoE only |
| |
| 4. 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 |
| |
| Change: Initialize polarity swap correctly when enabled. |
| |
| Impact: BCM8073 based boards only |
| |
| 5. Problem: DCB change during FLR might cause chip hang |
| |
| Cause: Firmware skipped DCB update when encountered a PCI error |
| |
| Change: (Fixed in FW 6.0.19) Firmware flow changed to first update |
| DCB version and only then to proceed to handle PCI error |
| |
| Impact: Introduced in 1.60.11 (FW 6.0.15) |
| |
| 6. Problem: (FCoE) Chip hangs after trying to access inappropriate host |
| memory address |
| |
| Cause: Firmware instructed corrupted SGEs in PBF command due to |
| corrupted Xstorm context |
| |
| Change: (Fixed in FW 6.0.19) Save entire Xstorm context during disable |
| connection procedure |
| |
| Impact: Exists in all previous FCoE releases |
| |
| 7. Problem: (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 |
| |
| Change: (Fixed in FW 6.0.19) Save task context only after all |
| verification has been completed |
| |
| Impact: Introduced in 1.60.01 |
| |
| 8. Problem: (iSCSI) Connection close does not complete |
| |
| Cause: Final ACK from target is discarded by firmware |
| |
| Change: (Fixed in FW 6.0.19) Firmware fix |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| 9. Problem: (CQ47034) MIN/MAX is not accurate for small packets |
| |
| Cause: The firmware didn't count inter-packet gap and preamble in |
| bandwidth allocation. |
| |
| Change: (Fixed in FW 6.0.19) Fixed L2 calculation |
| |
| Impact: Introduced in 1.45.xx. Doesn't include fix for iSCSI and FCoE |
| |
| 10. Problem: (CQ46501) DCBX IOTCL config_dcbx_params.admin_dcbx_version |
| shows incorrect value |
| |
| Cause: Variable initialized to incorrect value of 2 |
| |
| Change: Fixed to appropriate 0 (CEE) |
| |
| 11. Problem: Link down when upgrading BCM84823 phy firmware to 2.24/2.25 |
| |
| Cause: Changes in the firmware initialization required setting |
| different values |
| |
| Change: Set the require phy register to achieve link and led in all |
| speeds |
| |
| Impact: BCM84823 based boards |
| |
| Enhancements |
| ------------ |
| 1. Request: Add support for iSCSI OOO flow in L2 driver |
| |
| Change: As requested |
| |
| Impact: iSCSI only |
| |
| 2. Request: Don't call for NAPI related functions from non-NAPI context |
| |
| Change: Handle cleanup ramrods in an interrupt driven mode and not |
| in a polling mode as it was |
| |
| 3. Request: (FCoE) Reset the entire KCQE before start initializing it |
| |
| Change: As requested |
| |
| 4. Request: (FCoE) Change firmware assert to error notification to driver |
| when receiving MP frame with unknown R_CTL.function mode |
| |
| Change: As requested |
| |
| 5. Request: Use FW 6.0.19 |
| |
| Change: As requested |
| |
| 6. Request: Don't disable TPA on XEN enabled kernels |
| |
| Change: As requested |
| |
| Version 1.60.14 (Apr 08, 2010) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Driver failed to pass TCP traffic in non-TPA mode on 57712 |
| |
| Cause: SGE buffer size was not configured to zero in non-TPA mode |
| |
| Change: Properly set TPA-related section in Client Init ramrod data |
| |
| Impact: 57712 only |
| |
| 2. 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 |
| |
| Change: When link speed is up in 10M/100M/1000M, set led control to |
| 1G core. |
| |
| Impact: BCM84823/BCM8481 based boards |
| |
| 3. Problem: Link doesn't come up when changed from 1G to 10G with BCM84823 |
| based boards. |
| |
| Cause: Phy wasn't initialized in this case so some parameters were not |
| cleared |
| |
| Change: Reset phy when any parameter is changed |
| |
| Impact: Seen on BCM84823 based board, but may relate to others |
| |
| 4. Problem: (CQ46902) Unable to load driver on some systems |
| |
| Cause: Old BIOS behaviour is not compliant with newest PCIE spec |
| according to number of tags supported by the system |
| |
| Change: Driver validates the capability |
| |
| Impact: 57712 only |
| |
| |
| Version 1.60.13 (Apr 4, 2010) |
| ============================== |
| **** This release doesn't support non-TPA mode on 57712 devices **** |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ46501) DCBX IOTCL config_dcbx_params.admin_dcbx_version |
| shows incorrect value |
| |
| Cause: Variable initialized to incorrect value of 2 |
| |
| Change: Fixed to appropriate 0 (CEE) |
| |
| 2. Problem: FC behavior is changed so that setting FC to auto when speed |
| is force has no influence of to flow-control |
| |
| Cause: Although this configuration is not so logic, many boards have |
| their configuration build this way so need to restore this |
| behavior |
| |
| Change: Change back to old behavior |
| |
| Impact: Optic devices. Introduced in 1.60.11 |
| |
| 3. 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 |
| |
| Change: Set RX polarity on the XGXS side of the 8073 |
| |
| Impact: KR (BCM8073) |
| |
| 4. Problem: Autoneg flow-control is not seen using "ethtool -a" |
| |
| Cause: Duplicating the link parameters configuration for dual-media |
| platform |
| |
| Change: Return the correct FC status |
| |
| Impact: Introduced in 1.60.11 |
| |
| 5. Problem: Self-test was reporting errors in an IGU block when driver was |
| configured to use INT#x |
| |
| Cause: Driver was reading interrupt status register when IGU was |
| still disabled for the current PF |
| |
| Change: Connect to IRQs after HW initializing |
| |
| 6. Problem: Self-test was reporting errors in an IGU block when driver was |
| configured to use INT#x |
| |
| Cause: Driver was reading interrupt status register when IGU was still |
| not configured to Single ISR mode |
| |
| Change: Set IGU_PF_CONF_SINGLE_ISR_EN bit together with |
| IGU_PF_CONF_FUNC_EN when driver is configured to Single ISR |
| mode (MSI or INT#x) and do not turn it off unless the driver is |
| configured to use MSI-X interrupt mode |
| |
| Impact: 57712 only |
| |
| 7. 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. |
| |
| Change: When speed capability doesn't include 10G, or force speed is |
| not set to 10G, disable 10G advertisement |
| |
| Impact: BCM84823, BCM8481 |
| |
| 8. Problem: (CQ46844, CQ46842) Driver did not work properly on machines |
| with large number of CPUs. |
| |
| Cause: Driver was managing more resources then available in FW |
| |
| Change: Taking into account max available L2 contexts |
| |
| Impact: 57712 only |
| |
| 8. Problem: Potential link issue with force 1G on 8073 |
| |
| Cause: Setting one of the registers in the force 1G sequence |
| incorrectly |
| |
| Change: Fix 1G force sequence |
| |
| Impact: 57712 + KR only |
| |
| 9. Problem: Terminate ramrod called host coalescing on Tx segment |
| |
| Cause: Wrong logic while sending host coalescing on Tx |
| |
| Change: (Fixed in FW 6.0.17) The ramrod no longer send host coalescing |
| |
| Impact: Introduced in 1.60.6 (FW 6.0.3) |
| |
| 10. Problem: Firmware asserted when TPA is disable |
| |
| Cause: Wrong logic in the assert Conditions |
| |
| Change: (Fixed in FW 6.0.17) The assert may occur only when TPA is |
| enabled |
| |
| Impact: Introduced in 1.60.12 (FW 6.0.15) |
| |
| 11. Problem: VF: system crashed when VF reads client init data |
| |
| Cause: Reading client init from VF memory and not from PF memory |
| |
| Change: (Fixed in FW 6.0.17) VF read the client init from PF memory |
| |
| Impact: Introduced in 1.60.12 (FW 6.0.15) |
| |
| 12. Problem: Pause on exhausted ring broken |
| |
| Cause: Internal pause data structure was initialized improperly |
| |
| Change: (Fixed in FW 6.0.17) Fix internal ram offset calculation |
| |
| Impact: Introduced in 1.60.12 (FW 6.0.15) |
| |
| 13. Problem: (FCoE) Timer expiration doesn't read DCB info |
| |
| Cause: DCB update is done only for transmission flows |
| |
| Change: (Fixed in FW 6.0.17) Read DCB info for timer expiration |
| |
| Impact: Introduced in 1.60.12 (FW 6.0.15) |
| |
| 14. Problem: Return credit in termination handler without executing DCB |
| update |
| |
| Cause: Firmware bug |
| |
| Change: (Fixed in FW 6.0.18) Update DCB in the beginning of the |
| terminate handler |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| |
| 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 |
| |
| 2. Request: Add PFC/DCBX support for E2 |
| |
| Change: As requested |
| |
| 3. Request: Make driver to be compiled, by default, with FCoE support |
| |
| Change: As requested. FCoE support comes by default with CNIC support |
| |
| 4. Request: Don't allocate SGEs when TPA is not enabled for a specific |
| ring |
| |
| Change: As requested |
| |
| 5. Request: Use FW 6.0.18 |
| |
| Change: As requested |
| |
| |
| Version 1.60.12 (Mar 23, 2010) |
| ============================== |
| 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 |
| |
| Change: Set the FC configuration on optic devices according to user |
| settings |
| |
| Impact: Optic devices |
| |
| Version 1.60.11 (Mar 22, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: Driver didn't work on big endian setups |
| |
| Cause: There were endianness bugs both in HSI and in driver |
| |
| Change: Properly handle endianness in EQ related code |
| |
| Impact: Introduced in 1.60.10 |
| |
| 2. Problem: Potential link issue with BCM8727 |
| |
| Cause: In BCM8727, the firmware in second port must be loaded before |
| the first port. |
| |
| Change: Download the second port to 8727 first during initialization |
| |
| Impact: 57712 only and SFP+ only |
| |
| 3. Problem: Driver didn't work with KVM SR-IOV |
| |
| Cause: Final client delete (CFCdelete ) was not communicated |
| to the SR-IOV management code. |
| |
| Change: Passing the delete completion notifications to the SR-IOV |
| management. |
| |
| Impact: Introduced in 1.60.10 |
| |
| 4. Problem: (CQ46455) Load-unload test failed in Multi-Function mode |
| |
| Cause: Improper initialization and cleanup of IGU block |
| |
| Change: Fixed |
| |
| Impact: Introduced in 1.60.01 |
| |
| 5. Problem: (FCoE) FCoE L2 client was receiving erroneous SETUP client |
| ramrod completions |
| |
| Cause: FCoE L2 Tx SB index was configured to the same value as Rx |
| index. As a result FW was overwriting the Rx SB index with |
| a Tx index value |
| |
| Change: Fixed Tx index configuration |
| |
| Impact: Introduced in 1.60.10 |
| |
| 6. 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 |
| |
| Change: Toggle GPIO1 from LOW to HIGH during common init |
| |
| Impact: 57112 + 8073 |
| |
| 7. Problem: (CQ46476) Unable to load driver on RH48/RH47 32bit |
| |
| Cause: Undefined symbols "____log2_NaN" used in kernel |
| |
| Change: Define the symbol if not defined |
| |
| 8. Problem: Binary data printed during fw_dump() |
| |
| Cause: Address of dump miscalculated for 57712 |
| |
| Change: Fix address calculation |
| |
| Impact: Only 57712 |
| |
| 9. Problem: (CQ45724) in MF configuration, after bringing the interface |
| down, ethtool does not reflect link status correctly |
| |
| Cause: Missing check for device status |
| |
| Change: Add check for device status |
| |
| 10. Problem: (CQ 46240) Unexpected completion is received during forward |
| connection establishment |
| |
| Cause: Problematic initialization sequence of status blocks |
| |
| Change: (Fixed in FW 6.0.13) Firmware now checks for function enable |
| before updating the status block |
| |
| Impact: Introduced in 1.60.01 (FW 5.3.19), relevant to 57710/11 only |
| |
| 11. 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 |
| |
| Change: (Fixed in FW 6.0.13) Fixed confirmation request verification |
| |
| Impact: Problem exists in all previous FCoE versions |
| |
| 12. 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 |
| |
| Change: (Fixed in FW 6.0.14) Firmware now use correct clock frequency |
| for RT configuration |
| |
| Impact: Relevant only to BCM57712 |
| |
| 13. Problem: "Pause on exhausted rings" functionality broken |
| |
| Cause: Internal firmware variable was not set properly in RAM |
| |
| Change: (Fixed in FW 6.0.14) Firmware now sets the missing internal |
| variable at L2 client init phase |
| |
| Impact: Introduced in 1.60.06 (FW 6.0.2) |
| |
| 14. Problem: (FCoE)(CQ46506) firmware hanged (all threads in Ustorm sleep) |
| |
| Cause: Error handling was not processed correctly |
| |
| Change: (Fixed in FW 6.0.14) Firmware fix |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| 15. Problem: (FCoE)(CQ46342) RX_ID not populated inside REC_ELS packet |
| |
| Cause: Driver did not receive RX_ID during timer's error reporting |
| |
| Change: (Fixed in FW 6.0.14) Firmware fix |
| |
| Impact: Problem exist in al previous firmware releases |
| |
| 16. Problem: (iSCSI)Data placement of non-aligned small size data (<4 bytes) |
| caused false data-digest error |
| |
| Cause: Internal firmware error |
| |
| Change: (Fixed in FW 6.0.14) Firmware fix |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| 17. Problem: 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 |
| |
| Change: (Fixed in FW 6.0.15) Unmasked the function id in searches |
| in the cam in switch independent mode |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.10) |
| |
| 18. Problem: (iSCSI) Firmware might spin into infinite-loop when RQ is full |
| |
| Cause: Priority of Sleep when fetching new RQ producer is too high |
| |
| Change: (Fixed in FW 6.0.15) Reduce sleep priority |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.11) |
| |
| 19. Problem: (iSCSI) Saturated window was not supported in option2 |
| TCP connect |
| |
| Cause: Feature not supported |
| |
| Change: (Fixed in FW 6.0.15) Add support in firmware |
| |
| 20. Problem: (FCoE) (CQ46072) IO errors when running heavy traffic write |
| operations |
| |
| Cause: Inappropriate line credit calculation in transmission path |
| |
| Change: (Fixed in FW 6.0.15) Firmware fix in line credit calculation |
| |
| Impact: Introduced in 1.60.10 (FW 6.0.10) |
| |
| 21. Problem: in 4-port mode - using port 2 and 3 caused errors followed by |
| fw dump |
| |
| Cause: Inappropriate FW SB allocation, improper FW mailbox calculation |
| |
| Change: Add port id to the calculations |
| |
| Impact: 57712 4-port only |
| |
| Enhancements |
| ------------ |
| 1. Request: (CQ45126) Change NIC_MODE to impove latency if no offloaded |
| connection is present |
| |
| Change: As requested |
| |
| 2. Request: Support dual-media configuration with swapped phy configuration |
| |
| Change: As requested. |
| |
| Impact: Dual media board |
| |
| 3. Request: Split speed and duplex parameters into two media |
| |
| Change: As requested |
| |
| 4. Request: Support powering down the BCM84823 copper core when phy |
| configuration is set to second_port |
| |
| Change: As requested |
| |
| Impact: BCM84823 dual-media |
| |
| 5. Request: Add support for 4-port mode device |
| |
| Change: As requested |
| |
| Impact: 57712 |
| |
| 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: Add support for Client Setup ramrod |
| |
| Change: Use FW 6.0.15 |
| |
| 8. Request: Cleanup VLAN related code |
| |
| Change: As requested |
| |
| 9. Request: Add TCP Out-Of-Order support in iSCSI Firmware |
| |
| Change: As requested (in FW 6.0.14) |
| |
| 10.Request: Increase L2 clients from 26 clients to 28 in order to support |
| iSCSI Out of Order in multi function mode |
| |
| Change: As requested (in FW 6.0.15) |
| |
| 11.Request: Added client_init_ramrod_data struct, in order to decouple |
| between driver and firmware client-related structures |
| |
| Change: As requested (in FW 6.0.15) |
| |
| 12.Request: Support changing COS and vlan priority updates according |
| to DCB in L2 TX firmware |
| |
| Change: As requested (in FW 6.0.15) |
| |
| 13.Request: (FCoE) Support stop traffic\start traffic flow control ramrods |
| |
| Change: As requested (in FW 6.0.15) |
| |
| |
| Version 1.60.10 (Mar 8, 2010) |
| ============================== |
| **** This release doesn't support big-endian architecture **** |
| Fixes |
| ----- |
| 1. Problem: CFC HW attention was popping up on 57710 and 57711 |
| when interface was closed |
| |
| Cause: bnx2x_pf_disable() was called for all types of chips |
| |
| Change: Call bnx2x_pf_disable() for 57712 only |
| |
| Impact: Introduced in 1.60.08; applies for 57711 and 57710 only |
| |
| 2. Problem: (FCoE) PFC didn't function properly |
| |
| Cause: Bad values of LLFC watermarks |
| |
| Change: Set LLFC watermarks to proper values |
| |
| Impact: 57712 PFC only |
| |
| 3. Problem: Limiting the number of queues with the num_queues module |
| parameter to a number smaller then the number of CPUs renders |
| the driver inoperable. |
| |
| Cause: The RX RSS indirection table is initialized with bad values. |
| |
| Change: Fixed the indirection table initialization |
| |
| Impact: Introduced in 1.60.01 |
| |
| 4. Problem: VF load for VFs with id greater then 3 crashes the host driver. |
| |
| Cause: The host driver failed to allocate the HW-context for such VFs. |
| |
| Change: Fixed the host driver VF HW-context allocation for VFs. |
| |
| Impact: 57712 IOV only |
| |
| 5. Problem: (CQ45880, CQ46008) On 57712 incorrect statistic information |
| is displayed for ethtool/ifconfig |
| |
| Cause: Reading the information from incorrect memory region |
| |
| Change: Fixed region and registers addresses |
| |
| Impact: 57712 only |
| |
| 6. Problem: (CQ46197) Compilation error on system with undefined value of |
| CONFIG_PCI_MSI |
| |
| Cause: Code was not compiled due to undefined value |
| |
| Change: Removed dependency on this value |
| |
| Impact: Introduced in 1.60.06 |
| |
| 7. 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. |
| |
| Change: Set the appropriate flag for the 84823 which enforce XGXS |
| initialization before external link is up |
| |
| Impact: BCM84823(copper) |
| |
| 8. 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. |
| |
| Change: Send this command only to bootcode which support it. |
| |
| Impact: SFP+ only |
| |
| 9. Problem: Some error statistics weren't counted correctly |
| |
| Cause: The statistics address was miscalculated |
| |
| Change: Fixed address calculation (in FW 6.0.11) |
| |
| Impact: Introduced in 1.60.06 (FW 6.0.3) |
| |
| 10. Problem: iSCSI firmware broken |
| |
| Cause: TCP layer interface was changed |
| |
| Change: Applied new TCP interface to iSCSI firmware (in FW 6.0.11) |
| |
| Impact: Introduced in 1.60.07 (FW 6.0.4) |
| |
| 11. Problem: Possible permanent locking of Tx queue |
| |
| Cause: There was a memory barrier missing after tx_cons update |
| |
| Change: Added a missing barrier |
| |
| 12. Problem: Possible "queue is alive while ring is full" situation |
| |
| Cause: bnx2x_start_xmit() may have run and locked the queue while |
| bnx2x_tx_int() has decided that it may unlock it |
| |
| Change: Take tx_lock while deciding to unlock the queue |
| |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Add clarification for int_mode driver parameter |
| |
| Change: Description fixed; Unnecessary define removed |
| |
| 2. Request: Support MAC partitioning mode (Multi function based on |
| MAC classification) |
| |
| Change: As requested |
| |
| Impact: 57712 only (when set to MAC partitioning mode) |
| |
| 3. Request: Use FW 6.0.12 |
| |
| Change: As requested |
| |
| 4. Request: Use the upstream printouts and mcast iterators semantics |
| |
| Change: As requested |
| |
| |
| |
| Version 1.60.09 (Feb 22, 2010) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: (CQ46006) NIG test A36 failed if the driver was loaded before |
| |
| Cause: Configuration of PGLUE_B register with wrong value, while reset |
| value is good |
| |
| Change: Remove erroneous configuration |
| |
| Impact: 57712 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 |
| |
| Change: (Fixed in FW 6.0.8) offset was generated for slow path sync |
| line index |
| |
| Impact: 57712 only |
| |
| 3. Problem: (FCoE) Terminate handler will not complete |
| |
| Cause: Race between timer expiration and terminate handler invocation |
| |
| Change: (Fixed in FW 6.0.8) |
| |
| Impact: 57712 only |
| |
| 4. Problem: (CQ46052) Compilation warning on older kernels ("warning: |
| assignment discards qualifiers from pointer target type") |
| |
| Cause: The compilation condition regarding the kernel version was |
| mistakenly changed |
| |
| Change: Change the kernel version condition |
| |
| Impact: Introduced in 1.60.08 |
| |
| 5. Problem: (FCoE) (CQ45915): Second CNIC interrupt was never arriving |
| when working with port 1 |
| |
| Cause: Wrong SB ID was used in CNIC functions sending ACK to IGU |
| |
| Change: Added IGU_SB_ID to CNIC interface, fixed CNIC functions |
| sending ACK to IGU to use the new index |
| |
| Impact: Has been introduced in T6.0 |
| |
| Enhancements |
| ------------ |
| 1. Request: For 57712 add support for switch-independent mode |
| |
| Change: As requested |
| |
| 2. Request: Add per-path licensing support |
| |
| Change: (In FW 6.0.9) Support BCM57712 address scheme |
| |
| Impact: 57712 only |
| |
| 3. Request: Minimize DMA transaction to improve PCIE latency |
| |
| Change: (In FW 6.0.9) Packet placement is done in single DMA command |
| instead of two |
| |
| 4. Request: Constant pause avoidance |
| |
| Change: (In FW 6.0.9) 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: 57711/57711E/57712 only |
| |
| 5. Request: Use FW 6.0.9 |
| |
| Change: As requested |
| |
| Impact: iSCSI is not functional in this version |
| |
| Version 1.60.08 (Feb 18, 2010) |
| ============================== |
| **** iSCSI is not functional in this version **** |
| Fixes |
| ----- |
| 1. Problem: (CQ45963,CQ45962) DCBX IOCTL shows unusual values for |
| admin_configuration_ets_pg, admin_pfc_bitmap |
| |
| Cause: Admin section was initialized with incorrect values |
| |
| Change: Choose correct init values |
| |
| 2. Problem: (CQ45961,CQ45960) DCBX IOCTL shows incorrect values for |
| admin_dcbx_enable, dcb_enable |
| |
| Cause: The parameters were ignored by driver |
| |
| Change: Add handling for the parameters |
| |
| 3. Problem: (CQ45763, CQ45799) On 57712 a request can be sent on a disabled |
| function |
| |
| Cause: Request sent from timers block that scans function 6/7 when |
| function 2/3 scan off is set |
| |
| Change: Workaround in the driver that assures that if the timers starts |
| scanning for function 6/7 nothing fatal will occur |
| |
| Impact: 57712 only |
| |
| 4. Problem: (CQ45973) On 57712 bringing up interface caused DMAE timeout |
| |
| Cause: Initialization of function not performed properly |
| |
| Change: Enable function in PGLUE_B module before accessing DMAE |
| |
| Impact: 57712 only |
| |
| 5. 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. |
| |
| Change: Always load the first phy port's firmware |
| |
| Impact: 57712 only and KR only |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Replace references to cnic_drv.h with cnic_if.h |
| |
| Change: As requested |
| |
| 2. Request: Add DRV_CTL_{START,STOP}_L2_CMD capabilities to drv_ctl() |
| |
| Change: As requested |
| |
| 3. Request: Update cnic driver with SP_SB information |
| |
| Change: As requested |
| |
| 4. Request: Add handling for iscsi mac addresses during registrer_cnic() |
| unregister_cnic() and chip_cleanup() |
| |
| Change: As requested |
| |
| |
| Version 1.60.07 (Feb 11, 2010) |
| ============================== |
| **** iSCSI is not functional in this version **** |
| Fixes |
| ----- |
| 1. Problem: (CQ45674) Warning message was displayed when modprobe bnx2x |
| "bnx2x_get_hwinfo ..." |
| |
| Cause: Inappropriate printing level for the message used |
| |
| Change: Set correct level |
| |
| 2. 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. |
| |
| Change: Initialize port0 of both paths of BCM8073 during common init |
| |
| Impact: 57712 only and KR only |
| |
| 3. Problem: PCIE-X link speed is not displayed correctly for 57712 |
| |
| Cause: Misinterpretation of link speed encoded value |
| |
| Change: Fixed for 57712 |
| |
| Impact: 57712 only |
| |
| 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 |
| |
| Change: (In FW 6.0.6) Remove some of the HW buffer uses |
| |
| Impact: introduced in 1.60.01 (FW 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 |
| |
| Change: (In FW 6.0.6) Remove the use of timers command, instead use |
| aggregated interrupts |
| |
| Impact: introduced in 1.60.01 (FW 5.3.19) BCM57710/BCM57711 only |
| |
| 6. Problem: Change MTU causes L4 traffic to stop |
| |
| Cause: Status Block of cnic driver was not updated during nic_load |
| |
| Change: Add cnic SB update |
| |
| Impact: Introduced in 1.60.01 |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 6.0.7 |
| |
| Change: As requested |
| |
| Impact: iSCSI is not functional in this version |
| |
| |
| Version 1.60.06 (Feb 4, 2010) |
| ============================== |
| **** This version requires bootcode 6.0.6 or above for BCM57712 **** |
| |
| Fixes |
| ----- |
| 1. Problem: FCoE wasn't receiving mcast packets, including FIP packets |
| sent to ALL_ENODE_MACS address |
| |
| Cause: There was DROP_ALL_MCAST flag set to FCoE L2 client |
| |
| Change: Set ACCEPT_MCAST flag to FCoE L2 client that will make it |
| receive only matched mcast packets |
| |
| 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 |
| |
| Change: Use different registers to mark the beginning of the shared |
| memory per path. |
| |
| Impact: 57712 only |
| |
| 3. Problem: bnx2x stopped receiving on the VLAN after MTU change |
| |
| Cause: VLAN removal flag was not configured after reloading FW |
| during change MTU flow |
| |
| Change: Configure VLAN removal flag if needed after MTU change |
| |
| 4. Problem: drivers enter infinite loop during crash dump |
| |
| Cause: lack of parentheses in loop expression |
| |
| Change: add parentheses |
| |
| 5. Problem: (iSCSI)(CQ45150) OIS Assert occurred after attempting to |
| login to iSCSI target |
| |
| Cause: Firmware bug |
| |
| Change: Fixed in FW 6.0.2 |
| |
| 6. Problem: (FCoE)(CQ44937) Data corruption after forcing FC-CRC error |
| |
| Cause: Hardware bug when detecting CRC error on FCoE data placement |
| |
| Change: (Fixed in FW 6.0.3) Firmware workaround - Send 64 DMA dummy |
| write commands in order to prevent the false error from |
| appearing |
| |
| 7. Problem: 57712 4-port mode doesn't link up |
| |
| Cause: XGXS wasn't actually configured in this mode since the |
| current MD_DEVAD used didn't work. |
| |
| Change: Use different MD_DEVAD when working with the E2 XGXS |
| |
| Impact: 57712 only |
| |
| 8. Problem: 57712 4-port D2 nic test(internal loopback test) fail |
| |
| Cause: Loopback was set as 10G instead of 1G loopback |
| |
| Change: When speed selection is 1G, set 1G loopback, otherwise |
| set 10G loopback. |
| |
| Impact: 57712 only |
| |
| |
| Enhancements |
| ----------- |
| 1. Request: Add support for KVM SR-IOV (BCM57712 and onwards) |
| |
| Change: As requested |
| |
| 2. Request: Add support for VF devices |
| |
| Change: As requested |
| |
| 3. Request: Update README.TXT and manpages with GRO dependency on 8021q |
| module |
| |
| Change: As requested |
| |
| 4. Request: Use FW 6.0.3 |
| |
| Change: As requested |
| |
| Version 1.60.04 (Jan 26, 2010) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ43831) Driver error reports while loading/unloading under |
| DCC traffic |
| |
| Cause: A race condition between disabling the incoming traffic when |
| unloading and DCC enabling the link |
| |
| Change: Changed DCC enable/disable commands to use a different register |
| setting that will not interfere with normal unload sequence |
| |
| 2. Problem: Driver load under DCC traffic might fail |
| |
| Cause: Lack of lock between driver load command and DCC ack command |
| |
| Change: Add mutex to protect the FW mailbox |
| |
| 3. Problem: ifconfig up reported error while using bootcode 6.0.1 |
| |
| Cause: Lack of lock between DCBX init command and response handling |
| |
| Change: Add mutex to protect the FW mailbox |
| |
| 4. Problem: FW asserts while unloading/loading under DCC enable/disable |
| commands |
| |
| Cause: DCC disable command changed the driver internal state and might |
| overrun state changes which are initiated by the load/unload |
| sequence. This caused the driver to be out of sync with the FW |
| |
| Change: DCC disable/enable command uses different flag and not the |
| driver state |
| |
| 5. Problem: Error message is printed when failing to obtain MSI-X vectors |
| |
| Cause: When trying to work in multi-mode and not getting enough MSI-X |
| vectors, the driver printed an error message indicating that |
| it will use a single queue |
| |
| Change: Since this is a valid condition, the print is allowed under |
| specific messages level only |
| |
| 6. Problem: port 1 of 57712 can't initialize correctly |
| |
| Cause: driver accessed incorrect shmem addresses |
| |
| Change: fixed |
| |
| Impact: 57712/57712E only |
| |
| 7. Problem: 57712 link is not up |
| |
| Cause: There's difference in AER strapping between 57711 and 57712 |
| |
| Change: Set the XGXS AER to the appropriate value according to the |
| new XGXS model |
| |
| Impact: 57712 only |
| |
| |
| Version 1.60.03 (Jan 20, 2010) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Unresolved symbols during compilation on 32bit platforms |
| |
| Cause: Improper initialization of variable with FP symbol |
| |
| Change: Using integer constant instead |
| |
| Impact: Introduced in 1.60.01 |
| |
| 2. Problem: MF dead in the water for 57711 |
| |
| Cause: Improper initialization of the FW caused it to hang |
| |
| Change: Fixed initialization |
| |
| Impact: Introduced in 1.60.01 |
| |
| 3. Problem: HC not enabled for port 1 |
| |
| Cause: Improper initialization the HC in the FW |
| |
| Change: Fixed initialization |
| |
| Impact: Introduced in 1.60.01 |
| |
| 4. Problem: (iSCSI) Unexpected chip behavior when padding is splitted |
| into 2 or 3 parts |
| |
| Cause: Firmware bug when aligning split padding |
| |
| Change: Firmware was fixed |
| |
| Impact: Problem exists in all previous releases |
| |
| 5. Problem: (iSCSI) False data digest error when data digest is splitted |
| into 3 parts |
| |
| Cause: Firmware bug when aligning split padding |
| |
| Change: Fixed in FW 6.0.1 |
| |
| Impact: Problem exists in all previous releases |
| |
| 6. Problem: (FCoE) (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 |
| |
| Change: (Fixed in FW 6.0.1) 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 |
| |
| 7. Problem: (FCoE) 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 |
| |
| Change: (Fixed in FW 6.0.1) Add designated counter for number of |
| active functions |
| |
| Impact: Problem in BCM57712 only |
| |
| 8. Problem: MSI-X vectors request in repeating ifup/ifdown test case |
| fail due to not sufficient amount of resources |
| |
| Cause: MSI-X/MSI were not disabled if ifup failed due to lack of memory |
| |
| Change: Properly release allocated MSI-X/MSI vectors if ifup failed |
| due to lack of memory |
| |
| Enhancements |
| ----------- |
| 1. Request: Remove GRO dependency on kernel version |
| |
| Change: Replaced with dependency on NETIF_F_GRO flag |
| |
| 2. Request: Integrate with bootcode 6.0.0 and above for proper handling |
| of phy initialization in 57712 2-PORT-MODE |
| |
| Change: As requested |
| |
| 3. Request: (CQ39624) Provide detailed statistics with ethtool -S eth<x> |
| |
| Change: As requested |
| |
| 4. Request: Add compatability of GRO feature with RH5.4 systems |
| |
| Change: As requested |
| |
| 5. Request: Improve performance of new HC code (submitted in firmware |
| 5.3.19). Cut the storm utilization by 50% |
| |
| Change: As requested (in FW 6.0.1) |
| |
| 6. Request: Add ability to control BCM8073 PN polarity swap through nvm |
| configuration |
| |
| Change: As requested. |
| |
| 7. Request: Use GPIO3 to take BCM84823 phy out of reset |
| |
| Change: As requested. |
| |
| 8. Request: Use FW 6.0.1 |
| |
| Change: As requested. |
| |
| 9. Request: Add support for FCoE to older kernels |
| (e.g. RH5.4 in-the-box kernel) |
| |
| Change: As requested. |
| |
| |
| Version 1.60.02 (Jan 12, 2010) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Self-test didn't work on kernels newer than 2.6.25 |
| |
| Cause: There was missing a new way to report the number of tests |
| |
| Change: Added a support for a new way to report a number of tests |
| when compiled against new kernels |
| |
| 2. Problem: (iSCSI)(CQ45150) OIS assert @ |
| [bxois!HandleConnectionCqeWorkitem+429] when trying to logon |
| to iscsi target |
| |
| Cause: Firmware bug |
| |
| Change: Fixed in FW 5.3.20.1 |
| |
| Impact: Problem exists only in release T6.0 |
| |
| |
| Enhancements |
| ----------- |
| 1. Request: Add VLAN GRO support |
| |
| Change: As requested |
| |
| 2. Request: Use FW 5.3.20.1 |
| |
| Change: As requested |
| |
| |
| Version 1.60.01 (Jan 12, 2010) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: 57712 emulation failed to run in 4 domains 10G mode |
| (debug only) |
| |
| Cause: Driver accidently accessed non-existing EMAC |
| |
| Change: Remove access to EMAC register in case of emulation |
| |
| 2. Problem: In dual-media, only the SFP+ module on the first phy is checked |
| |
| Cause: Insufficient support in SFP+ module checking |
| |
| Change: 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 |
| |
| 3. Problem: (FCoE) Chip hangs while running normal rd/wr operations |
| |
| Cause: RX Doorbell was not handled properly |
| |
| Change: (Fixed in FW 5.3.18) Handling the case where receiving false |
| RX doorbell |
| |
| 4. 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 |
| |
| Change: (Fixed in FW 5.3.20) Checking if received the amount of data |
| when receiving this format of FCP_RSP |
| |
| 5. 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 |
| |
| Change: (Fixed in FW 5.3.20) on detection of packet with invalid CRC, |
| task cached context isn't write back to memory |
| |
| 6. Problem: (iSCSI) Chip hangs when running iSCSI read traffic |
| |
| Cause: Miscalculation of HW commands when SGEs are not 64-bytes |
| aligned |
| |
| Change: (Fixed in FW 5.3.20) Fixing FW calculation of SGE alignment |
| and fields in HW command |
| |
| 7. Problem: (FCoE) Upper layer didn't know which MAC to use during |
| DCBX negotiation. |
| |
| Cause: Proper MAC (SAN) was not set in the netdev. |
| |
| Change: Call dev_addr_add() with the proper MAC and SAN type. |
| |
| 8. Problem: (FCoE) FIP packets were not ruled by the PFC FC. |
| |
| Cause: FIP packets were arriving on a regular L2 client. |
| |
| Change: Set a different MAC to the FCoE L2 client. |
| |
| |
| Enhancement |
| ----------- |
| 1. Request: Changed the doorbell size (the stride between consecutive |
| doorbells' addresses) from 4K to 128 |
| |
| Change: As requested |
| |
| 2. 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. |
| |
| 3. 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 (in FW 5.3.20) |
| |
| 4. Request: Use FW 5.3.20 |
| |
| Change: As requested |
| |
| 5. Request: Add DCBX support for 57711 |
| |
| Change: As requested |
| |
| 6. Request: Remove #ifdef CONFIG_PCI_MSI sections from code |
| |
| Change: Removed #ifdef CONFIG_PCI_MSI sections. Left the code that was |
| compiled when this (CONFIG_PCI_MSI) macro has been defined. |
| |
| Version 1.53.14 (Dec 7, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: (CQ41760) Use more generic log message in case of fan failure |
| |
| Change: As requested |
| |
| 2. Request: (CQ43089) Add VPD-R V0 entry to displayed firmware revision in |
| ETHTOOL |
| |
| Change: As requested |
| |
| 3. Request: Use FW 5.3.17 |
| |
| Change: As requested |
| |
| 4. Request: Enable parity errors recognition and recovery. |
| |
| Change: First implementation of parity error recovery flow. Currently |
| only "process kill" is supported. Parity errors are currently |
| disabled for E1 until the proper changes are done to init |
| tool. |
| |
| Version 1.53.13 (Nov 17, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Improper initialization of MF/SF causes driver to stall |
| |
| Cause: Using uninitialized values of fpid |
| |
| Change: Using fpid moved to later stages after its initialization |
| |
| Impact: None |
| |
| |
| Version 1.53.12 (Nov 16, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: CQ41232: Management gets incorrect AN and FC bit values. |
| |
| Cause: FC wasn't updated correctly during link up event |
| |
| Change: Extract all status_link information correctly |
| |
| Impact: None |
| |
| 2. Problem: CQ36401: Excessive link down messages when driver is unloaded |
| |
| Cause: Link event is reported for every link event, even when link |
| is not changed |
| |
| Change: Do not report link change unless there's actually link link |
| change |
| |
| Impact: None |
| |
| 3. Problem: BCM8481 doesn't negotiate FC capabilities |
| |
| Cause: FC capabilities weren't advertised during phy initialization |
| |
| Change: Set BCM8481 FC capabilities during init stage |
| |
| Impact: None |
| |
| 4. Problem: (FCoE) Completions are not arrived on open tasks |
| |
| Cause: Connection does not register to QM since SQ producer/consumer |
| |
| Change: Fixed in FW 5.3.14: Set BCM8481 FC capabilities during |
| init stage |
| |
| Impact: None |
| |
| |
| Enhancement |
| ----------- |
| 1. Request: Support bootcode on 57712 |
| |
| Change: As requested |
| |
| Impact: 577712 Only |
| |
| 2. Request: Allocate available MSI-X vectors in normal mode |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 3. Request: Use multi cpu rx when using msix in kernels without new napi |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 4. Request: support correct number of iSCSI and FCoE sessions in the HW |
| initializations |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 5. Request: support any number of L2 queues in the HW |
| initializations |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 6. Request: Hanlde both Tx and Rx in NAPI |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 7. Request: Support 4-port mode for 57712 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 8. Request: Use FW 5.3.14 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.11 (Nov 11, 2009) |
| ============================== |
| Fixes |
| ----- |
| 1. Problem: When iptable_nat module is installed on RH4, traffic halts |
| |
| Cause: iptable_nat on RH4 requests for GSO without asking for csum |
| offload |
| |
| Change: When configuring the HW/FW to GSO, always configure csum |
| offload as well |
| |
| 2. Problem: (FCoE) Chip hanged during data placement |
| |
| Cause: Thread started placing data before verifying the task type |
| |
| Change: Fixed in FW 5.3.13: verify task type is match to read in |
| FCP_DATA before placement |
| |
| Impact: None |
| |
| 3. Problem: (CQ44328) (FCoE) Chip hanged after error was detected |
| |
| Cause: Thread was waiting for CRC result instead |
| of releasing the packet |
| |
| Change: Fixed in FW 5.3.13: Release the packet if an error occurred |
| during data placement |
| |
| Impact: None |
| |
| Enhancement |
| ----------- |
| 1. Request: Use FW 5.3.13 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| |
| Version 1.53.10 (Nov 08, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: Use FW 5.3.12 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.9 (Oct 27, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: ethtool -t ethX FAILED |
| |
| Cause: test_registers() accessed registers without mask |
| |
| Change: Added mask for write access |
| |
| Impact: None |
| |
| Version 1.53.8 (Oct 26, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: Use FW 5.3.10 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.xx (Oct xx, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: Improve times for ifconfig up/down (slow 57712 chip revision) |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.xx (Oct xx, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: Add support for EMAC loopback for FPGA |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.7 (Oct 22, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: Use FW 5.3.9 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 2. Request: Remove compilation flag for |
| BCM57712/BCM57712E/BCM57713/BCM57713E |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.6 (Oct 21, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: 57712 multifunction support |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.5 (Oct XX, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Failed to build bnx2x in chroot build environment |
| |
| Cause: The Makefile attempted to run with -j flag to utilize all CPU |
| in the system and in chroot environment it resulted with "-j 0" |
| |
| Change: The Makefile should not force the -j option. Removed this |
| feature |
| |
| Impact: Without explicitly providing the -j flag when compiling the |
| driver, the compilation will consume more time |
| |
| Version 1.53.4 (Oct 11, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Priority Flow Control on BCM57711 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 |
| |
| Change: Fixed in FW 5.3.8: set properly PriorityEnableVector in Xon |
| PFC packet |
| |
| Impact: None |
| |
| |
| 2. Problem: (CQ43517) SLES11u0 iSCSI: SUT hangs when unexpected FIN packet |
| was received under traffic |
| |
| Cause: FW erroneously increased activity counter |
| |
| Change: Fixed in FW 5.3.8: condition for activity counter increment |
| fixed |
| |
| Impact: None |
| |
| |
| 3. Problem: (CQ43517) SLES11u0 iSCSI: SUT hangs when unexpected SYN packet |
| was received under traffic |
| |
| Cause: TCP reset initiated by FW caused endless wake ups for FW |
| |
| Change: Fixed in FW 5.3.8: changed setting of FW internal flags |
| |
| Impact: None |
| |
| |
| 4. 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 |
| |
| Change: Fixed in FW 5.3.8: use the scratchpad within the thread |
| boundary only |
| |
| Impact: None |
| |
| |
| 5. Problem: iSCSI offload: TCP Close failed |
| |
| Cause: Bug in byte credit update during termination |
| |
| Change: Fixed in FW 5.3.8 |
| |
| Impact: None |
| |
| |
| 6. Problem: FCoE INIT ramrod was never completed |
| |
| Cause: Reading from inappropriate VQ in Tstorm |
| |
| Change: Fixed in FW 5.3.8: reading from to the correct VQ |
| |
| Impact: None |
| |
| |
| Enhancement |
| ----------- |
| 1. Request: BCM577xx support for FW 5.3.8 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| |
| 2. Request: Adding support broadcast and multicast received packets in |
| L2 switch independant mode |
| |
| Change: In FW 5.3.8 as requested |
| |
| Impact: None |
| |
| |
| Version 1.53.3 (Oct xx, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Only Tx queue 0 was used in default configuration on |
| kernel 2.6.30 and above |
| |
| Cause: bnx2x_select_queue() was returning 0 by default |
| |
| Change: Make bnx2x_select_queue() return stack tx_hash() by default |
| |
| Impact: None |
| |
| |
| Enhancement |
| ----------- |
| 1. Request: Add a separate L2 ring for FCoE L2 traffic |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.2 (Oct 8, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: 57712 failed to receive data from network |
| |
| Cause: Incorrect MAC type selected during initialization |
| |
| Change: MAC initializaton fixed |
| |
| Impact: None |
| |
| 2. Problem: 57712 failed to bring up interface |
| |
| Cause: Unhandled attention interrupt caused processor to stall |
| |
| Change: Added handling for new attentions |
| |
| Impact: None |
| |
| Version 1.53.1 (Oct 5, 2009) |
| ============================== |
| |
| Enhancement |
| ----------- |
| 1. Request: 57712 support for FW 5.3.7 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.53.xx (Sep xx, 2009) |
| ============================== |
| |
| 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 |
| |
| Version 1.53.0a (Oct 1, 2009) |
| ============================== |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 5.3.7 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 2. Request: Add support for BCM57712 (by compilation flag) |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.51.0a (Sep 14, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. 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. |
| |
| Change: Change the fairness credit init value. |
| |
| Impact: None. |
| |
| 2. 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 TPA aggregation. |
| So in case less then 75 CQEs are on the ring, the firmware |
| starts dropping packets. |
| |
| Change: Check if TPA is enabled before deciding if to drop packet. |
| If TPA is disabled save only 11 CQEs instead of 75. |
| |
| Impact: None. |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 5.3.4 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.51.x (Aug xx, 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 |
| |
| Change: 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 configurtion of the LED4 signal |
| which generate the interrupt |
| |
| Change: Detect link down using the LED4 signal rathen than the BCM8481 |
| registers |
| |
| 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 |
| |
| Change: 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 |
| |
| Change: Detect link down using the LED4 signal rather than the BCM8481 |
| registers |
| |
| Impact: None |
| |
| 5. Problem: Driver might read corrupted data from shared memory in case |
| bootcode is missing |
| |
| Cause: Some pieces of code are not protected in case bootcode is |
| missing |
| |
| Change: Add additional protection in case bootcode is missing |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: When PFC enabled, pass pause frames towards the NIG |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 2. Request: Improve FP performance |
| |
| Change: Remove writing ACK to USTORM from Tx flow and to CSTORM from |
| Rx |
| |
| Impact: None |
| |
| 3. Request: Handle fan failure for BCM8481 PHY |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 4. 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 affects all packets regardless of RX Parser packet |
| sorting logic. |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 5. Request: Use FW 5.1.23.1 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 6. Request: Support kernel 2.6.31 (RC2) |
| |
| Change: Use DMA_MAP macros and .ndo_select_queue |
| |
| Impact: None |
| |
| 7. Request: (CQ41112) - PHY LED Programming for BCM8481 on BlackBird |
| (BCM957711A1100G) Production Board |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 8. Request: Increase DMAE max write size for 57711/57711E |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 9. Request: Not handling statistics in panic condition |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 10. Request: Enhance bnx2x_panic_dump() - print SB data |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.52.2 (Aug 18, 2009) |
| ============================= |
| Fixes |
| ----- |
| 1. Problem: (CQ42998) 57711E PF on OS linked even after unassigning |
| network in VC |
| |
| Cause: ethtool reports the physical link status instead of PF OS |
| link status |
| |
| Change: bnx2x_get_link() returns no link if driver is not in open |
| state |
| |
| Impact: None |
| |
| 2. Problem: ethtool displays 57711E PF link speed as 0 in certain |
| scenario |
| |
| Cause: VC assigned network and max bandwidth were not refreshed |
| during driver load |
| |
| Change: Refresh the VC assigned network and max bandwidth during |
| driver load |
| |
| Impact: None |
| |
| 3. Problem: syslog and kernel logs always report 57711E PF speed |
| as 10000 Mbps |
| |
| Cause: bnx2x_link_report() reports the actual physical link speed |
| instead of the max bandwidth assigned to the PF |
| |
| Change: Report the max bandwidth assigned to the PF |
| |
| Impact: None |
| |
| 4. Problem: In some cases FW does not respond in time to driver requests |
| and thus driver load fails |
| |
| Cause: For certain PHYs, FW might need some more time before |
| responding to driver request |
| |
| Change: Increase the timeout up to 5 sec |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Set interrupt coalescing granularity to 4us instead of 12us |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 2. Request: Change default interrupt coalescing numbers to supported |
| numbers |
| |
| Change: Since the interrupt coalescing granularity is 4us, a value of |
| 25 is actually configured as 24 to the HW |
| |
| Impact: None |
| |
| 3. Request: Fix bnx2x_fw_dump() to compute trace start address based on |
| shmem offset |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.52.1 (Aug 12, 2009) |
| ============================= |
| -- Upstream Version -- |
| 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 |
| |
| Change: Remove SGMII configuration in non-SGMII link type |
| |
| Impact: None |
| |
| 2. Problem: BCM8481 link is down after cable plug out/in |
| |
| Cause: New BCM8481 image required new configuration of the LED4 signal |
| which generate the interrupt |
| |
| Change: Detect link down using the LED4 signal rather than the BCM8481 |
| registers |
| |
| Impact: None |
| |
| |
| 3. Problem: (CQ35477) Incorrect display of External Phy Firmware Version |
| for Everest XFP board. |
| |
| Cause: External Phy Firmware Version for BCM8705 PHY used to display |
| 0000:0000 |
| |
| Change: Change not to display PHY FW version |
| |
| 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. |
| |
| Change: First load the SPIROM to the master port. |
| |
| Impact: None |
| |
| 5. Problem: Possible FW assert in driver unload/load test case |
| |
| Cause: Possible race on statistics state machine state change |
| |
| Change: Added a write barrier to ensure that the state change is |
| committed |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: In promiscuous mode, pass management traffic to the host |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: PCI drivers that implement the struct pci_error_handlers' |
| error_detected callback should return PCI_ERS_RESULT_DISCONNECT |
| if the state passed in is pci_channel_io_perm_failure |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 3. Request: (CQ41112) PHY LED Programming for BCM8481 PHY |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 4. Request: (CQ41067) Add support for CL73 on XAUI |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.52.0 (Jul 28, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: Redundant settings of vlan_features at set_tso |
| |
| Cause: There is no need to change vlan_features at set_tso since this |
| field is a capability field and not current settings |
| |
| Change: Remove redundant code |
| |
| Impact: None |
| |
| 2. Problem: (CQ42550) No host traffic when NCSI is enabled on some systems |
| |
| Cause: The driver did not set the required filtering flags and |
| received only traffic which was not intended for the BMC - on |
| some systems, this is not enough and the driver should enable |
| its own masking |
| |
| Change: Setup the driver mask to receive traffic even when NCSI is |
| enabled |
| |
| Impact: None |
| |
| Version 1.50.13 (Jul 22, 2009) |
| ============================== |
| |
| Enhancements |
| ------------ |
| 1. Request: Update to FW 5.0.21 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.50.12 (Jul 16, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: In some TPA aggregation cases, might go into TCP slow-start |
| instead of fast-retransmit |
| |
| Cause: When TPA is used, pure ACK on open aggregation was aggregated |
| |
| Change: (FW 5.0.20) Do not aggregate pure ACK packets in TPA |
| |
| Impact: None |
| |
| Version 1.50.11 (Jul 7, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: Setting rx-usecs to the value less than 12 causes the |
| traffic to stop |
| |
| Cause: Did not disable HC coalescing when set the coalescing timeout |
| to zero (coalescing timeouts are multiples of 12us) |
| |
| Change: 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 |
| |
| Change: Disable management egress traffic when driver is in diag mode |
| |
| Impact: None |
| |
| Version 1.50.10 (Jul 1, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ42298) Management traffic does not resume after self test |
| |
| Cause: Writing to the egress management FIFO during the memory test |
| interpreted as a start of a management packet and cause the |
| FIFO not to be empty |
| |
| Change: Remove the write to the egress management FIFO from the self |
| test |
| |
| Impact: None |
| |
| 2. Problem: Link up time takes too long with BCM8727 based NICs |
| |
| Cause: EDC mode is not set automatically |
| |
| Change: Set EDC mode manually according to the SFP+ module type |
| detected (Passive DAC / Active DAC / LC-LRM / LC-SR / LC-LR) |
| |
| Impact: None |
| |
| 3. 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. |
| |
| Change: 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 |
| |
| Version 1.50.9 (Jun 25, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: Low throughput when using VLAN on kernel 2.6.26 or above |
| |
| Cause: New VLAN_features field in struct net_device was not |
| initialized hence no offload capabilities were available with |
| VLAN |
| |
| Change: Initialize VLAN_features field in struct net_device |
| |
| Impact: None |
| |
| 2. Problem: No event log in case fan failure occured prior to loading the |
| driver |
| |
| Cause: The event was not detected since it was already set when the |
| driver was loaded |
| |
| Change: Check for the event on load time |
| |
| Impact: None |
| |
| 3. Problem: Loopback test in self test might fail in case NCSI is enabled |
| |
| Cause: NCSI egress traffic is received instead of the loopback test |
| packets |
| |
| Change: Disable NCSI egress traffic during loopback test |
| |
| Impact: None |
| |
| 4. Problem: ethtool reports link up when the device is down |
| |
| Cause: Bug in ethtool_op_get_link() |
| |
| Change: Use bnx2x_get_link() instead |
| |
| Impact: None |
| |
| 5. Problem: 57711E WoL does not work if only one function per port was |
| active prior to shutdown |
| |
| Cause: WoL is configured to work in SF mode |
| |
| Change: Set the chip back to SF mode (so WoL will work) even if only |
| one function was loaded per port in MF mode |
| |
| Impact: None |
| |
| Version 1.50.8 (Jun 8, 2009) |
| ============================ |
| |
| Fixes |
| ----- |
| 1. Problem: When running many TCP connections (>200) on both ports, some |
| connections hangs |
| |
| Cause: When all TPA aggregations are occupied, FW can override the RX |
| CQE consumer of the other port |
| |
| Change: Fix in FW 5.0.18: reload the RX CQE consumer from RAM after TPA |
| handler breaks to sleep |
| |
| Impact: None |
| |
| 2. Problem: CL73 enhancement causes link down |
| |
| Cause: Unknown |
| |
| Change: Revert CL73 enhancement until problem resolved |
| |
| Impact: None |
| |
| Version 1.50.7 (Jun 4, 2009) |
| ============================ |
| |
| Fixes |
| ----- |
| 1. 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 |
| |
| Change: When set to warning - enable the module. Validate that the |
| module is present before checking for over current indication |
| |
| Impact: None |
| |
| 2. Problem: The coalescing timeout value displayed by `ethtool' is |
| different for the one used by the FW |
| |
| Cause: The limitation for coalescing timeout values in driver's |
| `ethtool -C' callback was wrong |
| |
| Change: Fix the limitation for coalescing timeout in `ethtool -C' |
| callback |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Reduce the number of cache misses in a fast path |
| |
| Change: Avoid extra cache miss by updating `trans_start' from inside |
| start_xmit() as long as it's done by the core network layer |
| starting from kernel 2.6.31 |
| |
| Impact: None |
| |
| 2. Request: (CQ41067) Add 5771x CL73 support |
| |
| Change: As requested |
| |
| Impact: Everest is now able to link with devices which operate in CL73 |
| alone / CL37 alone / or both |
| |
| 3. Request: Make 8727 over-current behavior code more efficient |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.50.6 (Jun 1, 2009) |
| ============================ |
| |
| Fixes |
| ----- |
| 1. Problem: In 8727, after power-fault occurred and the driver is |
| unloaded and then reloaded, the interrupt is not cleared |
| |
| Cause: In this scenario, the mod_abs mode remain in "wait for |
| module plugged in", so interrupt was not cleared |
| |
| Change: Set module_absent to wait for module absent scenario |
| |
| Impact: None |
| |
| 2. Problem: There is no need to read the warning string for un approved |
| modules from the FW/nvram |
| |
| Cause: This is over design that cause unnecessary overhead - a |
| constant string can be used |
| |
| Change: Use constant warning string instead of receiving it from |
| FW/nvram |
| |
| Impact: Warning message is not to be used in the modules nvram file |
| |
| 3. Problem: High CPU usage in bnx2x_free_tx_pkt() |
| |
| Cause: prefetch(skb_shinfo(skb)) implied immediate cache miss when |
| NET_SKBUFF_DATA_USES_OFFSET is enabled |
| |
| Change: Replaced prefetch(skb_shinfo(skb)) by prefetch(&skb->end). |
| This would prefetch only the first one from two cache misses |
| needed for reading of skb_shinfo(skb)->nr_frags, which is |
| needed by dev_kfree_skb(skb), but it will do it in a |
| background avoiding an immediate CPU stall |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add support for BCM8727 without over current detection |
| (BCM8727_NOC) |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.50.5 (May 26, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ38975) Failed to setup leading connection after |
| a lot of iterations of "down-up" test. Workaround for CQ37893 |
| (Use INTx mode when MSI-X fails due to memory allocation |
| failure) was broken |
| |
| Cause: bnx2x_set_int_mode() wasn't returning a status, thus there |
| was no way to catch a mentioned above memory allocation |
| failure |
| |
| Change: Return a status from bnx2x_set_int_mode() |
| |
| Impact: None |
| |
| 2. Problem: (CQ41349) Linux panic when disabling RX chksum and running RX |
| traffic |
| |
| Cause: TPA enabled option was not controlled per function/queue level |
| |
| Change: FW fix in version 5.0.16: TPA enabled is now controlled per |
| function/queue level |
| |
| Impact: None |
| |
| 3. Problem: (CQ41434) ethtool -S <NIC> was printing junk on kernels with |
| RSS support |
| |
| Cause: There was a bug in function returning number of lines in |
| device statistics bnx2x_get_stats_count - it was returning |
| more than there actually were) |
| |
| Change: Make bnx2x_get_stats_count return the correct number |
| |
| 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: Determine if fan failure enforcement is required according to |
| nvram configuration. The configuration can be auto enforcement |
| according to the PHY type, disabled or enabled |
| |
| Impact: None |
| |
| 3. Request: Support firmware flow control when consuming SGEs |
| |
| Change: FW change in FW 5.0.16: Added check for Flow control when |
| consuming SGEs from host |
| |
| Impact: None |
| |
| 4. Request: Advertise driver DCC capabilities |
| |
| Change: As requested |
| |
| Impact: None |
| |
| |
| Version 1.50.4 (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 |
| |
| Change: FW fix in version 5.0.14 |
| |
| Impact: Regression introduced in v1.50.2 |
| |
| 2. Problem: (CQ41198) modprobe generate error on RH4.6 or 4.7 which will |
| cause kernel panic |
| |
| Cause: pci_register_driver() returns count and not errno |
| |
| Change: Ignore the return code from pci_register_driver() in kernels |
| below 2.6.10 |
| |
| Impact: None |
| |
| 3. Problem: (CQ38975,CQ38925) Failed to setup leading connection after |
| a lot of iterations of "down-up" test |
| |
| Cause: There were a few memory barriers missing |
| |
| Change: Add missing memory barriers |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Reduce the time spent in skb_release_data() |
| |
| Change: Add prefetch(&skb->end) before calling dev_kfree_skb in order |
| to bring in the cache line that skb_release_data() will |
| eventually need (based on the bnx2 patch proposed by |
| Eric Dumazet) |
| |
| Impact: None |
| |
| 2. Request: (CQ33228) Add required IOCTLs to support PHY FW upgrade |
| |
| Change: Add 3 magic numbers to the ethtool -E (eeprom) command to |
| support PHY FW upgrade init, PHY FW upgrade complete, and PHY |
| re-init after upgrade |
| Add CL45 MDIO IOCTL support |
| |
| Impact: None |
| |
| 3. Request: Add support for BCM8481 SPI-ROM upgrade |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.50.3 (May 14, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ40848,CQ40835) System breaks due to a firmware assert |
| |
| Cause: Firmware asserted when PCI read latency for RX BD ring was |
| longer then 20usec |
| |
| Change: FW fix in version 5.0.12: Replace the workaround by a flow |
| which polls on the RX BD ring every 4usec |
| |
| Impact: None |
| |
| 2. Problem: (CQ36705) Performance on 57711/57711E is lower when flow |
| control is enabled than when flow control is disabled |
| |
| Cause: L2 firmware flow control was enabled for 57711/57711E and |
| caused performance decrease |
| |
| Change: Disable L2 firmware flow control by default (add new module |
| parameter to enable it) |
| |
| Impact: None |
| |
| 3. Problem: Workqueue might not be freed if driver fail to register |
| |
| Cause: Workqueue is not freed if driver fail to register |
| |
| Change: Free workqueue when driver fail to register |
| |
| Impact: None |
| |
| 4. Problem: Negative number of received packages might be returned in |
| STOP_ON_ERROR debug mode |
| |
| Cause: Negative errno is returned in STOP_ON_ERROR debug mode |
| |
| Change: Do not return negative number of received packages |
| |
| Impact: None |
| |
| 5. Problem: Fan failure on BCM8727 was not supported on port 1 |
| |
| Cause: The fan failure assertion was tied only to port 0 |
| |
| Change: The fan failure assertion is tied to port 1 also |
| |
| Impact: None |
| |
| 6. 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. |
| |
| Change: 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 |
| |
| 7. Problem: (CQ41000) Could miss link up event in BCM8727 right after |
| optic module insertion |
| |
| Cause: At the time that SFP+ module plugged-in was triggered, |
| driver enabled the module while ignoring link change |
| |
| Change: Check for link changes during module plugged in/out |
| |
| Impact: None |
| |
| 8. 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 |
| |
| Change: When setting 10G, enforce 10G configuration, and not relay |
| on the default configuration. |
| |
| Impact: None |
| |
| |
| 9. Problem: (CQ40840) BCM57710 didn't receive multicast packets |
| |
| Cause: BCM57710 was unable to receive multicast packets. This BUG |
| was introduced with transition to the new Rx HSI. It's unlikely |
| that this failure is SuSE 11 specific |
| |
| Change: Fix BCM57710 specific multicast configuration code |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add dropless_fc module parameter to send pause frames in |
| case where one of the host buffers (when in RSS mode) are |
| exhausted |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.50.2 (May 05, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ40300) XFP adapter shows link up in network properties |
| with no cable |
| |
| Cause: Link status register was updated long after interrupt was |
| triggered |
| |
| Change: Check that RX PMD Loss of Sync bit is cleared and RX PMD Sync |
| Acquired bit is set to detect link |
| |
| Impact: None |
| |
| 2. 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 |
| |
| Change: 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 |
| |
| |
| |
| Enhancements |
| ------------ |
| 1. Request: Improve Tx packet rate |
| |
| Change: FW 5.0.10 |
| |
| Impact: None |
| |
| 2. Request: Add support for future chip revisions |
| |
| Change: From now on bnx2x_main.c doesn't include huge X_init_values.h |
| files. Instead X_init_values.h were transformed to |
| X_init_values.c, which also include internal pointers |
| initialization function for the appropriate chip revision |
| |
| Impact: None |
| |
| 3. Request: Add additional support for BCM8727 |
| |
| Change: Add support module detection, over-current detection and |
| SFP+ EEPROM access |
| |
| Impact: None |
| |
| 4. Request: Add fan-failure check for BCM8727 |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.50.1 (April 27, 2009) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ39681) Dtape test fails on Dell TL2000 media changer device |
| |
| Cause: Misalignment between driver and firmware |
| |
| Change: FW fix in version 5.0.8 |
| |
| Impact: None |
| |
| 2. Problem: When several protocols work together, interrupt rate is the |
| sum of all protocol rates, instead of the maximum between them |
| |
| Cause: State machines in host coalescing code were independent |
| and generated interrupts on their will |
| |
| Change: FW fix in version 5.0.8: Add dependency between the states |
| machine - when an interrupt |
| is generated then all state machines of this status block |
| are handled as expired, resulting with lower interrupt rate |
| |
| Impact: None |
| |
| 3. 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. |
| |
| Change: 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 |
| |
| 4. Problem: BCM8481 is not able to link up in legacy speeds |
| |
| Cause: Setting legacy speeds requires additional phy configuration, |
| and speed analysis |
| |
| Change: Enable legacy speeds for this phy |
| |
| Impact: None |
| |
| 5. Problem: (CQ40392) Build for SLES11 do not autoload on reboot |
| |
| Cause: SLES11 disables modules whose source is not maintained in the |
| kernel.org source tree |
| |
| Change: Provide "supported: external" modules for SLES11 |
| |
| Impact: None |
| |
| 6. Problem: BCM8481 is not able to link with 10/100 switch |
| |
| Cause: XGXS was initializaed to work in none-SGMII mode |
| |
| Change: Set XGXS to work in SGMII mode if link speed is slower the 1G |
| |
| Impact: None |
| |
| 7. Problem: Potential error on unload |
| |
| Cause: The ILT could have been freed while a timer scan is in progress |
| |
| Change: Make sure that the timer scan is done before freeing the ILT |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Improve Tx latency |
| |
| Change: Removed taking tx_lock in Tx interrupt flow. This also |
| voided a need for tx_xon_tasklet - Tx is moved to XON state |
| directly from bnx2x_tx_int |
| |
| Impact: None |
| |
| 2. Request: Add support for new BMAC HW block for new chip types |
| |
| Change: When accessing the new BMAC, use the new registers. |
| No need to initialize the PBF HW block credits since |
| flow-control is always enable in that block. |
| |
| Impact: None |
| |
| 3. Request: Enable support for other chips in more general way. |
| |
| Change: Split init values and FW into 2 different files. Work |
| against pointers in bnx2x struct instead of global arrays. |
| |
| Impact: None |
| |
| 4. Request: Add initial support for BCM8727 |
| |
| Change: Add support for the new dual-port SFP+ phy |
| |
| Impact: None |
| |
| 5. Request: In BigMac2, when PFC enabled, pass pause frames towards the NIG |
| |
| Change: Set the appropriate bit in the bigmac control register |
| |
| Impact: None |
| |
| 6. Request: Improve Rx packet rate |
| |
| Change: FW 5.0.8 |
| |
| Impact: None |
| |
| Version 1.50.0 (April 02, 2009) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Rx was getting stuck on ia64 platform when system page size |
| was configured to be 64KB on the kernels 2.6.27 and later |
| |
| Cause: The implementation on PAGE_ALIGN macro has been changed, |
| which caused downcast in some places in the code and as a |
| result improper HW configuration |
| |
| Change: Add a proper casting for the argument of SGE_PAGE_ALIGN macro |
| |
| Impact: None |
| |
| 2. 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 |
| |
| Change: Set link led up on loopback test |
| |
| 3. 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 |
| Everest |
| |
| Change: BCM8481 will connect LED4 signal to the Everest LASI signal. |
| The Everest will use the NIG latching mechanism which allows to |
| catch a link event even if the link toggles fast |
| |
| 4. Problem: SFP+ (BCM8726) boards do not use flow-control |
| |
| Cause: Flow control wasn't set for BCM8726 |
| |
| Change: Set flow control according to configuration in BCM8726 |
| |
| Impact: None |
| |
| 5. Problem: Flow-control in MF mode should behave like in SF mode |
| |
| Cause: Old restriction which is not necessary |
| |
| Change: Remove special flow-control configuration in MF mode |
| |
| Impact: None |
| |
| 6. Problem: 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 |
| |
| Change: FW fix in version 5.0.3: Add RAM line for default SB to dynamic |
| HC array |
| |
| Impact: None |
| |
| 7. Problem: (CQ39503) Transmission stops for 5 second |
| |
| Cause: Confusion in scaling of the receive window of the remote. |
| Sometimes it is taken "as is" as a number of bytes, without |
| scaling |
| |
| Change: FW fix in version 5.0.3: Scaling added in 3 places in the code |
| |
| Impact: None |
| |
| 8. Problem: Low performance on Tx side in UDP test with small packets |
| |
| Cause: Extra memory barrier in Tx flow |
| |
| Change: Replace mb() to wmb() |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Improve FW performance |
| |
| Change: HC coalescing has been moved from USTORM to CSTORM. |
| TSTORM performance has been improved. FW 5.0.3 |
| |
| Impact: None |
| |
| 2. Request: Add support for DCC |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 3. Request: Improve performance |
| |
| Change: Connect Tx and Rx to different interrupt vectors |
| |
| Impact: None |
| |
| 4. Request: Add module parameter controlling number of Rx and Tx queues |
| |
| Change: As requested. Number of Tx queues must be not more than |
| number of Rx queues |
| |
| Impact: None |
| |
| 5. Request: Add "per function" statistics support for NCSI management |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.48.106 (Mar 04, 2009) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ38925) Unload/Load with netperf TCP traffic test |
| eventually caused a SETUP ramrod failure |
| |
| Cause: ISR discarded a SP interrupt due to weak synchronization of |
| atomic variable that disables interrupt handling (intr_sem) |
| |
| Change: Add write memory barriers where intr_sem is updated |
| |
| Impact: None |
| |
| 2. Problem: Possible problem in pram initialization |
| |
| Cause: There was a bug in init code generation script |
| |
| Change: Fix the pram initialization |
| |
| Impact: None |
| |
| Version 1.48.105 (Mar 02, 2009) |
| =============================== |
| -- Upstream Version -- |
| Fixes |
| ----- |
| 1. Problem: Unload/Load test under traffic caused kernel panic in |
| skb allocation/freeing functions |
| |
| Cause: Previously added patch (enhancement 6 in release 1.48.100) |
| broke proper usage of net_device object |
| |
| Change: Remove the mentioned patch |
| |
| Impact: None |
| |
| Version 1.48.104 (Mar 01, 2009) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: New phy version (P14) of the BCM8726 unable to link up |
| |
| Cause: The new phy version doesn't behave exactly like its |
| previous version (P13), hence requires some adjustments |
| |
| Change: 1. Microcode download requires write of another register |
| 2. Read from "Limiting/LRM mode" register before setting |
| Limiting mode |
| |
| Impact: No impact on P13 |
| |
| Enhancements |
| ------------ |
| 1. Request: Add limited (online) GRC dump using ethtool -d command |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.48.103 (Feb 19, 2009) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: "ext_phy_fw version" command for BCM8705 shows invalid number |
| |
| Cause: BCM8705 has no microcode |
| |
| Change: Set BCM8705 version to 0 |
| |
| Impact: None |
| |
| 2. 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 |
| |
| Change: Ignore error code when setting limiting mode |
| |
| Impact: None |
| |
| 3. Problem: (CQ38925, CQ38975) "Wait Ramrod" error while running |
| load/unload stress w/ traffic |
| |
| Cause: Tx wasn't properly disabled in the 'close' flow |
| |
| Change: Properly disable Tx during 'close' flow |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Use DMAE to zero the FW internal memory before loading the FW |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: Remove "budgeting" in bnx2x_tx_int |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 3. Request: By default, multi_mode is disabled for old NAPI kernels |
| (up to 2.6.24) |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.48.102 (Feb 12, 2009) |
| =============================== |
| -- Upstream Version -- |
| Fixes |
| ----- |
| 1. Problem: FW stats counters might not be updated when running heavy |
| stress test |
| |
| Cause: Sending FW stats ramrod query depends on stats_pending flag. |
| This flag might not be cleared by sp_task() under heavy stress. |
| Thus, next FW stats ramrod query will not be send |
| |
| Change: Clear stats_pending flag at the end of storm_stats_update() |
| |
| Impact: None |
| |
| Version 1.48.101 (Feb 09, 2009) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Compilation is broken on kernels >= 2.6.24 |
| |
| Cause: FW constant rename was not updated in latest drop |
| |
| Change: Fix constant name |
| |
| Impact: None |
| |
| Version 1.48.100 (Feb 09, 2009) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: "ext_phy_fw version" command 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 |
| |
| Change: During init phase of the BCM8706, wait until the firmware |
| is loaded completely before reading the version number |
| |
| Impact: None |
| |
| 2. 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 |
| |
| Change: Set pre-emphasis values in XGXS only for direct type boards |
| |
| Impact: None |
| |
| 3. Problem: (CQ37809) loopback test failure |
| |
| Cause: The link was initialized for real work mode and then |
| re-init to loopback mode. During that time, incoming packets |
| might be queued in the rx ring in front of the loopback packet |
| |
| Change: Always initialize the link to loopback mode if load_mode is |
| LOAD_DIAG |
| |
| Impact: None |
| |
| 4. Problem: Possible false error in the idle check section of the |
| self test regarding the CFC_REG_ACTIVITY_COUNTER register |
| |
| Cause: The test was designed to check halted system (after fatal |
| error) and thus assumed that the chip is idle |
| |
| Change: Change the test to "info" debug print |
| |
| Impact: None |
| |
| 5. Problem: (CQ39439) mf_cfg function disabled error message displayed |
| |
| Cause: Putting the driver into disabled mode was considered an error |
| |
| Change: Change the printed message from error to a notification |
| |
| Impact: None |
| |
| 6. Problem: (CQ38925, CQ37645) ifconfig ethX down up may cause a wrong |
| MSI configuration, which will prevent MSI interrupts to arrive |
| |
| Cause: Chip reset function cleared "MSI reconfigure enable" bit |
| |
| Change: Don't clear the "MSI reconfigure enable" bit |
| |
| Impact: None |
| |
| 7. Problem: Uninitialized HW blocks |
| |
| Cause: XCM and BRB1 port init part were missing |
| |
| Change: Add XCM and BRB1 port init part |
| |
| Impact: None |
| |
| 8. Problem: Constant pause is sent to the network if pause is enabled and |
| TPA is disabled |
| |
| Cause: Wrong thresholds were configured |
| |
| Change: Set the thresholds to 0 if TPA is disabled |
| |
| Impact: None |
| |
| 9. Problem: Unloading UNDI by the driver in E1HMF mode might disable |
| interrupts of the wrong function |
| |
| Cause: HC regs are splited by 4 |
| |
| Change: Pritend to write as function 0 when writing to HC regs |
| |
| Impact: None |
| |
| 10. 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 |
| BCM8072 and BCM8073 |
| |
| Change: Lock the hardware using MDIO_RESOURCE when accessing the |
| BCM8726 phy via MDIO |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Set default WoL state according to nvram settings |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: WRR between different COS queues at TX side |
| |
| Change: Added in driver and in FW 4.8.53 |
| |
| Impact: None |
| |
| 3. Request: Add ability to change BCM8726 TX PreEmphasis using nvram |
| configuration |
| |
| Change: When nvram config "Override pre-emphasis configuration" (75) |
| is set, use Tx pre-emphasis nvram configuration (47), lane0 |
| value to set the Main Tap and lane1 to enable TX-PreEmphasis |
| in BCM8726 |
| |
| Impact: None |
| |
| 4. Request: Add basic support for BCM8481 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 5. Request: Limit Tx queue number to one for kernels 2.6.24 - 2.6.26 |
| (non-TSS kernels with new NAPI) |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 6. Request: Add RSS support for old NAPI kernels (up to 2.6.24) that |
| support MSI-X |
| |
| Change: As Requested |
| |
| Impact: multi_mode = 1 is now the default for all kernels |
| |
| Version 1.48.51 (Jan 26, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Load balancing didn't work |
| |
| Cause: Driver assumed that there was Tx work as long as |
| driver packets producer and consumer were not equal |
| |
| Change: Changed driver's Tx work amount evaluation logic |
| |
| Impact: None |
| |
| Version 1.48.50 (Jan 22, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ38862) modprobe fails to load driver on SuSE 11 |
| |
| Cause: SuSE 11 does not allow 3rd party modules to be loaded without |
| toggling a flag in /etc/modprobe.d/unsupported-modules |
| |
| Change: Toggle the bit during make install |
| |
| Impact: None |
| |
| 2. Problem: Accessing nvram while the driver is down caused PCI error |
| |
| Cause: The driver attempted to access the nvram while the device was |
| in D3 since it was disabled |
| |
| Change: Prevent nvram access when the device is down |
| |
| Impact: None |
| |
| 3. Problem: FW assert while running multi_mode=2 with tx MULTI_QUEUE |
| enabled |
| |
| Cause: start_xmit() selected different tx queue than the tx_lock was |
| taken |
| |
| Change: Implement dev->select_queue() callback so start_xmit() selects |
| the correct tx queue |
| |
| Impact: None |
| |
| 4. Problem: Compilation problem with kernel 2.6.29 |
| |
| Cause: netif_rx_schedule and netif_rx_complete do not require the |
| device parameter anymore |
| |
| Change: Do not pass the device paramter for those functions for kernels |
| above 2.6.29 |
| |
| Impact: None |
| |
| 5. 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 |
| |
| Change: Save the firmware version of all external phys in shared |
| memory, after firmware is loaded |
| |
| Impact: None |
| |
| 6. 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 |
| |
| Change: From now on use interrupt driven event using GPIO3, to detect |
| module plugged in/out, and execute module detection then |
| |
| Impact: None |
| |
| 7. 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 |
| |
| Change: In order for control the Serdes over Clause45, (and not |
| Clause22), it requires first one time register setting in |
| Clause22 |
| |
| Impact: None |
| |
| 8. Problem: Softlock during remove_one() |
| |
| Cause: NAPI context was not released before unloading |
| |
| Change: Release NAPI context before unloading |
| |
| Impact: None |
| |
| 9. Problem: False self-test failures due to MC_ASSERT |
| |
| Cause: iSCSI FW sometimes report run-time warnings which are |
| acceptable and do not cause any harm |
| |
| Change: Do not check for MC_ASSERT. A real FW error will cause the |
| interrupt test to fail |
| |
| Impact: None |
| |
| 10. Problem: Possible miss of FW response on unload |
| |
| Cause: Missing memory barrier while waiting for FW response |
| |
| Change: Add read memory barrier |
| |
| Impact: None |
| |
| 11. Problem: (CQ37809) loopback test failure |
| |
| Cause: A link change interrupt might be queued and activated after |
| the loopback was set |
| |
| Change: Lock all PHY activities while running loopback test |
| |
| Impact: None |
| |
| 12. Problem: (CQ39057) Everest, 57710 Error message: |
| bnx2x_start_xmit: BUG Tx ring full when queue awake |
| |
| Cause: In kernels 2.6.24 - 2.6.26 (non-TSS kernels with new NAPI) |
| there can be a possibility that NAPI instance (fp instance) |
| other than the one moved Tx to XOFF state will wake the Tx |
| So, this is highly possible that start_xmit is called while |
| the ring is still full |
| In any other kernel this state is an obvious bug |
| |
| Change: Remove an error message in the code for the mentioned |
| kernels |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW 4.8.50 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: BCM8726 should be able to link up at 1G |
| |
| Change: Add support for 1G for BCM8726 |
| |
| Impact: When requested speed is 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 |
| |
| 3. 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 |
| |
| 4. Request: Verify external phy image before ROM upgrade |
| |
| Change: New headers will be added to the images of external phys to |
| be upgraded. Currently this list includes BCM8073, BCM8726 |
| and SFX7101. The headers will be checked against fixed magic |
| number and specific phy type |
| |
| Impact: From now on, external phy images MUST include image header |
| |
| Version 1.48.11 (Jan 13, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Possible memory overrun on platforms with page size more |
| than 8K |
| |
| Cause: "linearization" should take into an account system page |
| size and run or not run accordingly |
| |
| Change: Fixed the compilation condition |
| |
| Impact: None |
| |
| 2. Problem: Compilation problem with kernel 2.6.28 |
| |
| Cause: struct net_device_ops was postponed to next release |
| |
| Change: Remove struct net_device_ops from compilation |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Limit multi_mode to support only regular mode |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.48.10 (Jan 07, 2009) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ39129) driver assert while logging out during iSCSI |
| max sessions test |
| |
| Cause: QM initialization was wrong |
| |
| Change: Fix QM initialization |
| |
| Impact: None |
| |
| Version 1.48.9 (Jan 05, 2009) |
| ============================= |
| |
| Fixes |
| ----- |
| |
| 1. Problem: (CQ38909) on IA-64 with TPA enabled, kernel memory was |
| sometimes smeared (depending on the MTU size) |
| |
| Cause: The max TPA fragments assumed 4KB pages and that system had |
| 16KB pages |
| |
| Change: Fix the SGE (TPA fragment) size to be system page size |
| |
| Impact: Improved performance on systems with page size > 4KB like PPC |
| and IA-64 |
| |
| Version 1.48.8 (Dec 31, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| |
| 1. Problem: (CQ38992) on IA-64 Driver crash when transmitting on all 8 |
| functions in chariot IPv6 with tx checksum disabled scenario |
| |
| 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 |
| |
| Change: Add write barrier after updating the BD data and before |
| updating the BD producer |
| |
| Impact: None |
| |
| Version 1.48.7 (Dec 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 |
| |
| Change: In case port-swap is enabled in the NIG, access MDC/MDIO via |
| EMAC1 |
| |
| Impact: None |
| |
| 2. Problem: BCM8726 was not reset when driver was unloaded |
| |
| Cause: This phy hardware reset affects both ports and thus wasn't |
| used |
| |
| Change: When link needs to be reset, reboot the micro-controller of the |
| BCM8726 |
| |
| Impact: None |
| |
| 3. Problem: BCM8726 was not reset during init |
| |
| Cause: This phy is connected using static port-swap, hence the reset |
| should have been triggered through the opposite port from the |
| spec |
| |
| Change: Set gpio1 during common init from port1 instead of port0 |
| |
| Impact: None |
| |
| 4. Problem: (CQ38991) In E1HMF mode some interfaces occasionally |
| misreport link speed |
| |
| Cause: Races between interfaces during init cause an interrupt |
| event to be ignored |
| |
| Change: Flag the device as "ready for interrupts" prior to enabling |
| the interrupts |
| |
| Impact: None |
| |
| 5. Problem: (CQ39057) Everest, 57710 Error message : |
| bnx2x_start_xmit: BUG Tx ring full when queue awake. |
| |
| Cause: Tx BD producer update may not be "seen" by bnx2x_tx_int |
| function running on different CPU, thereby bnx2x_tx_int |
| may erroneously conclude that it may wake Tx. |
| |
| Change: Add smp_mb() after update of Tx producer before putting Tx |
| to XOFF state. |
| |
| Impact: None |
| |
| 6. Problem: In E1HMF mode with multi queue, functions 2..7 cannot receive |
| data |
| |
| Cause: Incorrect initialization of indirection table |
| |
| Change: Initialize correctly the indirection table |
| |
| Impact: None |
| |
| 7. Problem: The driver debug crash dump does not handle cyclic rings |
| correctly |
| |
| Cause: The debug prints were simply from start to end and did not |
| print anything in case start < end (cyclic rings) |
| |
| Change: Enhance the debug prints with cyclic logic |
| |
| Impact: None |
| |
| 8. 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 |
| |
| Change: Fixed in FW 4.8.9 |
| |
| Impact: None |
| |
| 9. Problem: iSCSI FW: High non-paged host memory consumption |
| |
| Cause: Unnecessary optimization of chipset<->memory bandwidth in |
| expense of memory consumption |
| |
| Change: Fixed in FW 4.8.9 |
| |
| Impact: None |
| |
| Version 1.48.6 (Dec 18, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: System hangs when running ifconfig on an 8 CPUs system |
| |
| Cause: A loop variable was used again in an inner loop. That caused |
| an endless loop |
| |
| Change: Use another variable for the inner loop |
| |
| Impact: None |
| |
| 2. Problem: Some stats names are not displayed but their values were |
| displayed in other stats |
| |
| Cause: Incorrect condition caused to skip stats names but not their |
| values |
| |
| Change: Correct the condition |
| |
| Impact: None |
| |
| 3. Problem: iSCSI FW: 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 |
| |
| Change: Fixed in FW 4.8.8 |
| |
| Impact: None |
| |
| 4. Problem: NAPI poll mode was stopped (netif_rx_complete called) and HW |
| interrupts reenabled even if the whole device quota had been |
| consumed. |
| |
| Cause: There was a bug in NAPI poll-mode canceling logic. |
| |
| Change: Fix the logic in NAPI poll method. |
| |
| Impact: None |
| |
| Version 1.48.5 (Dec 11, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: TCP packets with VLAN weren't handled properly, when received |
| in non-accelerated VLAN traffic mode (when VLAN tag is not |
| stripped by the FW) |
| |
| Cause: Driver didn't support receiving VLAN packets in |
| non-accelerated mode. for TPA packets, there was a wrong |
| IP header offset calculation and, as a result, writing IP |
| checksum to the wrong offset. Non-TPA packets weren't handled |
| right as well: driver always used vlan_hwaccel_receive_skb to |
| pass an skb with VLAN to the stack, while it should use |
| netif_receive_skb in non-accelerated case |
| |
| Change: Fixed IP header offset calculation for TPA packets. Fixed VLAN |
| skb handling |
| logic. |
| |
| Impact: None |
| |
| 2. 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 |
| |
| Change: In case of passive copper cables, link up in LRM mode |
| |
| Impact: None |
| |
| 3. Problem: (CQ38815) iSCSI failure during hotplug |
| |
| Cause: Not everything is setup before calling register_netdev(). |
| pci_set_drvdata() and bnx2x_init_bp() were called after |
| register_netdev(). This potentially can also affect L2 |
| because bnx2x_open() can potentially be called before |
| those 2 calls have successfully completed |
| |
| Change: Call register_netdev only at the end of successful setup |
| |
| Impact: None |
| |
| 4. Problem: (CQ38862) modprobe fails to load driver on SUSE11 |
| |
| Cause: SuSE does not allow 3rd party modules to be loaded without |
| toggling a flag in /etc/modprobe.d/unsupported-modules |
| |
| Change: Toggle the bit through the packaging script |
| |
| Impact: None |
| |
| 5. Problem: iSCSI FW: 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 |
| |
| Change: Fixed in FW 4.8.6 |
| |
| Impact: None |
| |
| 6. Problem: iSCSI FW: Connection wasn't initialized with the right |
| parameters for the TX in E1HMF mode |
| |
| Cause: Initialization was done using SF mode |
| |
| Change: Fixed in FW 4.8.6 |
| |
| Impact: None |
| |
| 7. Problem: (CQ38886, CQ38888) iSCSI FW: Double-vlan was not supported |
| for iSCSI. The packet was transmitted with bogus IP length |
| and no inner-vlan |
| |
| Cause: The vlan flag and the header builder command size weren't |
| set correctly |
| |
| Change: Fixed in FW 4.8.6 |
| |
| Impact: None |
| |
| 8. Problem: Byte counters statistics did not count the 4 FCS bytes |
| |
| Cause: The FCS bytes were not counted |
| |
| Change: Fixed in FW 4.8.7 |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: SFP+ optical module (MSA) vendor verification should |
| be optional when using BCM8726 PHY |
| |
| Change: Verify the optical module vendor according to nvram |
| configuration option #81: "Optic Module Vendor |
| Enforcement" |
| |
| Impact: The new nvram bit is visible using ediag version 4.8.3 |
| or later |
| |
| 2. Request: In multi queue mode, separate FW stats per queue |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 3. Request: Change some stats names: |
| pause_frames_received is now rx_pause_frames |
| pause_frames_sent is now tx_pause_frames |
| timer_max_events is now rx_constant_pause_events |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 4. Request: Align with RMON MIB (rfc 1757): |
| net_device_stats.rx_bytes is total_bytes_received |
| net_device_stats.multicast is total_multicast_packets_received |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 5. Request: Use static singlethread_workqueue shared for all bnx2x |
| interfaces |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.48.4 (Nov 26, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: CNIC driver is failing on higher functions of 57711E |
| |
| Cause: The status block ID for the CNIC was not assigned correctly |
| for higher functions |
| |
| Change: Assign the status block ID according to the function ID |
| |
| Impact: None |
| |
| Version 1.48.3 (Nov 20, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: Intermittent MDC/MDIO failures on 8726 PHY |
| |
| Cause: MDIO register access is sometimes broken since PHY is not hard |
| reset |
| |
| Change: Pull GPIO1 low for 1 ms after power-on. Note that the hard |
| reset is a shared resource on the PHY |
| |
| Impact: None |
| |
| 2. Problem: gso_type indication was not set for TPA packets |
| |
| Cause: gso_type wasn not set |
| |
| Change: Set gso_type accordingly |
| |
| Impact: None |
| |
| 3. Problem: Possible false parity indication |
| |
| Cause: When using 5 tuple hash (not used today) the searcher might |
| falsely indicate parity error |
| |
| Change: Mask bit 6 of the searcher parity errors |
| |
| Impact: None |
| |
| 4. Problem: (CQ37809) Intermittent failures in ethtool diagnostic |
| (CQ36771) Calltrace and interface locks up when up/down |
| interface |
| |
| Cause: If sp_task() is queued in the shared work queue after the |
| linkwatch, it will be starved and will not update the link |
| status until ethtool diagnostic ends and frees rtnl that |
| linkwatch is waiting for |
| |
| Change: Create private workqueue |
| |
| Impact: None |
| |
| 5. Problem: (CQ38139) iSCSI FW: Performance < 40% of Peak Advertised |
| |
| Cause: Inefficient implementation of ring management in firmware |
| |
| Change: Fixed in FW 4.8.4 |
| |
| Impact: None |
| |
| 6. Problem: (CQ38424) SAFC iperf drop result is 5 times higher than |
| previous build |
| |
| Cause: Mis-configuration of the SAFC timeout |
| |
| Change: The new SAFC timeout will be 200usec |
| |
| Impact: None |
| |
| Version 1.48.2 (Nov 10, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: SAFC packets were not generated periodically by NIG |
| |
| Cause: A HW architecture bug |
| |
| Change: Fixed in FW 4.8.3 |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Support iSCSI MAC and VLAN per function in 57711E |
| |
| Change: Added in FW 4.8.3 |
| |
| Impact: None |
| |
| Version 1.48.1 (Nov 06, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: Possible race between init_one() and open() with calling to |
| netif_carrier_off() |
| |
| Cause: After register_netdev(), open() can be called at any time and |
| the interrupt handler can be called after that. If you get a |
| link change interrupt, the netif_carrier_* call from IRQ or |
| NAPI poll can race with netif_carrier_off() call in probe. |
| |
| Change: Move netif_carrier_off() to open() |
| |
| Impact: None |
| |
| 2. Problem: Possible access to illegal addresses inside the chip during |
| self test |
| |
| Cause: Loop size was given in bytes and not in number of entries |
| |
| Change: Fix the loop size |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Fewer dropped packets when flow control is enabled on |
| 57711/57711E |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.48.0 (Nov 03, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: Failures on RH5 when using enabling and disabling the |
| functions one by one on 57711E |
| |
| Cause: Unloaded driver tries to access the PHY to get its FW |
| version since RH calls "ethtool -i" periodically |
| |
| Change: Clear the PMF indication when the driver is unloaded |
| |
| Impact: The PHY FW is inaccessible when the driver is unloaded |
| |
| 2. Problem: Searcher block initialization for 57711E is wrong |
| |
| Cause: The searcher registers are split (same address for all |
| functions) |
| |
| Change: Use the port offset and not the function offset |
| |
| Impact: None |
| |
| 3. Problem: Kernel panic when failing to load the driver |
| |
| Cause: netif_carrier_off was called before making sure that |
| the driver can be loaded |
| |
| Change: Call netif_carrier_off as last action in the probe |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add iSCSI for 57711E |
| |
| Change: FW 4.8.2 supports iSCSI for 57711E |
| |
| Impact: None |
| |
| 2. Request: Add transmit multi queue support |
| |
| Change: As requested |
| |
| Impact: This fetaure is available on 2.6.27 kernel when using MSI-X |
| |
| Version 1.46.12 (Oct 29, 2008) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ37832) System crash when running TCP connections on |
| 57711 |
| |
| Cause: Access to unsupported address in FW PRAM due to |
| increased FW size |
| |
| Change: Fixed in FW 4.6.21: Moved all operational FW code to |
| legal PRAM addresses |
| |
| Impact: None |
| |
| 2. Problem: After some cases of driver failure, driver cannot be |
| re-loaded |
| |
| Cause: The driver took the HW out of reset without making sure |
| that it was indeed in reset state |
| |
| Change: Reset the HW before taking it out of reset |
| |
| Impact: None |
| |
| 3. Problem: (CQ37893) Driver failure when installed on RHEL4.5 from PXE |
| Server |
| |
| Cause: MSI-X fails due to memory allocation failure and though MSI |
| registration succeeded interrupts are not received in MSI mode |
| |
| Change: Use INTx mode when MSI-X fails due to memory allocation |
| failure |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add debug module parameter to force MRRS value |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.46.11 (Oct 23, 2008) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ37915) On 57710, if self-test is run on port 1, port 0 stops |
| transmitting/receiving traffic unless in promiscuous mode |
| |
| Cause: Primary MAC address of port 0 is lost after the self-test on |
| port 1 |
| |
| Change: Changed self-test to fix the problem |
| |
| Impact: None |
| |
| 2. Problem: (CQ37087) iSCSI FW: Data digest error event found in event viewer |
| |
| Cause: Wrong UPB command in non-aligned data that is adjacent to |
| iSCSI header in the TCP segment from the target |
| |
| Change: Fixed in FW 4.6.17 |
| |
| Impact: None |
| |
| 3. Problem: (CQ38061) iSCSI FW: Invalid iSCSI PDU seen while running |
| OEM diagnostic to Equallogic target |
| |
| Cause: Misinterpretation of the 3720 RFC regarding data-in sequences |
| definition |
| |
| Change: Fixed in FW 4.6.17 |
| |
| Impact: None |
| |
| 4. Problem: (CQ37861) iSCSI FW: BSOD occurred while running iLab's TOE |
| automated tests and iSCSI traffic |
| |
| Cause: Failed to identify task cleanup during processing of a |
| data-in PDU that belong to the same task |
| |
| Change: Fixed in FW 4.6.17 |
| |
| Impact: None |
| |
| 5. Problem: (CQ38088) iSCSI FW: FW assert occurred while passing CNIC |
| traffic |
| |
| Cause: Race in iSCSI FW between writing task context entry using |
| the data path and writing R2TQE using the control path |
| |
| Change: Fixed in FW 4.6.18: Eliminate race, by using R2TQE write |
| through the data path |
| |
| Impact: None |
| |
| 6. Problem: When enabling a lot of debug prints on a system with |
| many (more than 6) interfaces, timeout can occur on |
| driver load |
| |
| Cause: Since printk is busy, it can take longer for operations |
| to complete |
| |
| Change: Increase the timeout value |
| |
| Impact: None |
| |
| 7. Problem: After load failure, the driver cannot be re-loaded |
| |
| Cause: The FW was not informed that the driver was unloaded |
| |
| Change: On load failure, send "unload" notification to the FW |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: (CQ38040) Do not use crc32c_le symbol |
| |
| Change: Copied the function into the driver |
| |
| Impact: None |
| |
| Version 1.46.10 (Oct 20, 2008) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: System panic under stress traffic |
| |
| Cause: The alignment to the machine cache size was not calculated |
| correctly for the Rx buffer and so a buffer overrun occurred |
| |
| Change: Allocate the right amount of memory considering the cache |
| alignment |
| |
| Impact: None |
| |
| Version 1.46.9 (Oct 16, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ37772) iSCSI FW: Bad data digest is transmitted |
| |
| Cause: Missing initialization in FW when going out of slow start |
| |
| Change: Fixed in FW 4.6.16: Add rxmit parameters init to normal TX |
| flow |
| |
| Impact: None |
| |
| 2. Problem: (CQ37809) Intermittent Failures in Ethtool Diagnostic |
| |
| Cause: When setting PHY loopback, it required some time before |
| configuration is actually take place. |
| |
| Change: Add 200ms after setting the PHY loopback |
| |
| Impact: None |
| |
| 3. Problem: Unable to receive packets on the iSCSI MAC address |
| |
| Cause: Promiscuous in rx mode was ran over by resetting the |
| rx mode |
| |
| Change: Reset the rx mode before setting promiscuous mode |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add the licensing structure to the bnx2x_hsi.h |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 2. Request: Set FW to machine cache alignment (up to 256B) for Rx |
| packets L2 data |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.46.8 (Oct 07, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: A potential firmware bug when L2 packet is duplicated to more |
| than one L2 client when TPA is enabled |
| |
| Cause: Buffer could have been released before it was read by all L2 |
| clients |
| |
| Change: Fixed in FW 4.6.15 |
| |
| Impact: None |
| |
| 2. Problem: (CQ37471) iSCSI FW: (iLab test 5.12) TCP CLOSE timeout issue |
| |
| Cause: Chip halted since handler apparently stuck in the queue |
| |
| Change: Fixed in FW 4.6.15 |
| |
| Impact: None |
| |
| 3. Problem: (CQ37244) iSCSI FW: (iLab test 5.10) Chip hangs when receiving |
| SYN+RST+ACK after SYN sent |
| |
| Cause: SYN retransmission with invalid sequence number caused by not |
| rewinding the sequence number after retransmission |
| |
| Change: Fixed in FW 4.6.15 |
| |
| Impact: None |
| |
| 4. Problem: iSCSI FW: Chip halts after few unanswered connections attempts |
| |
| Cause: After retransmits were done, the chip didn't return the |
| credits it should have |
| |
| Change: Fixed in FW 4.6.15 |
| |
| Impact: None |
| |
| 5. Problem: (CQ37668) iSCSI FW: 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 |
| |
| Change: Fixed in FW 4.6.15 |
| |
| Impact: None |
| |
| 6. Problem: (CQ37610) A potential problem if call to register_cnic during |
| MTU change |
| |
| Cause: CNIC and the bnx2x drivers can be trying to setup the chip |
| at the same time |
| |
| Change: Check for intr_sem in register_cnic to prevent this problem |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Allow better response time to SAFC packets |
| |
| Change: Configure max-byte-credit as required for SAFC mode |
| |
| Impact: None |
| |
| 2. Request: Add priority mapping table to map SAFC priority to HW queue |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.46.7 (Sep 28, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ37161) Running ifconfig down up on one interface can cause |
| other interface to fail |
| |
| Cause: Overriding internal memory that belongs to the other interface |
| |
| Change: Writing only memory of the correct interface |
| |
| Impact: None |
| |
| 2. Problem: (CQ37288) iSCSI FW: iSCSI offload with Everest is extremely |
| slow |
| |
| Cause: PSH flag was not set in last PDU TCP packet |
| |
| Change: Fixed in FW 4.6.13 |
| |
| Impact: None |
| |
| 3. Problem: Possible overriding the internal memory and possible failure |
| to work with MSI-X when RSS and CNIC enabled |
| |
| Cause: Allocate 16 queues for RSS + 1 queue for CNIC |
| |
| Change: Allocate only 15 queues for RSS |
| |
| Impact: None |
| |
| 4. Problem: Lower performance on Big-Endian machines |
| |
| Cause: Failure to read correctly the PCI_EXP_DEVCTL on Big-Endian |
| systems. Read PCI_EXP_DEVCTL to u32 variable instaed of u16 |
| variable |
| |
| Change: Read PCI_EXP_DEVCTL to u16 variable |
| |
| Impact: None |
| |
| Version 1.46.6 (Sep 25, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ37398) Issuing ifdown command on one port causes the |
| other port not to respond either |
| |
| Cause: Clearing all entries in the CAM |
| |
| Change: Clear only the appropriate entries in the CAM |
| |
| Impact: None |
| |
| 2. Problem: (CQ37407, CQ37508, CQ37509) Compilation fails on |
| RH 4.5, 4.6, 4.7 |
| |
| Cause: A compiler bug |
| |
| Change: Workaround in the code |
| |
| Impact: None |
| |
| 3. Problem: (CQ36673) iSCSI FW: Hardware attention on MaxLuns |
| |
| Cause: Activity count leak in Ustorm microprocessor |
| |
| Change: Fixed in FW 4.6.12 |
| |
| Impact: None |
| |
| 4. Problem: (CQ37224) iSCSI FW: (iLab test 5.10) Hardware attention |
| (Microcode assert) |
| |
| Cause: iSCSI FW: SYN+RST drop after SYN sent caused AC leak |
| in TStorm microprocessor in option2 |
| |
| Change: Fixed in FW 4.6.12 |
| |
| Impact: None |
| |
| 5. Problem: iSCSI FW: (iLab test 6.1) Hardware attention |
| (Microcode assert) |
| |
| Cause: Missing update of R2T buffer offset |
| |
| Change: Fixed in FW 4.6.12 |
| |
| Impact: None |
| |
| 6. Problem: Possible false warning (not a failure) in the idle |
| check section of the self test regarding the |
| BRB1_PRTY_STS register |
| |
| Cause: The condition was not masked properly |
| |
| Change: Fixed the condition check for that register |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add support for BCM8726 (Dual port phy SFP+ ) including |
| MSA module recognition and verification |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.46.5 (Sep 17, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ36478) MSI fails on Big-Endian systems |
| |
| Cause: The IGU was configured to swap the data over the PCI |
| |
| Change: Config IGU not to swap the data and add swap in the driver |
| where it is necessary |
| |
| Impact: None |
| |
| 2. Problem: (CQ37309) Can not compile on some old kernels |
| |
| Cause: Call to pci_disable_msi() was not under appropriate #ifdef |
| |
| Change: Add the appropriate #ifdef |
| |
| Impact: None |
| |
| 3. Problem: Self test sometimes indicates on a failure |
| |
| Cause: A test result was declared as an error instead of a warning |
| |
| Change: Declare the test result as a warning |
| |
| Impact: None |
| |
| Version 1.46.4 (Sep 16, 2008) |
| ============================= |
| |
| Enhancements |
| ------------ |
| 1. Request: CNIC enabled in default compilation |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.46.3 (Sep 11, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ34165) High number of pause frames |
| |
| Cause: The thresholds in the receive buffer needed some |
| tuning |
| |
| Change: Tuned the thresholds in the receive buffer |
| |
| Impact: None |
| |
| 2. Problem: (CQ36559, CQ36989) System crash when working on PPC |
| with 64KB page |
| |
| Cause: The allocated buffer was bigger than the PCI mapped |
| buffer, and in the 64KB configuration the buffer is |
| aligned only to 128 bytes and so the packet can |
| overstep the PCI mapped area and cause a fatal error |
| |
| Change: Map the same size as the allocated buffer size |
| |
| Impact: None |
| |
| 3. Problem: (CQ36479) EEH recovery causes system crash |
| |
| Cause: When EEH detects an i/o error it resets the device thus |
| it cannot be accessed. In this case the driver needs to |
| unload its interface only with OS, kernel and network |
| stack but not with the device. |
| |
| Change: Add a special unload function for EEH recovery that |
| does not access the device |
| |
| Impact: None |
| |
| 4. Problem: Option2 RST did not complete |
| |
| Cause: Missing context initialization in FW |
| |
| Change: Fixed in FW 4.6.10 |
| |
| Impact: None |
| |
| 5. Problem: (CQ37090) Placement of RQ data to wrong address |
| |
| Cause: ASM problem |
| |
| Change: Fixed in FW 4.6.10 |
| |
| Impact: None |
| |
| 6. Problem: (CQ36912) BSOD when destroying erroneous connections |
| |
| Cause: Activity count leak |
| |
| Change: Fixed in FW 4.6.10 |
| |
| Impact: None |
| |
| 7. Problem: (CQ 36987) Unable to perform media changer/tape functions |
| |
| Cause: Bad padding calculation in long PDUs |
| |
| Change: Fixed in FW 4.6.10 |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Incorporate latest firmware 4.6.10 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: Add stats counter for NIG timer max events |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 3. Request: Enable timer scan for CNIC |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 4. Request: Add support for using MSI interrupt mode |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 5. Request: (CQ36758) Firmware now enforces iSCSI licensing and fails |
| the offload if no iSCSI initiator license exists |
| |
| Change: Added in FW 4.6.10 |
| |
| Impact: None |
| |
| Version 1.46.2 (Aug 25, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ36510, CQ36583) 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 handle other speeds which are controlled by HW. |
| Since the HW detect link with the external PHY, the |
| link LED stayed on |
| |
| Change: Turn off the LED for all speeds manually when link goes |
| down |
| |
| Impact: None |
| |
| 2. Problem: Packets with bad TCP/UDP checksum error are dropped |
| |
| Cause: Actively dropping packets with bad TCP/UDP checksum in |
| the driver |
| |
| Change: Do not drop packets with bad TCP/UDP checksum - let the |
| stack decide what to do with them |
| |
| Impact: None |
| |
| 3. Problem: Some packets are dropped without showing on any |
| statistics counter |
| |
| Cause: The driver assumed that packets which were identified |
| as bad are counted by the FW, but the FW does not count |
| those when configured to pass them |
| |
| Change: Add counters in the driver |
| |
| Impact: None |
| |
| 4. Problem: (CQ36153) Flow control doesn't work against non KR switches |
| |
| Cause: Missing support for clause-37 auto negotiation |
| |
| Change: Add support for clause-37 auto negotiation |
| |
| Impact: 0.5 seconds delay during autoneg |
| |
| 5. Problem: Link dangling during init |
| |
| Cause: no delay after initial link change interrupt |
| |
| Change: Add 30ms before allowing link update indications |
| |
| Impact: Additional 30ms during init phase |
| |
| 6. Problem: Unable to load driver after iSCSI boot under incoming |
| traffic |
| |
| Causes: The reset function after iSCSI boot did not handle |
| closing incoming traffic |
| |
| Change: Close the port to prevent Rx traffic and clear all |
| buffers |
| |
| Impact: None |
| |
| 7. Problem: (CQ36408) Failed driver disk installation with SuSE10 |
| and RH4 |
| |
| Cause: The CRC module is not part of the Kernel in those |
| distributions |
| |
| Change: Special driver disk compilation mode to include the CRC |
| routine in the driver though it is an external module |
| in normal installation with those distributions |
| |
| Impact: The driver in the driver disk is less efficient due to |
| the CRC algorithmic implementation and not static tables |
| as in the CRC module which is used when loading the driver |
| normally under SuSE10 and RH4 |
| |
| 8. Problem: (CQ34921) Possible memory leak |
| |
| Cause: rx_page_ring was not freed |
| |
| Change: free rx_page_ring |
| |
| Impact: None |
| |
| 9. Problem: (CQ36242) brb_truncate statistics increments to very |
| high numbers |
| |
| Cause: brb_truncate_discard is a 4 bytes variable but 8 bytes were |
| copied to ethtool |
| |
| Change: use brb_truncate from NIG and extend it to 8 bytes |
| |
| Impact: None |
| |
| 10. Problem: Tx Pause were not send on 1G link |
| |
| Cause: Missing initialization to the EMAC TX_MODE |
| |
| Change: Set FLOW_EN bit in the TX_MODE in addition to the |
| EXT_PAUSE_EN |
| |
| Impact: None |
| |
| 11. Problem: (CQ36361) Changing speed to 1G on KR switch side |
| results in no link in OS |
| |
| Cause: When Serdes is configured to 1G, it should remove |
| setting MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL bit in |
| MDIO_REG_BANK_SERDES_DIGITAL |
| |
| Change: Unset MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL bit for |
| every link change |
| |
| Impact: None |
| |
| 12. Problem: Possible loss of attentions |
| |
| Cause: Attention mask register was manipulated without a proper lock |
| |
| Change: Protect attention mask register using hw lock, use read |
| modify write on this register |
| |
| Impact: None |
| |
| 13. Problem: HW lock was sometimes not taken |
| |
| Cause: HW lock was not taken per function |
| |
| Change: use lock control per function |
| |
| Impact: None |
| |
| 14. Problem: (CQ36089) RX counter on all functions are incorrect |
| |
| Cause: tstorm_client.statistics_counter_id was 0 for all functions |
| |
| Change: set tstorm_client.statistics_counter_id to the cl_id of the |
| function |
| |
| Impact: None |
| |
| 15. Problem: (CQ36090) down/up of the interface during traffic on |
| the other interface caused traffic to stop |
| |
| Cause: Aggregation context must be initialized only at COMMON init |
| block |
| |
| Change: Change initialization code and init-tool output |
| |
| Impact: None |
| |
| 16. Problem: (CQ35672) Doorbell was arriving after halt and before |
| start ramrod |
| |
| Cause: XON/XOFF flow control should be disabled in NIC close flow |
| |
| Change: Fixed XON/XOFF code |
| |
| Impact: None |
| |
| 17. Problem: (CQ34555) MSI-x PCI spec aberration |
| |
| Cause: PBA table starts from the middle of a page |
| |
| Change: Use GRC access instead of BAR access |
| |
| Impact: None |
| |
| 18. Problem: Lost link indication in BCM8073. |
| |
| Cause: During link establishment LASI latched signal |
| wasn't reset and stopped link change indication |
| |
| Change: Fixed flow to clean latched LASI signal |
| |
| Impact: None |
| |
| 19. Problem: Declaring bootcode timeout too soon |
| |
| Cause: The bootcode can take a while to set a link |
| when a link is needed (for example, WoL is |
| enabled). The driver should allow adaptive |
| scheme to wait for the bootcode |
| |
| Change: Waiting up to 2 seconds in 10ms intervals |
| |
| Impact: In some cases, the driver unload process |
| will take up to 2 seconds |
| |
| 20. Problem: Wrong WoL capability report |
| |
| Cause: The WoL capability was read from the nvram |
| which was not always updated |
| |
| Change: Determine the WoL capability from the PCI |
| configuration space |
| |
| Impact: None |
| |
| 21. Problem: (CQ36644, CQ366697, CQ36928, CQ36983) On some cases |
| with low traffic, the computer was irresponsive up to |
| the point of soft-lockup and even hard lockup. |
| Ping-pong latency tests always hit this problem and so |
| get very low result |
| |
| Cause: If the FW was at the end of the Rx page, the driver |
| will already be at the beginning of the next page. In |
| this case the condition of having the driver and the FW |
| on the same pointer was never true and so the driver |
| kept polling until timeout or another packet came in. |
| On driver unload (including intermediate driver unload |
| like in MTU change or self-test) the lockup was fatal |
| |
| Change: Change the check for "now work" to handle end of page |
| as well |
| |
| Impact: None |
| |
| 22. Problem: (CQ36697 CQ36771) Interface locks up when up/down interface |
| |
| Cause: In nic_unload(), call to netif_poll_disable() cause to set |
| __LINK_STATE_RX_SCHED flag that is checked in dev_close() in |
| a loop forever. This flag is cleared by netif_rx_complete() |
| called by bnx2x_poll() which is not called if !netif_running() |
| |
| Change: Reorder nic_unload() - first close interrupts, then only if |
| netif_running() call netif_poll_disable() |
| |
| Impact: None |
| |
| 23. Problem: (CQ36795) driver fails to load after iSCSI boot |
| |
| Cause: Unloading UNDI by the driver is protected by a HW lock. With |
| a KR (8073) interface, unloading the UNDI takes more than |
| 1 sec. Taking the lock by another driver times out after 1 sec |
| then the driver tries also to unload UNDI. |
| |
| Change: Clear UNDI signature and release the lock. Only the driver |
| who saw UNDI signature will continue to unload UNDI. |
| |
| Impact: None |
| |
| 24. Problem: Allocate skbs for unused aggregation queues in 57710 |
| |
| Cause: Allocate skbs for 64 aggregation queues but 57710 has only 32 |
| |
| Change: Allocate skbs for max_agg_queues according to chip id |
| |
| Impact: None |
| |
| 25. Problem: Wrong cleanup on exit from nic_load() in case of a failure |
| |
| Cause: Upon some failure nic_load() exits without disabling and |
| freeing the interrupts |
| |
| Change: Fix to disable and free the interrupts in that case |
| |
| Impact: None |
| |
| 26. Problem: Potential link problem when loading two ports with 8073 |
| PHY |
| |
| Cause: Initializing the 8073 PHY takes more than 1 seconds and |
| the HW lock might expire since it is only trying for 1 |
| second |
| |
| Change: Increase the HW lock timeout to 5 seconds |
| |
| Impact: None |
| |
| 27. Problem: XAUI link on port0 goes down and then up, when the link |
| on port1 is changed |
| |
| Cause: When master port (port1) is down, it will also cause |
| the blade side down. In turn, PLL will change speed |
| from 10G to 1G. It will cause XAUI clock to both ports |
| down and then up again |
| |
| Change: Set bit in the BCM8073 that enables the fix |
| |
| Impact: None |
| |
| 28. Problem: (CQ36772) KR with 8073 PHY sometimes does not establish |
| link |
| |
| Cause: A missing delay between initializing the PHY SPI ROM |
| and inserting the PHY back to low power mode |
| |
| Change: Add 15ms delay after loading the SPI PHY ROM which is |
| before entering low power mode |
| |
| Impact: None |
| |
| 29. Problem: Sometimes when unloading the driver a message will |
| appear: "sp_running (j 1)" |
| |
| Cause: Wrong condition, the message should appear only if the |
| counter (j) is greater than 1000. This is a false alarm |
| |
| Change: Fix the print condition |
| |
| Impact: None |
| |
| 30. Problem: When upgrading 8073 SPI ROM PHY to version 0103 the |
| link will not come up |
| |
| Cause: Register 0x8370 is no longer required in the new |
| version and writing to it cause the link not to come |
| up |
| |
| Change: Remove the write to address 0x8370 |
| |
| Impact: None |
| |
| 31. Problem: On some KR boards when loading driver on port0, and |
| port1 is not loaded, sometimes the XAUI link is not |
| coming up |
| |
| Cause: The 8073 PHY has two ports that share a single clock. |
| This clock is routed to a port deemed to be the master |
| (port 1), and then a PLL at the master sets the clock |
| frequency and routes the buffered clock to both the |
| master XAUI interface as well as the slave (port 0) |
| XAUI interface. If port 0 is loaded while the 8073 PHY |
| SPI ROM is not loaded, the PLL for port 0 is not |
| guaranteed to lock |
| |
| Change: First driver to be loaded reset and download SPI ROM on |
| both ports of the 8073 PHY during one-time |
| initialization |
| |
| Impact: The 8073 PHY is only reset when both ports are brought |
| down |
| |
| 32. Problem: On some KR boards when unloading driver on port1 port 0 |
| might loose link |
| |
| Cause: The 8073 PHY has two ports that share a single clock. |
| This clock is routed to a port deemed to be the master |
| (port 1), and then a PLL at the master sets the clock |
| frequency and routes the buffered clock to both the |
| master XAUI interface as well as the slave (port 0) |
| XAUI interface. If port 1 is unloaded while port 0 |
| is in use, the port 0 PLL might loose lock |
| |
| Change: Do not reset the PHY if either driver is still up |
| |
| Impact: The 8073 PHY is only reset when both ports are brought |
| down |
| |
| 33. Problem: When loading driver after it was loaded before, packets |
| are getting into the chip before the MAC addresses are |
| configured (but not into the host) |
| |
| Cause: The HW filters are not cleared when the driver is |
| unloaded so previous driver configuration is still |
| present |
| |
| Change: Clear HW filters so no packet will come in when driver |
| is unloaded |
| |
| Impact: None |
| |
| 34. Problem: Driver does not pass the last version of checkpatch.pl |
| |
| Cause: Some updates to the script found some coding standard |
| violations in the code |
| |
| Change: Fixed all reported errors and spelling mistakes |
| |
| Impact: None |
| |
| 35. Problem: (CQ36492) rx_csum_offload_errors increments for any |
| none TCP/UDP packet |
| |
| Cause: Parsing CQE flags incorrectly |
| |
| Change: Parse CQE flags according to CQE status bits |
| |
| Impact: None |
| |
| 36. Problem: Packets with IP checksum error are dropped |
| |
| Cause: Dropping packets with IP checksum error |
| |
| Change: Pass packets with IP checksum error to the stack. Drop |
| only packets with L2 errors |
| |
| Impact: None |
| |
| 37. Problem: (CQ46480) The nomcp module parameter is causing kernel |
| panic |
| |
| Cause: This debug parameter was not needed and not maintained |
| |
| Change: Remove this debug parameter. The driver can detect if |
| the FW is missing and act accordingly |
| |
| Impact: None |
| |
| 38. Problem: Per function statistics are not cleared on driver load |
| unload |
| |
| Cause: The FW statistics area was not cleared on driver load |
| |
| Change: Clear FW statistics area when loading the driver |
| |
| Impact: None |
| |
| 39. Problem: (CQ36204, CQ36423) Self-test memory failures reported |
| intermediately |
| |
| Cause: Did not apply the right mask on the HW report caused |
| some false positives |
| |
| Change: Use mask to check only the memory errors report |
| |
| Impact: None |
| |
| 40. Problem: (CQ36497) Self-test idle_check part is failing |
| |
| Cause: Did not apply the right mask on the HW report caused |
| some false positives |
| |
| Change: Use mask to check only the memory errors report |
| |
| Impact: None |
| |
| 41. Problem: (CQ36514) Failed to load the driver after iSCSI boot on |
| SuSE10 SP2 |
| |
| Cause: The built-in driver from the SuSE10 SP2 (1.42.3) was |
| loaded after the iSCSI-boot |
| |
| Change: Added update.post file to SuSE10 SP2 dd.iso |
| |
| Impact: None |
| |
| 42. Problem: (CQ36382) Low 1G UDP performance with one connection |
| with flow control disabled |
| |
| Cause: The credits in the transmitter HW caused too much gap |
| between UDP packets in case the flow control was |
| disabled |
| |
| Change: Use the same HW credit as if the flow-control is |
| enabled when the line speed is 2.5G or less |
| |
| Impact: None |
| |
| 43. Problem: (CQ35662) NVRAM pre-emphasis support does not take |
| effect |
| |
| Cause: Current nvm values didn't actually affect the phy |
| |
| Change: 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 |
| |
| 44. 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 |
| |
| Change: 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 |
| |
| 45. Problem: Fix EMAC initialization setting |
| |
| Change: Currently it is configured inside the enable emac |
| before configuring the EMAC mode. Changed to be after |
| that 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 |
| |
| Enhancements |
| ------------ |
| 1. Request: Error messages might be displayed in unload |
| |
| Change: Check work only on the tx fast path and call bnx2x_tx_int() |
| to handle it. Rx work is handled during halt ramrod |
| |
| Impact: None |
| |
| 2. Request: Indicate that there is no WoL support for functions higher |
| than 1 (only 0 and 1 should support WoL) |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 3. Request: Pause in 57711E mode always advertise both Rx and Tx |
| regardless of frame size |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 4. Request: Skb's marked as CHECKSUM_UNNECESSARY (TPA'ed) were |
| passed to the net stack even if user disabled checksum |
| offloading. |
| |
| Change: Disable TPA if Rx checksum offloading is disabled. |
| |
| Impact: There is no way to enabling TPA in kernels older than |
| 2.6.26 except unloading and loading the driver |
| |
| 5. Request: Do not display internal FW version and enhance |
| readability of the bootcode version |
| |
| Change: As requested |
| |
| Impact: None |
| |
| 6. Request: Optimize link setup and support 2.5G |
| |
| Change: Link will be configured on the external PHY before |
| setting up the internal PHY. When needed, only the |
| external PHY will be configured to autoneg. The |
| internal PHY will be set to the obtained speed |
| |
| Impact: None |
| |
| 7. Request: Skb's marked as CHECKSUM_UNNECESSARY (TPA'ed) were |
| passed to the net stack even if user disabled checksum |
| offloading. |
| |
| Change: Disable TPA if Rx checksum offloading is disabled. |
| |
| Impact: None |
| |
| 8. Request: Incorporated latest firmware 4.6.7 - Add support for |
| priority-based ETH TX queues and enable SAFC pausing |
| per queue |
| |
| Change: As requested |
| |
| Impact: None |
| |
| Version 1.46.1 (June 25, 2008) |
| ============================== |
| |
| Enhancements |
| ------------ |
| 1. Request: Use FW version 4.6.2 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.45.6 (June 23, 2008) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ35672, CQ35818) Changing MTU under traffic causes |
| driver hang |
| |
| Cause: A rare case of LSO packet alignment, relatively to MSS, |
| caused a HW debug checking for end of packet to fail |
| |
| Change: In computing the end of packet flag, the calculation |
| of the total packet length was modified |
| |
| Impact: None |
| |
| 2. Problem: Possible memory corruption on kernels with 64K page size |
| |
| Cause: Inconsistency in using page macros |
| |
| Change: Use only BCM page macros |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add support for TPA (LRO) setting via ethtool |
| |
| Change: As Requested |
| |
| Impact: Kernels after 2.6.26 use this interface to turn off TPA |
| when forwarding enabled due to the limitation of no |
| forwarding (bridging) and TPA together |
| |
| Version 1.45.5 (June 17, 2008) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ35691) Undefined symbol __udivdi3 when compiled on |
| 32-bit platforms. |
| |
| Cause: There was 64-bit division |
| |
| Change: Reordered the arithmetic expression in order to eliminate the |
| 64-bit division |
| |
| Impact: None. |
| |
| 2. Problem: (CQ35644) Tx mulicast counter does not increment |
| |
| Cause: start_xmit sets the unicast flag for all packet types |
| |
| Change: Remove the broadcast and mulicast counters |
| |
| Impact: None |
| |
| 3. Problem: (CQ35836) Ethtool reports wrong speed when set via CLP |
| |
| Cause: get_settings returns always the max BW set via CLP without |
| considering the actual link speed |
| |
| Change: Return the min between the max BW set via CLP and the actual |
| link speed |
| |
| Impact: None |
| |
| 4. Problem: (CQ35859) Ethtool -S reports many jumbo tx packets |
| with MTU set to 1500 |
| |
| Cause: There is a different in tx histogram statistics between |
| EMAC and BigMAC |
| |
| Change: Use NIG stats counters instead |
| |
| Impact: None |
| |
| 5. Problem: (CQ35114) Self test failure on some systems |
| |
| Cause: pcie_rst_b test can be set and should not be categorized as |
| ERROR |
| |
| Change: Change pcie_rst_b test priority from ERROR to WARNING |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Remove non-coherent stats in 57711E |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: Remove xSEM_REG_INT_TABLE from memory test |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.45.4 (June 10, 2008) |
| ============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ34905) load/unload causes link detect failure |
| |
| Cause: Handling of link events during load wasn't protected |
| |
| Change: Add synchronization in handling of link events during |
| driver load |
| |
| Impact: None |
| |
| 2. Problem: (CQ35114) ethtool -t displays idle_check errors |
| |
| Cause: Some idle_check tests were not adopted to support |
| 57711 |
| |
| Change: Adopt the idle_check |
| |
| Impact: None |
| |
| 3. Problem: (CQ35188) ethtool -t displays mc_assert |
| |
| Cause: The mc_assert was checked at incorrect address |
| |
| Change: Fix mc_assert to use different offsets per MC |
| processor |
| |
| Impact: None |
| |
| 4. Problem: (CQ35611) CLP min throttling disables throttled |
| functions |
| |
| Cause: Credit delta must be less than two times the |
| threshold |
| |
| Change: credit delta must never be less than two times threshold |
| |
| Impact: None |
| |
| 5. Problem: (CQ35184, CQ35364, CQ35575) Compilation problems on |
| SuSE9/10 |
| |
| Cause: Some changes for the upstream kernel were not |
| backwards compatible |
| |
| Change: Added backwards compatibility code |
| |
| Impact: None |
| |
| 6. Problem: (CQ35571) When running dozens of connections |
| on both ports, receiver freezes |
| |
| Cause: A race between the aggregation timer and the swapping |
| of aggregated connections |
| |
| Change: The timers are saved to RAM at each possible swap of |
| handlers in the FW, to avoid the race |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Activate SNR over 8073A1, version 102 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: Support CLP speed configuration to establish link up to |
| the requested speed (allow 1G when 10G is requested) |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 3. Request: Do not set XAUI low power on 8073A0 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 4. Request: Set flow-control for 8073 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.45.2 (May 29, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: Style changes for open source submission |
| |
| Cause: Making sure we pass SPARS and checkpatch.pl |
| |
| Change: Whitespace changes |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add PCI-E EEH handlers |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.45.1 (May 26, 2008) |
| ============================= |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ34964) ethtool -a/A is broken |
| |
| Cause: The autoneg define changed to value of zero and broke |
| the code |
| |
| Change: Use comparison instead of bit-wise logical and |
| |
| Impact: None |
| |
| 2. Problem: (CQ35123) Support for 32bit Kernels is broken |
| |
| Cause: The TPA code had a 64 bit address that broke the |
| 32bits support |
| |
| Change: Fixed the upper 32bits of the address to zero in 32bit |
| Kernel |
| |
| Impact: None |
| |
| 3. Problem: (CQ35123) Support for Big-endian is broken |
| |
| Cause: The TPA and SGE code was not big-endian compliant |
| |
| Change: The necessary le_to_cpu were added |
| |
| Impact: None |
| |
| 4. Problem: Failed to work on emulation with MCP |
| |
| Cause: The time interval between the pulses towards the MCP |
| was the same for ASIC and emulation |
| |
| Change: Increased the time interval between MCP pulses for |
| emulation/FPGA |
| |
| Impact: None |
| |
| 5. Problem: (CQ34313) Compilation error on SuSE |
| |
| Cause: Broken in last drops |
| |
| Change: Fix the errors |
| |
| Impact: None |
| |
| 6. Problem: (CQ35124) Kernel panic when unloading NIC with shared |
| INTA |
| |
| Cause: The interrupts were masked when unloading, but the |
| handler was still present. In case of shared INTA |
| line, the handler was called after freeing the |
| resources due to other device interrupt |
| |
| Change: Free the interrupt handler when masking all |
| interrupts on unload. Clear old interrupt before |
| registering the IRQ on load. |
| |
| Impact: None |
| |
| 7. Problem: Failed to re-load the driver (after unload) on the |
| upstream kernel |
| |
| Cause: The fast path structures which are used by NAPI where |
| released on unload and re-allocated on load |
| |
| Change: Use static allocation for the fast-path structures |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: (CQ34895) Change Linux Driver Disk Images from Floppy |
| to ISO Format |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: (CQ34931, CQ34976) Replace RH4.5 binaries with RH4.6 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 3. Request: Link down indication should be at error level and |
| not information |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 4. Request: BCM57711E Support MIN/MAX bandwidth control |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 5. Request: Support BCM8073A1 external PHY |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 6. Request: Support Transparent Packet Aggregation (TPA) for 57711E |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 7. Request: Support WoL |
| |
| Change: As Requested. This feature requires bootcode 4.4.7 or |
| later |
| |
| Impact: None |
| |
| 8. Request: Not allowing any ethtool link change (speed and flow |
| control) in 57711E |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 9. Request: Reporting the function max speed as the current speed |
| (and not the port speed) for 57711E |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 10. Request: Only the port master driver can run the link test (part |
| of the self-test) |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.46.0 (May 01, 2008) |
| ============================= |
| **** This version should have been named 1.45.0 (and not 1.46.0) **** |
| |
| 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 |
| |
| Enhancements |
| ------------ |
| 1. Request: Support approximate match for multicast MACs |
| |
| Change: As Requested |
| |
| Impact: New module dependency for bnx2x driver |
| Run 'modprobe crc32c' before 'insmode bnx2x.ko' |
| |
| 2. Request: Support statistics on 57711 |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.44.12 (April 21, 2008) |
| ================================ |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ34845) Autoneg flow-control is broken |
| |
| Cause: Broken in last drops - wrong check of the autoneg |
| result |
| |
| Change: Fixed the autoneg result check |
| |
| Impact: None |
| |
| 2. Problem: (CQ34313) Compilation error on SuSE10 |
| |
| Cause: Broken in last drops |
| |
| Change: Fix the errors |
| |
| Impact: None |
| |
| Version 1.44.11 (April 16, 2008) |
| ================================ |
| |
| Fixes |
| ----- |
| 1. Problem: PHY loopback was not performed as part of the |
| self-test |
| |
| Cause: The PHY loopback did not wait for the link to be |
| established |
| |
| Change: Wait for loopback to establish link before starting |
| the test |
| |
| Impact: None |
| |
| 2. Problem: (CQ34313) Compilation error on SuSE9 SP3 |
| |
| Cause: Broken in last drops |
| |
| Change: Fix the errors |
| |
| Impact: None |
| |
| Version 1.44.10 (April 15, 2008) |
| ================================ |
| |
| Fixes |
| ----- |
| 1. Problem: Occasional failures in the self-test |
| |
| Cause: Few registers should not have been included in the |
| registers test. The PHY loopback test fails on some |
| systems |
| |
| Change: Removed some of the registers that should not have |
| been included in the first place from the |
| registers test. Removed the PHY loopback test - only |
| the MAC loopback test is executed |
| |
| Impact: None |
| |
| Version 1.44.9 (April 14, 2008) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: Kernel panic after stressing bi-directional data over |
| night |
| |
| Cause: A bug in the none-TSO fragmented Tx packets |
| |
| Change: Fix the Aggregation rule of none-TSO packets |
| |
| Impact: None |
| |
| 2. Problem: Possible bug when unloading and reloading the driver: |
| we are not guarantee to allocate all IRQs |
| |
| Cause: The allocation is not guaranteed |
| |
| Change: Force every nic_unload to release the IRQs |
| |
| Impact: None |
| |
| 3. Problem: Possible bug on low memory systems |
| |
| Cause: Number of BDs must be at least equal to number of CQEs |
| |
| Change: Force the rule on init |
| |
| Impact: None |
| |
| 4. Problem: Failures on rmmod |
| |
| Cause: Sleep in timer context |
| |
| Change: No sleep on timer context - simply wait for next tick |
| |
| Impact: None |
| |
| 5. Problem: DMAE timeout problem on 57711 |
| |
| Cause: DMAE needs to be configured differently |
| |
| Change: Reduce the MPS of the DMAE client |
| |
| Impact: None |
| |
| 6. Problem: No link on some functions on 57711 |
| |
| Cause: A link report call was missing after link update |
| |
| Change: Added link report after link update |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Adding internal PHY and MAC loopback tests to |
| ethtool -t (no external PHY and no cable PHY loopback) |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 2. Request: Update idle_check in self test |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.44.8 (April 09, 2008) |
| =============================== |
| **** Starting from this version, there are 2 C files **** |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ34604) Kernel panic after stressing Tx Data over |
| night |
| |
| Cause: The driver did not handle fragmented Tx packets |
| |
| Change: Aggregating packets which are too fragmented for the |
| FW |
| |
| Impact: None |
| |
| 2. Problem: (CQ34586) Warning message after configuring eth port |
| |
| Cause: Did not synchronized the DMAE of the statistics with |
| load/unload operations |
| |
| Change: Changed the statistics mechanism to a state machine |
| which is aware of the device state and DMAE state |
| |
| Impact: None |
| |
| 3. Problem: (CQ34313) Compilation error on SuSE9 SP3 x86-64 |
| |
| Cause: Compatibility issue |
| |
| Change: Fixed |
| |
| Impact: None |
| |
| 4. Problem: (CQ34067) Debug prints are displayed when using the |
| use_multi compilation flag |
| |
| Cause: The debug level of the prints was high |
| |
| Change: Reduced the prints debug level so they will not be |
| displayed by default |
| |
| Impact: None |
| |
| 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: Displaying PHY FW (when applicable) at ethtool -i |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 4. Request: Upgrading the SFG10 FW from ethtool -E |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 5. Request: Adding Registers test to ethtool -t |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| 6. Request: Adding Memory test to ethtool -t |
| |
| Change: As Requested |
| |
| Impact: None |
| |
| Version 1.44.7 (March 31, 2008) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ34445) Interface got stuck when stress with UDP |
| and TCP simultaneously |
| |
| Cause: Wrong CQE size initialization |
| |
| Change: Fixed CQE ring initialization |
| |
| Impact: None |
| |
| 2. Problem: No traffic on higher functions on 57711 |
| |
| Cause: Need to send the client ID in messages to FW |
| |
| Change: Add client ID to the required messages |
| |
| Impact: None |
| |
| 3. Problem: Wrong link indication on 57711 |
| |
| Cause: The link was not updated correctly on 57711 |
| |
| Change: Update the link indication mechanism in 57711 |
| |
| Impact: None |
| |
| 4. Problem: Update coalescing is not working |
| |
| Cause: Wrong parameter was used |
| |
| Change: Changed to the required parameter |
| |
| Impact: None |
| |
| Version 1.44.6 (March 26, 2008) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ34445) Interface got stuck when stress with UDP |
| and TCP simultaneously |
| |
| Cause: The BD producer that was passed to the FW was wrapped |
| according to the size of the BD ring and not 16 bits |
| range as expected |
| |
| Change: Wrap the BD producer according to 16 bits range |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: full TPA support |
| |
| Change: TPA is now fully supported with the expected |
| performance |
| |
| Impact: None |
| |
| Version 1.44.5 (March 24, 2008) |
| =============================== |
| |
| Enhancements |
| ------------ |
| 1. Request: Initial support for TPA |
| |
| Change: TPA is now supported, but the throughput is still lower |
| than in the DEMO_TPA version - a new version with |
| enhanced throughput is being constructed |
| |
| Impact: None |
| |
| 2. Request: (CQ34011) Add module parameter to disable TPA |
| |
| Change: As requested. For now, TPA is always disabled on 57711 |
| |
| Impact: None |
| |
| 3. Request: CNIC Support |
| |
| Change: As requested. By default, CNIC support is not part of |
| the bnx2x - BCM_CNIC should be defined to enable it. |
| |
| Impact: None |
| |
| Version 1.44.4 (March 20, 2008) |
| =============================== |
| |
| Fixes |
| ----- |
| 1. Problem: DEMO_TPA was broken on 0.44.3 |
| |
| Cause: Compilation problem due to MACRO rename |
| |
| Change: Rename the MACRO for DEMO_TPA as well |
| |
| Impact: None |
| |
| 2. Problem: (CQ43424) Cannot link SFP module at 1G with Dell |
| PowerConnect 6224 |
| |
| Cause: The Dell 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: Support Emulation, FPGA and ASIC in a single module |
| file |
| |
| Change: Changed the init values and the init routine to support |
| all the compilation of 57710/57711 ASIC/CHIP/EMUL |
| |
| Impact: The size of the binary and the source code is bigger |
| mainly due to having two ASM images |
| |
| 2. Request: Add link update support for 57711 |
| |
| Change: Added |
| |
| Impact: None |
| |
| 3. Request: Add HW statistics for 57711 |
| |
| Change: Added |
| |
| Impact: Only HW (errors) statistics will be displayed since the |
| feature is not yet supported by FW |
| |
| 4. Request: Add nvram test |
| |
| Change: Added |
| |
| Impact: None |
| |
| 5. Request: Add link test |
| |
| Change: Added |
| |
| Impact: None |
| |
| 6. Request: Add interrupt test |
| |
| Change: Added |
| |
| Impact: None |
| |
| Version 0.44.3 (March 12, 2008) |
| =============================== |
| *** TPA is not functional on this release *** |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ #34103) DKMS driver diskette update.tar.gz do not |
| have smp directory |
| |
| Cause: DKMS driver diskette was created only for the default |
| SuSE kernels |
| |
| Change: Add all supported SUSE kernels into the DKMS driver |
| diskette Note: The size of the DKMS driver diskette |
| for the SUSE distributions is 14400 kb. This size is |
| appropriate for USB or CD devices |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add support for 57711 |
| |
| Change: Added preliminary support |
| |
| Impact: None |
| |
| 2. Request: Remove module param 57711E |
| |
| Change: Move to bp and initialized from analyzing CLP |
| information |
| |
| Impact: None |
| |
| 3. Request: Add fw_dump() to panic_dump() |
| |
| Change: Call fw_dump() before idle_chk() |
| |
| Impact: None |
| |
| 4. Request: Separate bp information to fast-path/common/port/ |
| function |
| |
| Change: Divide bp structure into common/port/function |
| structures Divide get_hwinfo() into common/port/ |
| function. Initialize outer VLAN and MAC from CLP |
| information in 57711E mode Note: CLP FUNC_DISABLED |
| is not handled correctly |
| |
| Impact: None |
| |
| 5. Request: Set link_status according to link_up status |
| |
| Change: link_status was set according to phy_link_up status |
| |
| Impact: None |
| |
| 6. Request: Add is_pmf flag |
| |
| Change: is_pmf flag is initialized from MCP load_code and by |
| general attention from MCP |
| |
| Impact: None |
| |
| 7. Request: Fix attentions in 57711 |
| |
| Change: Init MISC_REG_AEU_MASK_ATTN according to 57711E |
| status Handle attention bits in IGU per function |
| |
| Impact: None |
| |
| 8. Request: Clear HW blocks attentions |
| |
| Change: Clear HW blocks attentions and call panic() |
| |
| Impact: None |
| |
| 9. Request: Call fw_dump() on MCP assert |
| |
| Change: Call fw_dump() instaed of mc_assert() on MCP assert |
| |
| Impact: None |
| |
| 10. Request: Do not send STAT_QUERY ramrod if previous stat ramrod |
| didn't return |
| |
| Change: Do not send STAT_QUERY ramrod if previous stat ramrod |
| didn't return Call panic() if stats didn't updated for |
| 3 times |
| |
| Impact: None |
| |
| 11. Request: Separate init_board() into init_dev() and init_bp() |
| |
| Change: Divide init_board() into init_dev() and init_bp() |
| |
| Impact: None |
| |
| 12. Request: Fix directory name for SuSE |
| |
| Change: Add sles9 and sles10 to the names |
| |
| Impact: None |
| |
| |
| Version 1.42.3 (February 28, 2008) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: Changing the link speed to "autoneg on" the A1022G will |
| cause driver failure |
| |
| Cause: This board is using TP for the 10G interface, but the command |
| was interpreted as a request to move to the 1G interface which |
| is inactive on this board |
| |
| Change: Do not support switching interfaces since no production board |
| has this feature |
| |
| Impact: A user will not be able to switch between the two valid |
| interfaces of the T1001 test board without changing the nvram |
| configuration |
| |
| |
| Version 1.42.2 (February 20, 2008) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: TSO is not working against some none Linux clients |
| |
| Cause: TCP flags were not transmitted correctly on TSO packets |
| |
| Change: Corrected bit extraction in tcp_flag_word() |
| |
| Impact: None |
| |
| |
| Version 0.42.1 (February 14, 2008) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ #33344) Remove warnings from ethtool -t |
| |
| Cause: The warnings were just debug prints |
| |
| Change: Print is depended on msglevel. |
| Set msglevel in bnx2x_panic_dump() before calling bnx2x_idle_chk() |
| |
| Impact: None |
| |
| 2. Problem: (CQ #33638) Remove warnings when failing to enable MSI-X |
| |
| Cause: The warnings was just a debug print |
| |
| Change: Print is depended on msglevel. |
| Change the printed message from error/failure to a notification |
| |
| Impact: None |
| |
| 3. Problem: (CQ #33547) Flow control does not work on A1022G board |
| |
| Cause: The flow control was not configured/read at the PHY |
| |
| Change: Implemented the flow control code at the PHY |
| |
| Impact: flow control is now working via autoneg. Please force it if |
| the link partner does not support flow control autoneg |
| |
| Enhancements |
| ------------ |
| 1. Request: (CQ #33425) RPM installation fails on some machines |
| |
| Change: Fix installation - copy bnx2x.ko from extra to kernel/drivers/net |
| |
| Impact: None |
| |
| |
| Version 0.42.0 (February 04, 2008) |
| ================================== |
| *** This version requires bootcode 4.2.0 or later *** |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ #33344) Remove warnings from ethtool -t |
| |
| Cause: The warnings were just debug prints |
| |
| Change: Changed the debug level so by default nothing will be printed |
| |
| Impact: None |
| |
| 2. Problem: (CQ #33638) Remove warnings when failing to enable MSI-X |
| |
| Cause: The warnings was just a debug print |
| |
| Change: Changed the debug level so by default nothing will be printed |
| |
| Impact: None |
| |
| 3. Problem: (CQ #33533) Failed to install A1022G on 32bits machines |
| |
| Cause: The board is requesting 128MB for BAR2 and the memory |
| allocation fails |
| |
| Change: Allocate only the required amount of memory and not the |
| entire BAR |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: (CQ33571) new 'shared memory' layout for T4.0E/T4.2 that will |
| be compatible with T4.4 new features |
| |
| Change: As requested |
| |
| Impact: Requires bootcode 4.2.0 or later |
| |
| 2. Request: (CQ #33214) Add placeholder to be compatible with the BMPI |
| |
| Change: Added placeholders - the full implementation is scheduled |
| for T4.4 |
| |
| Impact: None |
| |
| 3. Request: Update the KR code |
| |
| Change: Added placeholders - the full implementation is scheduled |
| for T4.4 |
| |
| Impact: None |
| |
| |
| Version 0.40.19 (January 14, 2008) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ #31090) Rx pause remains ON after autoneg is retuned |
| back to ON even if MTU > 4500. |
| |
| Cause: Autoneg flow control flag was not considered for |
| advertisement and resolve of the pause mode. |
| |
| Change: Fix the advertisement and the resolve of the pause mode to |
| consider user requests and system constraints. |
| |
| Impact: None |
| |
| 2. Problem: Autoneg flow control is ON for XFP cards. |
| |
| Cause: Autoneg flow control from NVRAM is considered without check |
| if autoneg is supported. |
| |
| Change: Autoneg flow control from NVRAM is considered only if |
| autoneg is supported. |
| |
| Impact: None |
| |
| 3. Problem: ethtool shows 'Port: FIBRE' for the 10GbaseT interface. |
| |
| Cause: Resolve the port type according to XGXS flag. |
| |
| Change: get settings resolves the XGXS port type in use according to |
| external phy config. |
| |
| Impact: None |
| |
| 4. Problem: (CQ #33092, #33215) Unload/load sequence under UDP traffic |
| (receiver) hanged slow path |
| |
| Cause: Wrong flow in resetting HW blocks |
| |
| Change: HW blocks reset flow has been changed |
| |
| Impact: None |
| |
| 5. Problem: (CQ #33305) Changing MTU to 9000 was jamming TCP traffic |
| |
| Cause: LSO wasn't properly enabled on some Kernels |
| |
| Change: Fixed LSO enabling code for all kernels |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Feature: Wait for completion for ramrods sent during nic unload was |
| only by polling and not by an interrupt. |
| |
| Change: stop multi and stop leading are using poll if netif is not |
| running and interrupt otherwise. |
| |
| Impact: None |
| |
| 2. Request: Add workaround for bug in PXP that causes PXP attention on |
| stress scenarios due to under run situation between PXP and |
| USDM |
| |
| Change: The workaround was added |
| |
| Impact: None |
| |
| |
| Version 0.40.18 (January 03, 2008) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ #33148) After "make install" command 'modprobe bnx2x' |
| displays "Module bnx2x not found". |
| |
| Cause: Linux Makefile runs depmod automatically only if System.map |
| exists. |
| |
| Change: Run depmod after modules_install. |
| |
| Impact: None |
| |
| 2. Problem: (CQ #33054) Link is not detected after configuring BCM57710 |
| port with Suse 10Sp1. |
| |
| Cause: HW fails to use INTA after using MSI-X. |
| |
| Change: Set MSI_MSIX_INT_EN bit in HC_CONFIG REG to use INTA after |
| MSI-X. |
| |
| Impact: None |
| |
| 3. Problem: (CQ #33190) ifconfig command showed errors received. But |
| ethtool -S ethx did not show any errors. |
| |
| Cause: Some error counters did not have a bin to be printed by |
| ethtool -S command. |
| |
| Change: Add appropriate bins for the missed counters. |
| |
| Impact: None |
| |
| |
| 4. Problem: BSOD on T1002 boards. |
| |
| Cause: A new code was added that manipulate GPIO 1 for external phy |
| reset. On T1002 board this GPIO control the PERST_L_BYPASS. |
| |
| Change: Do not manipulate GPIO 1 on T1002 boards |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Feature: Add support for IPv6 checksum and IPv6 TSO. |
| |
| Change: The support was added |
| |
| Impact: None |
| |
| 2. Feature: Add fan failure detection and external PHY power down for the |
| A1022G |
| |
| Change: When a fan failure is detected (indicated by SPIO5) on the |
| A1022G, the driver will shutdown the PHY (reset and low power |
| mode, using GPIO1+2) and issue a warning message |
| |
| Impact: When fan failure occurs the link will go down until server |
| reset |
| |
| |
| Version 0.40.17 (December 17, 2007) |
| =================================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ #33023) Pause RX is on when driver is loaded with |
| MTU > 4500. |
| |
| Cause: Pause mode was computed from the requested flow control |
| parameter in NVRAM without considering the MTU size. |
| |
| Change: Resolve the pause mode only before advertising the flow |
| control. |
| |
| Impact: None |
| |
| 2. Problem: Pause autoneg can be set on for XFP cards. |
| |
| Cause: Pause autoneg mode was always accepted from user. |
| |
| Change: Pause autoneg is not supported if speed autoneg is not |
| supported (e.g. XFP cards). |
| |
| Impact: None |
| |
| 3. Problem: (CQ #33044) make install fail. |
| |
| Cause: No make install target in Makefile. |
| |
| Change: Add make install target to Makefile. |
| |
| Impact: None |
| |
| 4. Problem: (CQ #33057) No README.TXT in driver release folder. |
| |
| Cause: No README.TXT in driver project. |
| |
| Change: Add README.TXT in driver release folder. |
| |
| Impact: None |
| |
| 5. Problem: (CQ #32541) No README.TXT in driver tarball. |
| |
| Cause: No README.TXT in driver project. |
| |
| Change: Add README.TXT to driver tarball and change the directory |
| name. |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Add parity and assert regs for idle check. |
| |
| Change: The check was added |
| |
| Impact: None |
| |
| 2. Request: Add workaround for threshold mechanism for usdm-dp |
| |
| Change: The workaround was added |
| |
| Impact: None |
| |
| 3. Request: Add workaround for full Tetris buffer bug. |
| |
| Change: The workaround was added |
| |
| Impact: None |
| |
| 4. Request: Add support for the SFG10 PHY |
| |
| Change: The support was added |
| |
| Impact: None |
| |
| 5. Request: Add support for the BCM8072 PHY |
| |
| Change: The support was added. The code is still not 100% functional |
| |
| Impact: None |
| |
| 6. Request: Change the MDC/MDIO CL45 scheme |
| |
| Change: The functions are more generic: |
| - Supports different MDC/MDIO controller |
| - Reduce the clock to 2.5MHz |
| - Less PIO writes (writing all the required information at |
| one attempt) |
| |
| Impact: All external PHY access are using a slower (standard) |
| MDC/MDIO clock |
| |
| 7. Request: Hard reset external PHYs |
| |
| Change: The external PHYs are now reset via GPIO. Before working with |
| an external PHY, a reset pulse of 1ms is generated, and when |
| the driver is down, the external PHY is kept in reset |
| |
| Impact: Link partner should always see link down when the link is down |
| |
| Version 0.40.16 (November 29, 2007) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: (CQ #32296) VLAN broken on older Kernels. |
| |
| Cause: vlan_kill_vid() removed in newer versions is needed by older |
| kernels to allow loading. |
| |
| Change: Re added function. |
| |
| Impact: None |
| |
| 2. Problem: (CQ #29543) System panicked if receiving UDP data while load |
| and unload |
| |
| Cause: sp_task work was not synchronized with int_disable_sync() |
| |
| Change: move sp_task to work_queue element |
| |
| Impact: None |
| |
| |
| 3. Problem: (CQ #32430) XFP port showed link lights on and link |
| detected = yes when configured port up with no cable |
| attached |
| |
| Cause: Link_up was declared by local phy (XGXS) link up without |
| the external phy (8705) link status |
| |
| Change: Link up is now the combination of local phy (XGXS) link up |
| and external phy (8705) link up |
| |
| Impact: None |
| |
| Enhancements |
| ------------ |
| 1. Request: Print PCI link properties upon load. |
| |
| Change: The print was added |
| |
| Impact: None |
| |
| Version 0.40.15 (November 15, 2007) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: On heavy traffic scenarios, the machine halted due to |
| PCI problem |
| |
| Cause: A HW change in A1 boards requires some registers that |
| controls the PCI credit to be changed as well |
| |
| Change: Updating the PXP credit registers |
| |
| Impact: None |
| |
| 2. Problem: (CQ #31120) The traffic LED was not active for lower |
| speeds |
| |
| Cause: A new bootcode is required to set the traffic LED |
| when the speed is less then 10G (using the emac and |
| not the bmac) |
| |
| Change: The set LED routine was updated and bootcode 4.0.10 |
| or above is required to have the LED functional |
| |
| Impact: None |
| |
| 3. Problem: Found a bug when doing ifconfig down/up during |
| traffic. In this case FW can assert |
| |
| Cause: A packet that was received before unloading driver |
| stayed in Pbuff, and was processed after loading the |
| driver again |
| |
| Change: Added the reordering mechanism to slow path handlers |
| |
| Impact: Implementation of all L2 slow-path commands was modified |
| |
| 4. Problem: (CQ #30160) Removed false positives from the self test |
| (ethtool -t) |
| |
| Cause: Many tests in the self test were designed to check halted |
| system (after fatal error) and the test assumed that the |
| chip is idle |
| |
| Change: Any test that can happen while the chip is operational was |
| changed to "info" debug print and is not counted as warning |
| or error |
| |
| Impact: The self test is more reliable |
| |
| Enhancements |
| ------------ |
| 1. Request: Forward preparation in the code for 57711 |
| |
| Change: Using only two DMAE clients per port. Using "port" instead of |
| "function". |
| |
| Impact: Not visible to the user |
| |
| 2. Request: Block RX Pause if Auto-pause was selected and the MTU > 4500 |
| to prevent performance retrogression when using PAUSE with big |
| packets |
| |
| Change: The auto-pause resolution will be only TX pause if the MTU |
| is larger than 4500. Force pause mode will be obeyed as |
| requested |
| |
| Impact: Jumbo frames with auto-pause will achieve higher throughput |
| |
| 3. Request: Report HW errors |
| |
| Change: Parity and blocks errors attentions code was added to the |
| driver. Not all indications are enabled. |
| |
| Impact: In case of an assert in the chip, the user will get an |
| error notification |
| |
| 4. Request: Added the ability to support multi interrupt queues from |
| kernel 2.6.24 and above |
| |
| Change: Allow ISR and NAPI (the stack processing) to run on several |
| CPUs. The new feature is disabled by default |
| |
| Impact: Can reduce latency in some cases |
| |
| 5. Request: Move slow-path to work-queue to allow sleeps |
| |
| Change: The slow-path is now implemented as work queue |
| |
| Impact: Better fairness to other host drivers |
| |
| 6. Request: Changes with statistics requirements due to |
| performance enhancement and preparation for next |
| features. |
| |
| Change: a. Removed rcv_error_bytes |
| b. Replaced errors_discard stat by: mac_discard stat, |
| checksum_discard stat and packet_too_big_discard |
| stat |
| c. Removed statistics histogram |
| |
| Impact: The displayed statistics format was changed |
| |
| 7. Request Remove FW interrupts that are not needed |
| |
| Change: FW no longer interrupts the driver for reading a new slow-path |
| element (it updates driver only when completing processing it) |
| |
| Impact: None |
| |
| 8. Request: Support easier SuSE compilation |
| |
| Change: In previous version, a flag in bnx2x.c was required |
| in order to compile under SUSE. In the new implementation |
| the make file can be used in the following way: |
| SLES9 command: make EXTRA_CFLAGS+=-DBNX2X_SLES_9 |
| SLES10 command: make EXTRA_CFLAGS+=-DBNX2X_SLES_10 |
| |
| Impact: SLES compilation procedure is different now |
| |
| Version 0.40.14 (November 06, 2007) |
| ================================== |
| |
| Enhancements |
| ------------ |
| 1. Naming the TCP performance improvement feature TPA (still for demos only) |
| |
| Version 0.40.13 (November 05, 2007) |
| ================================== |
| |
| Enhancements |
| ------------ |
| 1. Added support for L2 Rx TCP performance improvements in a special mode |
| (implementation for demos only). This support is disabled by default and |
| requires a change of compilation flag to enable. |
| 2. Added support for vanilla kernel 2.6.18.5, SLES9, and RHES4 |
| |
| Version 0.40.12 (October 29, 2007) |
| ================================== |
| |
| Fixes |
| ----- |
| 1. Problem: A fragmented Tcp/Udp packet might have been wrongly dropped |
| |
| Cause: parser doesn't checks tcp/udp checksum for fragmented |
| packets |
| |
| Change: FW will report to driver the tcp/udp checksum wasn't |
| Validated if the packet was fragmented |
| |
| 2. Problem: ethtool -S|r|t eth[x] on un-configured port causes |
| errors/panic |
| |
| Cause: When port is un-configured memory is not allocated and |
| blocks in chip can be in reset |
| |
| Change: Check driver state in nway_reset() and self_test() and |
| check memory pointer in get_ethtool_stats() |
| |
| Enhancements |
| ------------ |
| 1. Supporting the upstream Kernel including new NAPI approach |
| 2. Open source coding standard modifications throughout the code, |
| including new init code, new HSI header files, new registers |
| definitions, SPARSE fixes and checkpatch.pl fixes |
| 3. Replaced patches mechanism with #ifdefs |
| 4. Supporting big-endian machines |
| 5. Supporting nVidia chipsets with MCP55 |
| 6. Support checksum offload for A1 boards (modification with some flag in |
| PBF command) |
| |
| Version 0.40.10 (August 27, 2007) |
| ================================= |
| |
| Bug fix version, no new features |
| |
| |
| |
| Version 4.0.9 (August 10, 2007) |
| =============================== |
| |
| New features: |
| ------------- |
| |
| 1. Updated to firmware version 4.0.7. |
| |
| 2. Added support for ethtool EEPROM options. |
| |
| |
| |
| |
| Version 4.0.7 (July 23, 2007) |
| ============================= |
| |
| |
| New features: |
| ------------- |
| |
| 1. Added support for flow control. |
| |
| 2. Added patch for Kernel 2.6.22.x. |
| |
| |
| |
| |
| Version 4.0.6 (July 11, 2007) |
| ============================= |
| |
| |
| New features: |
| ------------- |
| |
| 1. Added support for new bootcode 4.0.2. |
| |
| |
| |
| Version 4.0.5 (June 29, 2007) |
| ============================= |
| |
| |
| Fixes: |
| ------ |
| |
| 1. Problem: |
| Linux stack rechecked the RX checksum. |
| |
| Cause: |
| In most cases, the indication of RX checksum was wrong |
| causing the Linux stack to recheck. |
| |
| Fix: |
| Indication mistake was fixed. |
| |
| 2. Problem: |
| NFS UDP test failed writing to server. |
| |
| Cause: |
| Incorrect HW init values. |
| |
| Fix: |
| HW init values were corrected in the driver. |
| |
| 3. Problem: |
| MTU change cause system to assert. |
| |
| Cause: |
| Memory leak in the ifconfig up/down sequence. |
| |
| Fix: |
| Memory leak fixed in driver. |
| |
| |
| |
| Version 4.0.1 (June 15, 2007) |
| ============================= |
| |
| New features: |
| ------------- |
| |
| 1. Added Power management is support. |
| |
| 2. Added WoL is support. |
| |
| 3. Auto-negotiation and speed & duplex is supported. |
| |
| 4. Updated firmware version to v4.0.2. |
| |
| 5. Support for Ethtool. |
| |
| 6. Changing MTU can be done when link is up. |
| |
| |
| |
| Version 0.30.1 (June 4, 2007) |
| ============================ |
| |
| New features: |
| ------------- |
| |
| 1. Updated firmware version to v0.30.0. |
| |
| |
| Version 0.29.1 (May 21, 2007) |
| ============================ |
| |
| New features: |
| ------------- |
| |
| 1. Updated firmware version to v0.29.0. |
| |
| |
| |
| Version 0.27.5 (May 7, 2007) |
| ============================ |
| |
| New features: |
| ------------- |
| |
| 1. Interrupt coalescing values have been optimized. |
| |
| 2. Updated to Linux Kernel 2.6.20.7. |
| |
| |
| Fixes: |
| ------ |
| |
| 1. Problem: |
| High performance scenarios involving many threads could have |
| caused tx ring overrun. |
| |
| Cause: |
| SNP concurrency driver bug. |
| |
| Fix: |
| Driver related code was fixed. |
| |
| |
| |
| |
| Version 0.27.1 (Apr 23, 2007) |
| ============================ |
| |
| New features: |
| ------------- |
| |
| 1. Added speed and activity support for LEDs. |
| |
| |
| |
| Fixes: |
| ------ |
| |
| 1. Problem: |
| Low performance when running Netperf TCP_RR. |
| |
| Cause: |
| Driver bug caused a the driver to enter a busy loop in |
| certain cases when there was no RX processing queued. |
| |
| Fix: |
| The logic used to decide if there is pending RX work was |
| corrected. |
| |
| |
| 2. Problem: |
| XFP link detection problem - intermittent issue. |
| |
| Cause: |
| Driver would not get link change interrupt. |
| |
| Fix: |
| Corrected the setting of the link change interrupt. |