Integrated Baseboard Management Controller (iBMC) Firmware Update Change History
Version 1.09, AYOO32T Problem(s) Fixed: 1. Modify MIB file to convert some string to lowercase from uppercase for Director tool issue
Version 1.08, AYOO32S Problem(s) Fixed: 1. Fixed iBMC does not SEL fullness event log if IPMI SEL full. 2. Fixed iBMC would log reset button pressed assertion event at times after system reboot. 3. Fixed iBMC would log all HDD(HDD0~7 STATUS) not presence event when all HDD are presence in system. 4. Fixed iBMC would not log PSU failure event when power supply fail if system has only single power supply. 5. Add PSU error bit status to Power Supply event data 2~3 for Power Supply event log. 6. Add port 80 data to ABR_STATE event data 3 if ABR_STATE event assertion. 7. Change SYSTEM_PWR_GOOD signal and VCC 12V-6、7、8 status detection mechanism to check SYSTEM_PWR_GOOD signal and P1_VLDT voltage.
Version 1.07, AYOO32Q Problem(s) Fixed: 1. Fixed voltage/cpu temperature sensor reading error will cause system shutdown.
Version 1.06, AYOO32P Problem(s) Fixed: 1. Fixed some characters unable to use unver jviewer with Danish keyboard. 2. Fixed Px_VRD_TMP incorrect value issue. 3. Fixed HDD incorrect presence event log occurs.
Version 1.05, AYOO32N Problem(s) Fixed: 1. Fixed SNMP alert did not report power cord trigger event. 2. Fixed no event logs of instruction detector. 3. Fixed SNMP alert did not report HDD trigger event. 4. Fixed checkpoint code display on light path diagnostic panel did not keep the number after DC power off. 5. Fixed SNMP tool can not analyze alert information due to there is no MIB file. 6. Fixed intermittent multiple errors on multiple sensors which is observed from VMware but no SEL.
Version 1.04, AYOO32J Problem(s) Fixed: 1. Fixed iBMC could not report any defective redundant fan unit correctly. 2. Fixed AC power cycle test Fail. 3. Change default PEF setting. 4. Fixed the LDAP setting can't load to default, when press a "load to default "button in the WEB UI. 5. Fixed watch dog time out event does not occurs when watch dog time out. 6. Fixed Server MEP & iBMC web report different error severity for same event. 7. Fixed the status LED does not light when ABR_STATE occurs. 8. Fixed the SUT spent 8~12min to active HDDx_PRESENT sensor,when the SUT power on. 9. Fixed virtual USB key can not boot for VMware ESXi4.1.
Version 1.03, AYOO31C Problem(s) Fixed: 1. Fixed Server MEP will generate duplicate event when trigger any hardware. 2. Fixed Alert policy number can not change to 2~15. 3. Fixed SOL sometimes will be disconnect,when run DC power cycle. 4. Fixed "SOL volatile bit rate" information is illegal in "Get SOL Configuration Parameters" Command response data. 5. Fixed VMware 4.1u1 shows power alert of Power Domain 0 Host_Power 1: Power Cycle. 6. Fixed iBMC shows error message ("Close Session command failed: Unknown (0xd6)") with ipmitool utility connection. 7. Fixed Product ID is not correct in "Get Device ID" command response data. 8. Fixed VMware 4.1u1 shows power alert when Power Supply not installed. 9. Fixed memory alert LED and system alert LED on after change memory population. 10. Fixed Email/SNMP alert testing function would pop "unknow error" message on iBMC web. 11. Fixed LDAP setting parameter would not changed after restore to default. 12. Implemented an workaround to avoid unexpected voltage reading from HW monitor going high/low randomly which may over threshold
Version 1.02, AYOO30J Problem(s) Fixed: 1. Fixed all OS _iBMC FW New version and installed version were mismatched. 2. Fixed the BMC time will be incorrect when BMC connect to ADSL. 3. Fixed improper log out message on iBMC web GUI. 4. Fixed the severity is not correct when Power Supply input lost(AC/DC). 5. Fixed iBMC can not send Email/SMTP alert.
Version 1.01, AYOO29E Problem(s) Fixed: 1. Fixed Incorrect LED data returned by LED SDR on Atayal hardware 2. Fixed The help description of login profile with the define limits of authority between Administrator and Operator Enhancement: 1. Add to non-redundant fan parameters to control non-redundant fan system.
Version 1.00, BuildID: AYOO22D - Original Release - Supports Machine Type 7164
(C) Copyright International Business Machines Corporation 2009 - 2010. All rights reserved.
ibm_fw_imm_ayoo32t-1_09_anyos_noarch_chg
ServeRAID M1000 Series SAS/SATA Controller Firmware Update
Adapters Supported: ServeRAID M1115 SAS/SATA Controller for IBM System X (81Y4448) ServeRAID M1015 SAS/SATA Controller (46M0831)
Version 20.11.1-0137 - Suggested ------------------- Enhancement(s): - Update recovery mode page (WriteRetryCount and recoveryTimeLimit) during discovery of a drive and during spinup recovery when sense 6/29 is received.
Fixes: - Fixed an issue where certain drives were reporting a temperature of 65 degrees Celsius. - Fixed an issue where systems with SSD HDD will pop up an error message after creating a virtual drive via HII on M1115. - Fixed an issue where the drive state is not modified when a recon virtual drive is created from the reboot path.
Version 20.10.1-0107 - Suggested ------------------- Fixes: - Fixed grammatical errors in WebBIOS. - Fixed an issue in WebBIOS Drive Group Definition screen where enclosures should not be selectable in the Drives column. - Fixed an issue in uEFI-WebBIOS where the white bars do not match up under VD properties page. - Fixed an HII browser issue where a drive performing a copyback displayed the state as "Replacing" but other utilities showed the state as copyback. - Fixed an HII browser display issue where SATA drives showed "0" for the value of RPM under drive properties. - Fixed a display issue where the HDD port number showed incorrectly in an HII browser. - Fixed an HII browser issues where creating a global hotspare gave the user an error message. - Fixed an HII browser issue when security is changed with local key management the changing security report current mode is disabled as external keu management. - Fixed an HII browser issue where the user got the following error message, "The request command has invalid arguments," when changing the security key report. - Fixed an HII browser issue where the user was unable to save the configuration after adding an extra span during array creation. - Fixed an HII browser issue where the return value was not correct when the browser called extract config with a result of null.
Version 20.10.1-0101 - Suggested ------------------- Fixes: - Fixed an issue where a system uefi error will occur when the bootTargetId is set to 0. - Fixed a problem where the firmware will allocate the sata bbl entry for the drive when moved from unsupported to supported. - Fixed a firmware issue where the TargetId for the recon LD should be set to its original LD. - Fixed a HII error message "Question Value mismatch with Option value!" after selecting factory defaults in HII. - Fixed an issue where the firmware fails to create the configuration and utilities fail to report the VD size after the reconstruction.
Version 20.10.1-0091-01 - Non-Critical ------------------- Fix - Fixed issue where update may fail to find all supported controllers in SLES 11 SP 2. Note not change in the firmware; it is the same as package 20.10.1-0091.
Version 20.10.1-0091 - Suggested ------------------- Enhancement: - Add support for ServeRAID M1115
Fixes: - Fixed issue where after starting a reconstruction on a RAID 0 the progress %, does not increase. - Fixed an issue where a new drive, inserted after a drive failure, goes to JBOD and not auto rebuild. - Fixed physical drive count issue that stated more than (16) devices already exists
Version 20.10.1-0069- Suggested ------------------- Enhancement: - ServeRAID M1015 Dimmer Switches are disabled by default.
Fixes: - Fixed issue where enabling security causes the configuration to be missing, and a configured FDE array to be seen as foreign on reboot. - Fixed issue where WebBIOS gives garbled message when enabing FDE on an existing Disk Group - Fixed issue where the logical Unit ID (VPD page 0x83) changed after foreign import. - Fixed issue where the LDBBM entries are incorrect after foreign import. - Fixed a problem where firmware was taking to long to complete the PCI config read. Causing the system to generate an NMI. - Fixed issue where the controller does not work with pci set to nomsi in kdump kernel. - Fixed issue where the LED behavior is incorrect, wrong drive will blink activity. - Fixed issue where the configuration becomes foreign after the firmware fails multiple attempts to access raid key during boot. - Fixed firmware issue where a replacement drive is not seen if the replacement is added during power cycle. - Fixed an intermittent RAID key failure during power-on.
Version 20.10.1-0052- Critical ------------------- Enhancement: - Add support to pass SMART errors for JBOD drives to MSM
Fixes: - Added check to return SCSI sense Check condition if PMI is set and LBA is non zero for SCSI Read Cap 16. - Fixed issue where a bluescreen occurs handling RAID 1 with HSP and medium errors. The bluescreen occurs becausethe driver timesout while fw is retrying sense 0x02. Firmware causes Fatal Error when HSP drive responded with Sense 0x02 for Write/Verify or TUR - Fixed hang condition or condition where the uEFI driver does not load due to the uEFI Driver issuing a command in poll mode to firmware to early
Version 20.10.1-0045 - Critical ------------------- Fix: - Fixed issue where firmware has incomplete writes during power fail and recovery
Version 20.10.1-0036 - Critical ------------------- Fixes: - Fixed issue where uEFI WebBIOS version may not display the product name of the second controller - Fixed issue to prevent users to downlevel firmware to older versions - Fixed an issue where firmware reports "Unexpected sense, Invalid field in CDB" for LOG SENSE command sent to Seagate drives - Fixed issue where SMART failures can take longer then 5 minutes to report or in some cases fail to report - Fixed issue where it appears to the user the harddrive cache policy is changed when requested but the change did not occur
Version 20.10.1-0022 - Critical ------------------- - Fixed issue where Windows 2008 R2 WS08 cannot be installed properly on ServeRAID M1015 SATA JBOD with a uEFI boot. - Added warning message when user tried to change more then 16 drives to JBOD. - Addressed a problem where direct attached drives are given incorrect slot numbers - Added fixes from LSI channel products. - Fixed issue where a single JBOD drive will not boot after a Windows 2008 R2 installation.
Version 20.5.1-0014 - Critical ------------------- - Addressed data issue with database applications that use overlapping read write operating. - Addressed data issue which may occur during a reconstruction on some RAID levels that have an associated CacheCade virtual drive enabled. - Fixed problem where the controller may halt if a drive has medium errors that are being used in a check consistency, patrol read, or have delayed writes.
Version 20.1.1-0059 - Critical ------------------- Fixes: - Fixed an issue where a physical drive that is changed to JBOD from powersave will become unconfigured good again - Addresses an issue where data becomes inaccessible when a drive is secured after data has been written
Version 20.1.1-0049 - Suggested ------------------- Enhancement - Support M1000 key for RAID 5 and SED support
Fixes: - Fixed an issue in M3950M3 where webbios would hang - Fixed an issue where the controller properties in WebBIOS such as Rebuild, CC and BGI are not changing when we use up and down arrow keys. - Fixed an issue where Enclosure ID's are not being shown in MSM
Version 20.1.1-0046 - Suggested ------------------- - Enabled support for the ServeRAID M1000 Series Advanced Feature Key.
Note: All Logical Drives must previously have the encryption enabled before data is written on to the SED drives. Please read Retain TIP H123152 for more details.
Version 20.1.1-0042 ------------------- - Initial release ibm_fw_sraidmr_1000-20_11_1-0137_linux_32-64_chg
=============================================================================== Emulex FC/FCoE Device Driver for Linux ===============================================================================
Driver Version: 8.3.7.29 (supported on IBM System x, BladeCenter and Flex)
Problems Fixed: - Execution of internal loopback causes a crash - Issue which can cause multipath failover to not work properly
Incremental Interoperability: - IBM Flex System FC5052 2-port 16Gb FC Adapter - IBM Flex System FC5054 4-port 16Gb FC Adapter - IBM Tape unit interoperability - see SSIC for more information - SLES 11.3 on IBM System x and BladeCenter
Driver Vers: 8.3.7.18 (Supported for IBM System x & BladeCenter)
Problems Fixed: - FLOGI sent with Class 2 in-order bit set when Class 2 is set as unsupported class of service - OXID Reused before RA_TOV without RRQ to recover - Intermittently storage paths will not recover after switch reboot
Driver Vers: 8.3.6.4 (Previously supported on IBM Flex)
Problems Fixed: - Fixed debug helper routine failed to dump CQ and EQ entries in non-MSI-X mode - FLOGI sent with Class 2 in-order bit set when Class 2 is set as unsupported class of service - Fixed boot from san failure when SLI4 FC device presented on the same PCI bus - Fix ABTS recovery to be FC spec compliant - Fixed not reporting logical link speed to SCSI midlayer when QoS not enabled - Fix performance problem in pt2pt mode - Fixed SCSI host create showing wrong link speed on SLI3 HBA ports - Update text for misconfigured port messages - Fix discovery bug when swapping cables
Interoperability since previous release: - RHEL6.3 GA Kernel
Driver Vers: 8.3.5.86 (Previously supported on IBM SystemX & BladeCenter)
Problems Fixed: - Kernel panics with FCoE on HS23 in SLES 11.2 x86_64. Also requires a SLES11.2 kernel update - FLOGI sent with Class 2 in-order bit set when Class 2 is set as unsupported class of service
Interoperability since previous release: - RHEL6.3 GA Kernel
Driver Vers: 8.3.5.74 (Previously supported on IBM SystemX, BladeCenter & Flex)
Problems Fixed:
- Fixed system crash due to not providing SCSI error-handling host reset handler - Debug helper utility routines for dumping various SLI4 queues - Fix unsol abts xri lookup - Fixed issues with LPe16000 to LPe16000 discovery - Fix driver crash during back-to-back ramp events - Reregister VPI for SLI3 after cable moved to new Saturn port - Fix log message 2597 displayed when no error is detected - Fixed FCP LOG for easier Finisar trace correlation - Fix kernel panic when going into to sleep state - Fix error message displayed even when not an error - Fix Read Link status data - Fix unable to create vports on FCoE SLI4 adapter - Fix initiator sending flogi after acking flogi from target - Fix the case where an array controller does not apply FCP priority rules - Added support for handling SLI4-port XRI resource-provisioning profile change - Change default DA_ID support from disabled to enabled - Fix bug with driver unload leaving a scsi host for a vport around - Update copyright date for files modified in 2012 - Fix compilation errors on some kernels due to debugfs variable definitions - Used PCI configure space read to flush PCI function reset register write - Fixed system panic when extents enabled with large number of small blocks - Fixed system panic during EEH recovery - Fix resource leak when acc fails for received plogi - Fix SLI4 driver module load and unload test in a loop crashes the system - Fix missing CVL event causing round-robin FCF failover process to stop - Fix deadlock during adapter offline request - Fix same RPI registered multiple times after HBA reset
Driver vers: 8.3.5.66 (Previously supported on IBM SystemX, BladeCenter & Flex)
Problems Fixed:
- Fix SLI4 driver module load and unload test in a loop crashes the system - Fix missing CVL event causing round-robin FCF failover process to stop - Fix deadlock during adapter offline request - Fix same RPI registered multiple times after HBA reset - Fix driver handling of XRI Aborted CQE response - Fixed port and system failure in handling SLI4 FC port function reset - Fix bug with driver not sending a LOGO with vport delete - Make BA_ACC work on a fully qualified exchange - Fix for SLI4 Port delivery for BLS ABORT ACC - Fix KERNEL allocation while lock held - Incorrect usage of bghm for BlockGuard errors - Fix warning on i386 system - Fix ndlp nodelist not empty wait timeout during driver unloading - Fix mailbox and vpi memory leaks - Support character device to take a reference on the driver - Fix for FDISC failures after firmware reset or link bounce - Support debugfs for injecting T10 DIF errors - Fix SLI4 BlockGuard behavior when protection data is generated by HBA - Fix for driver using duplicate RPIs after 16Gb/s adapter port reset - Fix discovery problem when in pt2pt - Fixed failure in handling large CQ/EQ identifiers in an IOV environment - Fix Locking code raises IRQ twice - Fix driver not returning when bad ndlp found in abts error event handling - Support more driver logs in area of SLI4 port error attention and reset recovery - Fix bug with driver returning the wrong ndlp - Sync up with actual upstream lpfc driver code - Support SLI4 16Gb FC Adapter support for T10 DIF / BlockGuard - Merge from upstream: scsi: Fix up files implicitly depending on module.h inclusion - Fix driver behavior when receiving an ADISC - Fixed unbounded firmware revision string from port caused the system panic - Fix bug with driver processing dump command type 4 using 16Gb FC Adapter - Fix driver does not reset port when reset is needed during fw_dump - Fix ELS FDISC failing with local reject / invalid RPI - Changed SLI4 FC port internal loopback from outer serdes to inner internal - Fix REG_RPI fails on SLI4 HBA putting NPort into NPR state - Fix bug with driver processing an els command using 16Gb FC Adapter - Fix NMI seen due to CQE starvation - Fixed SLI4 FC port obtained link type and number dependent on link connection - Fixed SLI4 FC port internal loopback without SFP and external link/loopback plug - Fix driver incorrectly building fcpCdb during scsi command prep - Fixed FCP EQ memory check prevent initialize to single interrupt vector case - Fixed SLI4 16Gbit FC port internal and external diagnostic loopback tests - Fixed system panic during EEH recovery on SLI4 FC port - Fix FLOGI fails with invalid RPI (0x04) after connecting to a arbitrated loop - Fix ELS SCR failing with local reject / invalid RPI - Fix SLI4 port failures after firmware reset or dump - Fix port reset log messages indicate error when no error is seen - Fixed an issue where HBQ buffers are uninitialized in the base driver - Fixed missing shost lock protection on setting/clearing bit in vport->fc_flag - Fixed missing hbalock protection on setting/clearing bit in phba->link_flag - Fixed illegal state transition during driver unload - Fixed system crash on SLI4 FC port looopback diagnostic test with large buffers - Fixed a potential error path that might try to free DMA memory not allocated - Fixed SLI4 FC port Internal and External loopback diagnostic tests - Fix a crash while deleting 256 vports - Fix vport never finished discovery if switch runs out of resources - Fix kernel build warnings - Fix kernel panic when putting board in offline state twice - Fix memory leak when running hba resets to SLI-4 board - Fix driver message 3092 and 3116 to KERN_WARNING - Fix PCI read failure looks like a over temperature event - Fixed driver event reporting to mgmt on error attention due to forced dump - Fix not displaying firmware rev for BE UCNA boards - Fixed ABTS failure logic not rediscovering targets - Fix bug with driver not byte swapping extended mailbox data - Fix premature ndlp cleanup after second target LOGO - Fix Link pull causes I/O failures - Support loop for sli4 fc pass-through - No longer read fcoe parameters if board is not fcoe - Fix bug with driver passing a wrong count value - Support restore state and error log when sysfs board_mode attribute access failed - Fixed a typo in two of the log messages just introduced - Support for SLI4_CONFIG non-embedded COMN_GET_CNTL_ADDL_ATTR pass-through - Support for SLI4 FC port persistent linkdown through config region 23 - Fix for ABTS. Do not free original IOCB whenever ABTS fails - Fixed Linux driver inconsistency in reporting FC host port-state through OCM - Return an error if the mbox sysfs is called - Fix firmware upgrade attempt on unsupported adapter - Fix incomplete message number 2889 - Fix system crash when ASIC fails to initialize - Fix virtual fabrics bit set in FLOGI incorrectly - Fix bug with driver not returning extended mailbox data - Fix unsupported link speed accepted by SLI4 port - Incremented minor management version to reflect additional "protocol" sysfs attribute - Modify WQ handling to use entry_repost - Moved link type definitions to apply to all driver streams - Support a sysfs attribute "protocol" to report SLI4 port link protocol type - Support SLI4 INTF_TYPE and SLI_FAMILY as sub-field to the fwrev sysfs attribute - Support structure to support T10 DIF in SLI4 - Fix performance slowed due to too many register accesses - Fixed a warning when converting from simple_strtoul to strict_strtoul - Support Initial code to inject T10 DIF errors - Fixed a possible driver crash when cfg_fcp_eq_count is zero - Fixed non-embedded COMMON_GET_CNTL_ATTR mbox command failed with status 0x4 - Fixed null pointer dereference after clearing FCP policy rules - Changed the way of SLI4 device detecting physical port name - Fixed FCP policy exchange management rule parsing - Support check to lpfc_decode_firmware_rev to handle releases that have an 'X' - Fixed RPI leaks in ELS protocol handling - Fix kernel crash during boot with SLI4 card installed - Fixed NPIV FDISC failure on SLI4 if-type 2 ports - Fixed driver failed to follow IP reset procedure in SLI4 error attention handler - Fix sysfs lists fabric name for port that has been disconnected from fabric - Support FCP policy exchange management - Changed the timeout to 300 seconds for SLI_CONFIG (0x9B) mailbox command - Fixed fcp underrun reporting - Fixed a driver handling IP reset issue when PCI read return error - Fixed casting problem in calculating tx_words statistics - Support proper error code return for libdfc calling API to make proper decisions - Fix sli4 mailbox status code. Management software has dependencies - Fix compiler warning due to uninitialized local variable - Fix bus reset handler fails with bad failure code - Made proper error code return for libdfc calling API to make proper decisions - Made error log include PCI BAR bitmap from kernel when enable PCI device failed - Fixed sysfs API mismatch for building against SLES11 SP2 beta kernel - Fixed scsi midlayer queuecommand API mismatch for SLES11 SP2 beta kernel - Fixed ctlreg write bug not checking key string and limiting bytes to write - Fix default adapter name for the OCe15100 - Fixed incomplete scsi messages displayed - Fix cable pull failure on interface type 2 SLI-4 adapters - Fix enable_bg config parameter for SLI4 - Fixed not able to perform firmware reset through sysfs board_mode attribute - Fixed not recovering SLI port in handling error attention with RN bit set - Fixed two crash cases when unsolicted ELS ECHO_CMD is received - Fix direct connect does not come up for SLI4 FC ports - Fixed long wait when firmware reset to a SLI port without required privilege - Fix request firmware support for little endian systems - Fix driver firmware to match new firmware image format - Fixed SLI4 device firmware reset with SR-IOV virtual functions - Fix SLI4 CT handling for sequences > 4K - Fixed handling of unsolicited frames for vports - Fixed handling of CVL for vports - Fixed crash when aborting els IOs - Fix up CT and oxid/rxid for unsol rcv frames - Fixed mailbox double free panic - Support fcf priority record selection for fcf failover - Fixed compiler warning for putting large amount of memory on stack - Fixed driver build not building in debugfs even if kernel CONFIG_DEBUG_FS=y is set - Fix issue where the FC/FCoE Async Receive CQE did not scale for 16G FC adapters - FLOGI payload has Multiple N_port_ID set when lpfc_enable_npiv clear - Removed unused argument passed to the lpfc_bsg_diag_mode_enter routine - Fixed new ASIC device-mgmt BSG pass-through failed multi-buffer fw download - Support sysfs logging when writeable parameters are changed - Used PCI config space capability for sysfs get PF supported SR-IOV number of VFs - Support wait for SLI port status register for readyness following firmware reset - iDiag added SLI4 device PCI BAR memory mapped reigster access methods - Consolidated duplicating macro definitions - Fixed failure to enable PCIe AER prevent driver initialize and attach to device - Modified log messages for T10-PI processing - iDiag fixed mailbox capture and dump overlapping bitmap macro definition elx_dd_fc_ibm1212-8_3_7_29-1_rhel6_32-64_chg
IBM HBA/LSI Onboard 6Gb SAS/SATA/SSD Driver for Linux
Supported Controllers: - IBM 300 GB High IOPS MLC Modular Adapter (90Y4361) - IBM 600 GB High IOPS MLC Modular Adapter (90Y4365) - IBM 800 GB High IOPS MLC Modular Adapter (90Y4369) - IBM 300 GB High IOPS SLC Modular Adapter (90Y4373) - ServeRAID H1110 SAS/SATA Controller for IBM System x (81Y4492) - IBM 6Gb SAS HBA (46M0907) - IBM 6Gb SSD HBA (68Y7362) - Onboard LSI 2004 SAS
Version 15.00.00.00 - Suggested ------------------ Enhancements: - Add support for RHEL 6.2 and 6.3 - Add support for 300GB MLC (90Y4362), 600GB MLC (90Y4366), 800GB MLC (90Y4370) and 300GB SLC (90Y4374)
Version 10.30.00.00 - Initial release for RHEL 6 ------------------ ibm_dd_mpt2sas_15_00_00_00_rhel6_32-64_chg
嚜� QLogic 10Gb Converged Network Adapter (NIC) for System x and Blades Release Notes April 8, 2013
This software license applies only to QLogic customers. QLogic Corporation. All rights reserved.
Table of Contents
1. Version 2. Changes 3. Fixes 4. Known Issues 5. Additional Information 6. Firmware (Embedded in CNA) 7. Trademarks 8. Notices 9. Contacting Support
1. Version
This is NIC driver release version 1.00.00.31
These release notes describe the changes, fixes, known issues, and release details that apply to the QLogic FCoE Adapter driver version for RHEL 6.x Linux Inbox Driver with Kernel 2.6.x.
2. Changes
The following changes have been made to the Converged Network Adapter Networking Driver Update for Linux Kernel 2.6.x:
* Enabled ethtool WoL support * Fixed ethtool loopback test hang * Fixed stat counter
Hardware Support
* QLE8142 PCI-Express to 10Gb FCoE Converged Network Adapter * QMI8142 PCI-Express to 10Gb FCoE Converged Network Adapter
OS Support
These drivers work with the following Linux kernel 2.6.x distributions
* Red Hat Enterprise Linux 6.x
Software Components
* Driver 1.00.00.31 for RHEL 6.x
Industry Standards Compliance
N/A
3. Fixes and Enhancements:
Fixed issure where "FC link not coming up after cable pull, only when QLGE module has been loaded."
4. Known Issues
The following known issues may be observed in the Converged Network Adapter Networking Driver Update for Linux Kernel 2.6.x:
Driver Compilation ------------------
When trying to compile the driver by running make install, the following error may occur:
"Linux kernel source not configured - missing version.h"
To resolve this issue, create the version.h file by going to the Linux source tree and entering the following:
make include/linux/version.h
Jumbo Frames System Requirement -------------------------------
Memory allocation failures have been observed on Linux systems that are running Jumbo frames with 64MB of RAM or less. If you are using Jumbo frames, your system may require more than the advertised minimum requirement of 64MB of system memory.
Performance Degradation with Jumbo Frames -----------------------------------------
Degradation in throughput performance may be observed in some Jumbo frames environments. If this is observed, increasing the application's socket buffer size and/or increasing the /proc/sys /net/ipv4/tcp_*mem entry values may help. For more details, see the specific application manual and /usr/src/linux*/Documentation/networking/ip-sysctl.txt.
Multiple Interfaces on Same Ethernet Broadcast Network ------------------------------------------------------
Due to the default ARP behavior on Linux, it is not possible to have one system on two IP networks in the same Ethernet broadcast domain (non-partitioned switch) behave as expected. All Ethernet interfaces will respond to IP traffic for any IP address assigned to the system. This results in unbalanced receive traffic.
If you have multiple interfaces in a server, do either of the following:
* Turn on ARP filtering by entering the following:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
* Install the interfaces in separate broadcast domains: either in different switches or in a switch partitioned to VLANs.
UDP Stress Test Dropped Packet Issue ------------------------------------
Under small packets UDP stress test with 10GbE driver, the Linux system may drop UDP packets due to the fullness of socket buffers. You may want to change the driver's Flow Control variables to the minimum value for controlling packet reception. Or, you can increase the kernel's default buffer sizes for UDP by changing the values in /proc/sys/net/core/rmem_default and rmem_max.
Unplugging Network Cable While ethtool -p is Running ----------------------------------------------------
In kernel versions 2.5.50 and later (including 2.6 kernel), unplugging the network cable while ethtool -p is running will cause the system to become unresponsive to keyboard commands, except for CTRL+ALT+DEL. Restarting the system appears to be the only remedy.
Bonding Configuration ---------------------
While creating the bond, issue the following command:
modprobe -v bonding fail_over_mac=1
Then rebuild the initrd and reboot the system.
5. Additional Information
N/A
6. Firmware
N/A (The Ethernet driver does not have firmware embedded.)
7. Trademarks
QLogic, the QLogic logo, QLA, SANbox, and SANsurfer are registered trademarks of QLogic Corporation.
SANtrack and SAN Express are trademarks of QLogic Corporation.
All other brand and product names are trademarks or registered trademarks of their respective owners.
8. Notices
Information furnished in this document is believed to be accurate and reliable. However, QLogic Corporation assumes no responsibility for its use, nor for any infringements of patents or other rights of third parties which may result from its use. QLogic Corporation reserves the right to change product specifications at any time without notice. Applications described in this document for any of these products are only for illustrative purposes. QLogic Corporation makes no representation nor warranty that such applications are suitable for the specified use without further testing or modification. QLogic Corporation assumes no responsibility for any errors that may appear in this document.
9. Contacting Support
Please feel free to contact your QLogic approved reseller or QLogic Technical Support at any phase of integration for assistance. QLogic Technical Support can be reached by the following methods:
(c) Copyright 2013. All rights reserved worldwide. QLogic, the QLogic logo, and the Powered by QLogic logo are registered trademarks of QLogic Corporation. All other brand and product names are trademarks or registered trademarks of their respective owners. qlgc_dd_nic_qlge-1_00_00_31_rhel6_32-64_chg
Dynamic System Analysis (DSA) Preboot Change History
Version 9.30, Build ID DSYTB27 o New System Support: Flex System x440 Compute Node (7917, 2584) IBM System x3300 M4 (7382) o Problem(s) Fixed: 1. PMR - 05766,YL2,760 Aenservice appeared after running UpdateXpress & DSA. 2. PMR - 05193,W01,000 7147 - Intermittent random PSOD in vmware. multiple
o Enhancement: None o Limitations: - FIFO test of NIC diagnostics is not supported on the Intel I350 Quad Port GbE. Powerville has shared FIFO and shared FIFO registers making a test impossible if four ports are running at once. - For more limitations please refer to readme. o Special usage: - 2012 ToolsCenter 12D
Version 9.29, Build ID DSYTAB6 o New System Support: Flex System x440 Compute Node (7917, 2584) o Problem(s) Fixed: None o Enhancement: None o Limitations: - DSA implemented signature in product build. Please update IMM to 1AOO34V or later before updating pDSA, or flash failure will occur; - The user can not flash Embedded Preboot on VMware ESX3.5 prior to U4. - When flashing DSA Preboot using wflash/lflash, if you notice a build mismatch error, please make sure IMM firmware level is minimum 29B. Once you upgrade the IMM firmware to 29B or higher, DSA Preboot will continue to flash without error; - For more limitations please refer to readme. o Special usage: - NGP-4Q(12B+ FixPack3)
Version 9.28, Build ID DSYTAA4 o New System Support: x3630 M4 (7519) x3550 M4 (7383) o Problem(s) Fixed: None o Enhancement: None o Limitations: - DSA implemented signature in product build. Please update IMM to 1AOO34V or later before updating pDSA, or flash failure will occur; - The user can not flash Embedded Preboot on VMware ESX3.5 prior to U4. - When flashing DSA Preboot using wflash/lflash, if you notice a build mismatch error, please make sure IMM firmware level is minimum 29B. Once you upgrade the IMM firmware to 29B or higher, DSA Preboot will continue to flash without error; - For more limitations please refer to readme. o Special usage: - IMMV2 system 2012 4Q-LFC
Version 9.27, Build ID DSYTA7F o New System Support: None o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme o Special usage: - IMMv1 system 2012 4Q-LFC
Version 9.26, Build ID DSYTA6G o New System Support: None o Problem(s) Fixed: None o Enhancement: DSA Performance Optimization o Limitations: Refer to readme o Special usage: - 2012 ToolsCenter 12C
Version 9.21, Build ID DSYTA1U o New System Support: None o Problem(s) Fixed: 1.Recovered LSI Rawdata: "MegaCli -FwTermLog -Dsply -aALL" o Enhancement: None o Limitations: Refer to readme o Special usage: - 2012 ToolsCenter 12B Plus
Version 9.20, Build ID DSYTA0R o New System Support: x3530 M4 (7160) x3630 M4 (7158) x3750 M4 (8722, 8733) HS23E (8038, 8039) Flex System x220 Compute Node (7906, 2585) o Problem(s) Fixed: 1. PMR 05819,YL2,760 An error occured during the execution of DSA on Windows, DSA exits with an error at the eventlog plugin. o Enhancement: 1. Add HW remote presence key collection for High volume systems. o Limitations: Refer to readme o Special usage: - 2012 ToolsCenter 12B
Version 9.07, Build ID DSYT9CA o New System Support: x3750 M4 (8722, 8733) o Problem(s) Fixed: None o Enhancement: None o Limitations: None o Special usage: None
Version 9.06, Build ID DSYT9BC o New System Support: Flex System x220 Compute Node (7906) o Problem(s) Fixed: None o Enhancement: None o Limitations: None o Special usage: None
Version 9.05, Build ID DSYT9AA o New System Support: x3630 M4 (7158) x3530 M4 (7160) x3100 M4 Refresh1 (2582) x3250 M4 Refresh1 (2583) o Problem(s) Fixed: None o Enhancement: None o Limitations: None o Special usage: None
Version 9.04, Build ID DSYT99E o New System Support: Flex System x240 Compute Node (8737, 8738, 7863) o Problem(s) Fixed: None o Enhancement: None o Limitations: None o Special usage: None
Version 9.03, Build ID DSYT98I o New System Support: HS23E (8038, 8039) o Problem(s) Fixed: None o Enhancement: None o Limitations: None o Special usage: None
Version 9.02, Build ID DSYT97C o New System Support: iDataPlex dx360 M4 server/2U chassis (7912/7913) o Problem(s) Fixed: None o Enhancement: None o Limitations: None o Special usage: None
Version 9.01, Build ID DSYT96D o New System Support: x3500 M4 (7383) x3550 M4 (7914) x3650 M4 (7915) o Problem(s) Fixed: o Enhancement: None o Limitations: None o Special usage: None
Version 9.00, Build ID DSYT95W o New System Support: BladeCenter HS23 (7875) BladeCenter HX5 (7873, 1910) Flex System x240 Compute Node (8737, 8738, 7863) Flex System Manager Node (8735) x3500 M4 (7383) x3550 M4 (7914) x3630 M4 (7158) x3650 M4 (7915) x3690 X5 (7192, 7147) x3850 X5 / x3950 X5 (7143, 7191) o Problem(s) Fixed: 1. PMR 24817,8QG,000, PMR 30680,499,000 After kicking off DSA on one of the management nodes (x3650 M2) of SONAS 1.2(RHEL5 based), the node became unresponsive and dropped out of the cluster.
2. PMR 53575,000,834, PMR 05961,YL4,760 After running DSA, when using linux dump command on a DDS5 usb internal tape drive attached in x3650M2 backup speed becomes very slowly or failed.
3. PMR 26905,095,866 Running DSA 4.0 as well as DSA 3.4 on x3850 X5 the server is freezing, users have to reboot the server.
4. DSA 4.00 and previous version segmentation fault issue
6. PMR 15086,OTH,760 DSA 9.00 with --no-imm-lan option does not work correctly on RHEL5.3. The USB port state is changed during the execution of DSA.
o Enhancement: 1. Add GUI and CLI menu for Features on Demand (FoD) Activation Key Management o Limitations: Refer to readme. o Special usage: None
Version 4.02, Build ID DSYT92I o New System Support: iDataPlex Direct Water Cooled dx360 M4 server o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: None
Version 4.01, Build ID DSYT92H o New System Support: None o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: - 2011 4Q lifecycle
Version 4.00, Build ID DSYT91S o New System Support: None o New server options support: None o Problem(s) Fixed: 1. PMR 15065,OTR,760 On Unisys ES7000 or x3850 X5, the Memory Card number with failed DIMM can not be reported in IPMI Eventlog if the Memory Card is bigger than 4.
o Enhancement: 1. Added > 1TB memory test support o Limitations: Refer to readme. o Special usage: - 2011 ToolsCenter 11D
Version 3.48, Build ID DSYT89PUS o New System Support: None o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: - 2011 3Q lifecycle
Version 3.47, Build ID DSYT89LUS o New System Support: x3100 M4 (2582) x3250 M4 (2583) o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: None
Version 3.46, Build ID DSYT89GUS o New System Support: System x iDataPlex dx360 M3 (6391) o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: None
Version 3.45, Build ID DSYT89EUS o New System Support: None o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: - x3850 X5 / x3950 X5 (7143, 7191) EXA scaling
Version 3.43, Build ID DSYT87HUS o New System Support: BladeCenter HX5 (7873,1910) o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: None
Version 3.43, Build ID DSYT87FUS o New System Support: x3850 X5 / x3950 X5 (7143, 7191) x3690 X5 (7192, 7147) o Problem(s) Fixed: o Enhancement: None o Limitations: Refer to readme. o Special usage: None
Version 3.40, Build ID DSYT85T o New System Support: BladeCenter HS22 (1911) x3650 M3 (5454) o Problem(s) Fixed: None o Enhancement: None o Limitations: Refer to readme. o Special usage: None
Version 3.30, Build ID DSYT80S o New System Support: None o Problem(s) Fixed: None o Enhancement: 1. Correct a problem with LSI MegaRAID reporting for IBM Service o Limitations: Refer to readme. o Special usage: None
Version 3.20, Build ID DSYT75X o New System Support: x3630 M3 (7377) x3690 X5 (7148, 7149) o Problem(s) Fixed: None o Enhancement: 1. Add LSI Hard Disk Drive (HDD) diagnostic back for both the onboard SAS chip and ServeRAID o Limitations: - If you have ServeRAID (M1015) SAS/SATA Controller, 46M0831 installed, you will need one of the following: - uEFI GYE133A or greater for x3200 M3 and x3250 M3 - uEFI Y4E145B or greater for x3400 M2, x3400 M3, x3500 M2 and x3500 M3 - uEFI D6E145C or greater for x3550 M2, x3550 M3, x3650 M2 and x3650 M3 - For more limitations please refer to readme o Special usage: None
Verion 3.20, Build ID DSYT75U o New System Support: x3755 M3 (7164) o Problem(s) Fixed: None o Enhancement: None o Limitations: None o Special usage: None
Verion 3.10, Build ID DSYT70X o New System Support: x3400 M3(7378, 7379) x3500 M3(7380) x3550 M3 (7944, 4254) x3620 M3 (7376) x3650 M3 (7945, 4255) x3690 X5 (7148, 7149) x3850 X5 Standard Single-node and Multi-node models(7145, 7146) x3950 X5 Specially configured Database Engine models (7145, 7146) iDataplex dx360 M3 (6391) HS22V (7871,1949) HX5 (7872, 1909) o Problem(s) Fixed: None o Enhancement: 1. Added ServeRAID data collection o Limitations: - The following function has been temporarily removed from DSA Preboot for both the onboard SAS chip and ServeRAID: - LSI Hard Disk Drive (HDD) diagnostic - If you have ServeRAID (M1015) SAS/SATA Controller, 46M0831 installed, you will need one of the following: - uEFI GYE133A or greater for x3200 M3 and x3250 M3 - uEFI Y4E145B or greater for x3400 M2, x3400 M3, x3500 M2 and x3500 M3 - uEFI D6E145C or greater for x3550 M2, x3550 M3, x3650 M2 and x3650 M3 - For more limitations please refer to readme o Special usage: None
Version 3.02.56, Build ID DSYT56e o New System Support: None o Problem(s) Fixed: None o Enhancement: - The following systems are supported when BoMC downloads the corresponding system enablement pack: HS22V (7871,1949) x3550 M3 (7944,4254) x3650 M3 (7945,4255) x3400 M3 (7378,7379) x3500 M3 (7839) dx360 M3 (6391) o Limitations: - No HDD diagnostics available - To ensure quality and stability of the DSA code, we have reverted some display functionality of RAID information to what was shown in previous versions of DSA. This affects RAID display on the following adapters: Megaraid 8480 Serveraid MR10i Serveraid MR10is Serveraid MR10m Serveraid MR10k Serveraid M1015 Serveraid M5014 Serveraid M5015 On these adapters, the RAID information is generated from the output of separate command line tools and the format may not match other output in DSA. - For more limitations please refer to readme o Special usage: None
Version 3.00, Build ID: DSYT55a o New System Support: None o Problem(s) Fixed: None o Enhancement: - Added support for Machine Types 7327, 7328, 4251, 4252, 4261 o Limitations: - No HDD diagnostics available - For more limitations please refer to readme o Special usage: None
Version 1.16, Y4YT19AUS o New System Support: None o Problem(s) Fixed: None o Enhancement: - Added support for Machine Types 7839, 7836, 7837 o Limitations: None o Special usage: None
Version 1.15, TMYT20AUS o New System Support: None o Problem(s) Fixed: None o Enhancement: - Added support for Machine Types 7321, 6380, 7323 o Limitations: None o Special usage: None
Version 1.14, D6YT37AUS o New System Support: None o Problem(s) Fixed: None o Enhancement: - Added support for Machine Types 7946, 4198, 7947, 4199 o Limitations: None o Special usage: None
Version 1.13, P9YT48AUS o New System Support: None o Problem(s) Fixed: None o Enhancement: - Added support for Machine Types 7870, 1936, 7809 o Limitations: None o Special usage: None
Version 1.00 - Initial release
(C) Copyright International Business Machines Corporation 2008 - 2012. All rights reserved. ibm_fw_dsa_dsytd1i-9_50_anyos_anycpu_chg
======================================================= Change History for Qlogic Converged Network Adapter FC/FCoE Driver ======================================================= Document Name: Change History Document Status: IBM General Avalibility Document Version: 2.0 Latest Driver Version: 8.04.00.12 Document Updated: 04/08/2013 Product: Qlogic FC/FCoE Linux Device Driver
Please visit www.qlogic.com/hba for full documentation, additional drivers, and management applications.
Version 8.04.00.12 Fixes and Ehancements:
Software/Driver
* Added T10 DiF/DiX support for ISP83xx.
* ISP83xx CNA support * IDC support for three protocols. * Loopback support. * Beacon support.
* Added support for bidirectional commands
* Added support for MCTP dump
* ISP83xx(16G FC) support for Xenserver 6.0 and Oracle UEK.
* SRB Consolidation.
* RSCN handling changes.
* Increase in support of maximum fibre devices.
* Enhancements to support ISP83xx (Limited support). * Driver features supported * 10GB link support only * Port device discovery * LUN discovery * I/O * Perturbations * SG resets of host and SCSI devices.
* Driver features not supported * Beacon support * Loopback * T10 DIX/DIF * SFP read/write * QCC GUI Support * QCC CLI Support * NPIV * Multi-Queue * Boot from SAN * FC-Tape * SLES10.3 driver: * Fix not to MPI reset on ISP83xx is not included.
* Implemeted beacon on/off for ISP82xx.
* Add support for ISP82xx to capture dump (minidump) on failure.
* Provide method for updating I2C attached VPD.
* Resync with latest ISP24xx/25xx firmware (5.08.00).
Industry Standards Compliance ----------------------------- * N/A
3. Bug Fixes
The following fix has been made to the Fibre Channel and FCoE Adapter Inbox Driver Update for Linux Kernel 2.6.x and 3.x:
* 8.04.00.12.xx.y-k * Update the copyright information. * Display the lock owner on lock acquire failure. * Move loopback mode reset after chip reset check. * Extra loopback error handling for ISP83xx. * Do link initialization on get loop id failure. * Do MPI reset only for 81xx.
V2632 (RHEL 6.x, SLES 11.x, Citrix 6.0, UEK): * Revert "qla2xxx: Optimize existing port name server query matching." * Revert "qla2xxx: Avoid losing any fc ports when loop id's are exhausted." * Don't free pool that wasn't allocated. * Unload hangs after issuing BSG commands to vport.
Citrix 6.0: * Create initrd as a part of installation and removal of the driver rpm. * RPM install should install driver under extra instead of driver directory.
RHEL 5.x, SLES 10.x: * MBA_IDC_NOTIFY case should fallthru. * Add fw_dump_size sysfs attribute file. * Add test for validity of virtual host in netlink interface.
SLES 10.x: * Add 8031/2031 cases to request firmware.
* 8.04.00.11.xx.y-k * Move marking fcport online ahead of setting iiDMA speed. * Add 16Gb/s case to get port speed capability. * Get VPD information from common location for CNA. * Dont clear drv active on iospace config failure. * Display that driver is operating in legacy interrupt mode. * Add "16" speed to link speeds array in qla2x00_iidma_fcport() function * Correct race in loop_state assignment during reset handling. * Reject loopback request if one is already in progress. * Update the FTP site references in the driver sources.
V2632 (RHEL 6.x, SLES 11.x Citrix 6.0 and UEK): * Obtain loopback iteration count from bsg request. * Parameterize the link speed string conversion function. * Update ql2xextended_error_logging parameter description with new options. * Fix typo in qla2xxx driver. * Free rsp_data even on error in qla2x00_process_loopback(). * Avoid null pointer dereference in shutdown routine.
RHEL 5.x: * Remove fabric_logout() calls from qla2x00_dev_loss_tmo_callbk() function.
SLES10.x: * Clear local references of rport on device loss timeout notification from FC transport.
* 8.04.00.10.xx.y-k * Honor status value of 2 for report-id acquisition. * Ignore driver ack bit if corresponding presence bit is not set. * Add Gen3 PCIe speed 8GT/s to the log message. * Acquire risc semaphore before resetting ISP.
V2632 (RHEL 6.x, SLES 11.x Citrix 6.0 and UEK): * Ramp down queue depth for attached SCSI devices when driver resources are low. * Determine the number of outstanding commands based on available resources. * Fix for kernel crash when external loopback diagnostic is run through BSG interface. * Fix coccinelle warnings in qla2x00_relogin. * Test and clear FCPORT_UPDATE_NEEDED atomically. * Use correct Request-Q-Out register during bidirectional request processing * Fix typo in qla83xx_fw_dump function. * Move noisy Start scsi failed messages to verbose logging level. * Fix for warnings reported by sparse.
RHEL 5.x: * Inclusion of 4G/8G firmware version 5.08.00. * Log message when qla2xenablemsix module parameter is set to 2( MSI mode) and adpater does not support MSI mode. * Revert "qla2xxx: Use GFF_ID to check FCP-SCSI FC4 type before logging into Nx_Ports" * Revert "qla2xxx: No fcport FC-4 type assignment in GA_NXT response."
Citrix 6.x: * RPM build should hide the directory naming convention from user.
* 8.04.00.09.xx.y-k * No fcport FC-4 type assignment in GA_NXT response. * Fix checkpatch error in qla2xxx_mctp_dump. * Change in setting UNLOADING flag and FC vports logout sequence while unloading qla2xxx driver. * Clear unsupported 'states' during Get-FW-State queries.
V2632 (RHEL 6.x, SLES 11.x Citrix 6.0 and UEK): * Pass correct parameters while creating an initrd. * Remove spurious taking of ha->vport_slock spinlock.
UEK: * Add macro for kernel extended version.
RHEL 5.x: * Use GFF_ID to check FCP-SCSI FC4 type before logging into Nx_Ports. * Pass correct parameters while creating an initrd.
8.04.00.08 Initial release of Qlogic 10Gb FC Driver for RHEL5
qlgc_dd_fc_qla2xxx-8_04_00_12_rhel6_32-64_chg
QLogic 16 Gb Fibre Channel Adapter MultiFlash Update for System x QLogic Corporation. All rights reserved.
Version 2.01.55 Date: 1/16/2013 BIOS 3.0 version 3.16 uEFI version 5.27 FC Firmware - v6.03.00
-Fix an issue where the first 4 bytes of the BootTargetWWN are set to FF
Version: 2.01.26 Date: Initial Release BIOS 3.0 version 3.16 uEFI version 5.26 FC Firmware - v6.03.00
qlgc_fw_fc_26xx-2_01_55_linux_32-64_chg
IBM ServeRAID BR10il SAS/SATA Controller v2 BIOS and Firmware Update BIOS Version 6.30.02.00, Firmware Version 1.30.10.00 and BSD Version 3.16.00.06
Adapters Supported: IBM ServeRAID BR10il SAS/SATA Controller v2 (49Y4731)
NOTE TO SERVICE - Reference RETAIN #N/A
NOTE: This change history is common between several of the IBM and LSI Basic or Integrated RAID SAS controllers for non-BOFM enabled, uEFI systems. Not all levels were released for all controllers.
BIOS Fixes:: - Fixed an issue where the controller was hanging during initialization when an adapter was hung in reset with insufficient information to reset itself. - Fixed an issue where the SAS MPT BIOS CU reports wrong array size.
BDD Fixes - Removed the "SAS/SATA missing" warning message when SAS and SATA arrays are present on the same controller. Firmware Fix - Addressed issue where 6Gb SATA drives will only negotiate at 1.5Gb/s instead of 3Gb/s. - Fixed issue where SAS/SATA mixing errors will occur when the controller is setup to allow mixing of devices. - Fixed issue with large topology of SATA drives where media errors on a single drive will cause one phy to hang after IOs to other drives start to timeout. - Fixed discovery Error 0x2 in maximum topology with SATA devices, - Addressed issue where Credit would be stuck at zero until controller resets resulting in a phy becoming hung and IO failing. Only occurs with very high IO.
Fixes: - Addressed issue with SATA devices where the drive could go missing for several minutes. - Fixed issue where incorrect release of scatter gather list could cause issues with pending IO to missing devices. - Addressed issue where IOs to a host with a bad drive could fail.
Fixes: - Fixed issue where Target mode responds with incorrect WWID after ports are swapped. - Fixed issue with Incorrect/Unexpected discovery errors on RAID storage enclosures. - Fixed issue where device added events are not sent to the host on RAID storage enclosures. - Fixed issue where it is possible for a Incorrect/Duplicate Device handle to get assigned to a target that is a SSP Initiator. - Fixed problem of the boot order selection not being saved
Fixes: - Changed BIOS text to state an IS Volume creation can be 1 to 10 drives. - Fixed issue with 2TB and above drives where SAS MPT BIOS CU reports wrong array size. - Addressed an issue that will maintain Target IDs for attached devices to an enclosure if the enclosure is removed for a short time.
Fixes: - Fixed an issue where, after running heavy I/O to NCQ enabled SATA drives, the controller may log false data underruns for read or write I/Os. The PHY on which the I/Os were reported as underrun may eventually lock up.
Fixes: - Fixed an issue where Solid State Drives (SSDs) were not seen after a link reset. - Fixed an issue where direct attached SATA drives were not reported missing after they were removed. This could result in degraded or failed volumes being reported as healthy.
Fixes: - Fixed an issue introduced by new functionality in package 2.50. The issue would cause a dual attached device to be hidden from both the direct connection and the expander connection. - Changed the behavior during drive quiescing/un-quiescing to prevent the drive metadata from being unnecessarily updated. - Fixed an issue where drives might go offline during a firmware update, due to I/O timeouts caused by the length of time needed to update the firmware. - Fixed an issue where volumes can become inactive due to the metadata on the drives getting out of synch with NVSRAM.
Fixes: - Fixed an issue where, on certain drives, it was not possible to create a RAID 0. - Fixed an issue which could cause drive ID0 to go offline. - Fixed an issue with SSD hot spares being reported as Orphaned. - Fixed an issue where hot spares could not be created when the first physical disk of a roaming IME volume is missing. - Fixed a memory leak which could occur in verification of hot spare. - Fixed several issues involving creating a volume or hot spare immediately after deleting a volume or hot spare. - Fixed various issues with hot spare reporting. - Fixed an issue where, in a multi-path environment under heavy I/O, an open timeout can cause Linux file systems to become read-only. - Fixed an issue where drives may go offline during a firmware flash under Windows. - Fixed an issue that caused a 0x7600 fault while running heavy I/O to expander attached disks. - Fixed an issue where, when a driver at a certain volume ID is roamed, the volume ID would change on the next reboot. - Fixed an issue which caused a 0x266D fault on reinsertion of a hotspare. - Fixed an issue where a volume cannot be deleted due to foreign metadata from a new drive. - Fixed an issue where a 0x8055 fault could occur upon insertion of drives with deleted metadata. - Fixed a rare issue where drives could go missing under a heavy load. - Fixed an issue where a 0x800F fault may be seen at startup on large topologies. - Fixed an issue that could cause a 0x0B83 fault when a SATA drive failed to initialize. - Fixed an issue where the LED of a critical drive would revert to the pattern for an optimal drive before the drive was truly optimal again. - Fixed an issue where a resync would resume, rather than restart, when a primary drive was removed and re-inserted. - Fixed an issue that could result in 0x6001 faults while running I/O. - Removed some extraneous error messages, which were triggered by reboots or firmware flashes, from the firmware log. - Fixed an issue which cause a 0x266D fault during volume creation. - Fixed an issue which could cause the operating system's file system to become read only in a multi-path environment.
Functionality: - Initial release for: IBM 3Gb SAS HBA v2 - Added support for EFI (Extensible Firmware Interface) based systems. - Enhanced support for SSDs (Solid State Drives). - Implemented support for single drive RAID 0. - Added a new volume status 'Sync Pending' for a volume that could be resynching, but is waiting for the first volume to complete resync. - Added ability to remove an orphaned hot spare when its associated, missing, volume is deleted. - Implemented some LED blink pattern changes to account for new hardware. - Added the ability to enable/disable data scrubbing on SSDs. - Enabled functionality to update drive firmware on disks in a degraded volume (the update must be done via the IBM Online SAS/SATA HDD Update Program, which must also contain a fix to enable this function).
Fixes: - Fixed an issue where, with dual solid state disks (SSD) installed, hard drive 0 goes defunct or disappears or a RAID 1 mirror becomes degraded. - Fixed an issue which slightly degraded performance in a Large Drive Count (LDC) configuration. - Fixed an issue where SATA drives may fail when alternate paths are removed and reinserted in a multipath configuration. - Fixed a condition which caused a 0x1904/0x1903 fault when issuing a TARGET RESET to certain SATA drives. - Fixed an issue where a 0x0800 fault occurs when an inactive or non-optimal volume is deleted. - Changed a resource allocation so that topology and other discovery related events aren't affected when other resources are heavily stressed. - Fixed an issue where, if a volume is removed, then reinserted, into a SAS topology, the volume becomes inaccessible. - Fixed an issue where discovery appears to hang due to multiple Expander Removed events sent for a single expander. - Fixed an which causes an OS not to boot if one of the hard disks in the boot volume is removed. An error similar to "Adapter LSI RAID 0/1 SAS 4P (0) was 1: Disk (0) missing after reboot". - Fixed an issue where continuous 'device added' events would be sent during discovery when a controller is attached to a topology with more end devices than are supported. - Fixed an issue that could cause I/O timeouts or 0x0900/0x1600 faults with SATA drives under heavy I/O load during any memory deallocation. - Fixed an issue where multiple WRITE BUFFER commands may cause a 0x4202 fault. - Fixed an issue where a 0x1904/0x1903 fault may be seen when a duplicate I/O results in a double completion. - Prevented task management timeouts which occurred when the SATA engine was involved with multiple error handling. - Fixed an issue that could cause the Initiator Command queue to become corrupt, resulting in a 0x6001 fault. - Fixed an issue where some error information was lost during Record Not Found media errors. - Fixed an issue with the reporting/retrieval of some LDC statistics. - Fixed an issue which may cause firmware initialization failure when many (more than 50) SATA targets are attached. - Fixed an issue which, in rare cases, could cause a 0x266D fault. - Fixed an issue which could cause a 0x1904 fault when issuing task management requests during heavy IO. - Fixed an issue that caused a break of the MPI spec in a scenario where an end device fails SATA initialization or an expander is out of routing table entries. - Fixed an issue where a virtual PHY is counted multiple times, resulting in the same Bus/Target ID being assigned to two different devices. - Fixed a stack overflow issue which could result as a 0x0900 fault or a fault code 11h during system initialization. - Enabled modification of Write Cache settings for RAID 0 volumes. - Fixed an issue which caused an "Insufficient Resources" response for an MPT RAID Passthrough command. - Fixed an issue where SMP requests are sent through the SMP passthrough, a 0x4203 fault occurs. - Fixed an issue where drives with SMART errors are not detected as volume members. - Prevented a false "Device Not Responding" event during discovery under heavy I/O. - Fixed an issue where an Activity LED would erroneously blink when a raw hard drive was added to a previously occupied slot. - Fixed an issue which could result in media errors at 51% rebuild point when a hot spare is present. - Fixed I/O timeouts and/or invalid SAS Expander Page #0 content which could occur if a bad link caused rapid linkup/linkdown states on a drive. - Fixed an issue which could result in a 0xBADn fault (where n is the PHY number) after a HARD RESET primitive is received. - Corrected an issue where the swap out status of a drive is always set to 0, rather than to a meaningful value. - Fixed an issue where, if a card enters fail-safe mode due to unreadable or unreachable settings, a fault 0x0700 was seen and the card would never enter READY state. - Fixed an issue where a hotspare which was created through the BIOS would not be correctly reported until after a reboot. - Corrected an issue where media errors would cause unnecessary device resets. - Fixed an issue where, if a disk is hot swapped with an incompatible disk, the new disk would incorrectly be assigned the volume ID as its target ID. - Prevented multiple paths from being returned unless multipathing is specifically enabled in NVDATA. - Fixed an issue which results in a 0x6014 fault during discovery in complex topologies. - Corrected an issue where pulling a drive in a volume would caused a 0x801F fault. - Fixed an issue where a 0x6002 fault is encountered in LDC topologies. - Ensured the MPI_EVENT_IR2_RC_PD_REMOVED event is properly reported when a foreign disk is removed. - Fixed an issue which could result in a 0x0800 fault under heavy I/O. - Corrected an issue which results in 0x4E01 fault when processing multiple simultaneous NCQ errors. - Fixed an issue where, if four or more drives are configured as any mix of volumes or hot spares, when you delete the volume, the associated hot spare(s) are correctly deleted, but the physical drives don't reappear in BIOS until after a reboot. - Fixed an issue where, if the same LUN is issued two active resets, the second reset could be completed before the first reset. - Fixed an issue which causes SATA initialization failure if a WRITE command is processed concurrently with a RESET command. The volume would then change to a FAILED state. - Ensured that metadata size is automatically detected by the firmware. - Fixed an issue where the BIOS stops responding if a rebuilding hard drive is removed. - Fixed an issue where 0x7600 faults were encountered when running heavy I/O to cascaded x12 expanders. - Fixed an issue where, with a 1078 chip, a 0x266D fault may occur when hot spare is reinserted. - Corrected an issue where SAS or SATA drives may be reported missing after a target reset to an end device. - Fixed an issue where, if the drive at the volume ID slot is roamed, the volume ID might change on the next reboot. - Fixed an issue where there is a very low probability of experiencing data corruption while under very heavy I/O stress. - Reworked the firmware download function into an asynchronous operation to allow I/O to continue during the process. - Fixed an issue where a direct-attached SEP device will not be assigned an ID or handle which will prevent communication with the device. - Fixed an issue where a direct-attached SEP will be incorrectly assigned TargetID 0.
Functionality: - Implemented various changes to the LED blink pattern for SGPIO. - New functionality to ensure that, if a dual-ported device is connected via both direct and expander attached connections, only the direct connection is hidden when the HideNonzeroAttachedPhyIdentifiers bit is set.
Functionality: - Initial release for: IBM ServeRAID BR10i SAS controller ibm_fw_sraidbr_10il-v2-2_75_linux_32-64_chg
============================ R E L E A S E N O T E S ============================
Broadcom Linux bnx2 and 10GigE Virtual Bus Drivers(VBD)
Version 2.2.3n 03/11/2013 Copyright (c) 2004 - 2013 IBM Corporation All rights reserved
NOTE: These driver release information is the original from the vendor. They include multiple driver change histories for multiple Linux Operating Systems. Some drivers may or may not pertain to all Linux Operating Systems but are part of this file for references.
==================================================================================================== Original file from Vendor...
Release Notes Broadcom bnx2 Linux Driver Version 2.2.3n 03/11/2013 Broadcom cnic Linux Driver Version 2.5.16g 03/11/1013
Broadcom Corporation 5300 California Avenue, Irvine, CA 92617
Copyright (c) 2004 - 2013 Broadcom Corporation All rights reserved
bnx2 2.2.3n (Mar 11, 2013) ========================== cnic 2.5.16g (Mar 11, 2013) ========================== Fixes ----- 1. Problem: cnic driver does not compile on XEN server.
Cause: Shared bnx2x_compat.h relies on some CFLAGs to compile properly on XEN server.
Cause: Firmware bug and cnic error handling bug for TCP_CLOSE ramrod.
Change: Added check for iscsi completion error when receiving the TCP_CLOSE ramrod completion.
Impact: bnx2x iSCSI only.
bnx2 2.2.3m (Jan 28, 2013) ========================== cnic 2.5.16e (Jan 28, 2013) =========================== Fixes ----- 1. Problem: (CQ67528) cnic/bnx2 crash when both drivers are loaded on some kernels.
Cause: Shared struct bnx2 compiled differently on bnx2 and cnic, causing cnic to reference the wrong field.
Change: Added bnx2_compat0.h to define the common CFLAGs that affect structure sizes for both drivers to include.
Impact: All (if cnic is loaded)
bnx2 2.2.3k (Jan 25, 2013) ========================== Fixes ----- 1. Problem: CNIC driver didn't get started after bnx2_open().
Cause: CNIC driver is stopped when bnx2_close() is invoked. However, there is no equivalent turn on mechanism when bnx2_open() is called. The issue prevent bnx2i to offload iscsi connections during session recovery.
Change: Added equivalent cnic start procedure in bnx2_open().
Impact: ESX only.
cnic 2.5.16d (Jan 25, 2013) =========================== Fixes ----- 1. Problem: (CQ67375) Unable to turn iSCSI TCP delayed ACK on after it's been turned off.
Cause: tcp_flags in cnic's socket structure not cleared between destroy and create calls.
Change: Clear tcp_flags during socket create call.
Impact: iSCSI only.
2. Problem: (CQ67306) iSCSI TCP delayed ACK not working.
Cause: Firmware HSI change.
Change: Adapted to new firmware HSI which is now defining delayed ACK globally for the HBA.
Impact: iSCSI only.
cnic 2.5.16c (Jan 15, 2013) =========================== Fixes ----- 1. Problem: cnic does not compile on SLES11SP2.
Cause: bnx2x_compat.h conflicts with SLES11SP2 header files.
Change: Modilfed Makefile to detect SLES distribution so that the proper CFLAG can be defined for bnx2x_compat.h
Impact: SLES distributions only.
cnic 2.5.16b (Dec 12, 2012) =========================== bnx2 2.2.3j (Dec 12, 2012) ========================== Enhancements ------------ 1. Change: (CQ60429, 66302) Simplify cnic probing by not using symbol_get(). symbol_get() is unreliable as it fails while the network driver is still initializing.
Impact: iSCSI and FCoE (driver loading and unloading).
Cause: Race condition during simultaneous remote reset and local TCP close/reset. This may be a partial fix and additional fixes in other areas/drivers may be necessary to completely address all symptoms.
Change: If remote reset is detected to be in progress during local close/reset, it will wait for outstanding RAMRODs to complete. Without the wait, bnx2i will proceed to destroy the connection while the SRCH_DELETE/TERM_OFFLOAD RAMRODs are still pending.
Impact: bnx2x iSCSI only.
bnx2 2.2.3i (Nov 05, 2012) ========================== Enhancements ------------ 1. Change: (CQ65960) Make minor compatibility changes to support RHEL6.4
Impact: None.
2. Change: Added support for latest 3.x kernels.
Impact: All supported kernels.
cnic 2.5.14c (Nov 05, 2012) ========================== Fixes ----- 1. Problem: (CQ65178) Panic when loading and unloading cnic with bnx2i and bnx2fc.
Cause: The iSCSI EQ does not get reset during cnic init. When we get the first cnic IRQ, the iSCSI EQ index may be non-zero in the status block, causing the cnic driver to dereference NULL pointer.
Change: Added code to clear the iSCSI EQ index in the STORM memory.
Impact: 10G iSCSI.
bnx2 2.2.3h (Oct 16, 2012) ========================== Fixes ----- 1. Problem: Netdump crash when runing with ESX6.0 OS.
Cause: bnx2 poll controller routine is not compatible with ESX6.0.
Change: For ESX6.0, bnx2 will use ESX poll controller for netdump.
Cause: There is race condition where netdev_watchdog() could erroneouly flag tx timeout in a small window when bnx2_netif_stop() disabled tx queue state while carrier is still on.
Change: Carrier must be turned off before netif_tx_disable() is called.
cnic 2.5.12e (Aug 22, 2012) ========================== Fixes ----- 1. Problem: (CQ 65270): bnx2x IRQ assert on 57712 and newer devices that support iSCSI only.
Cause: Not arming IRQ properly when detecting that the device does not support FCoE. Regression from cnic 2.5.12c enhancement #3.
Change: Added function pointer to arm IRQ correctly based on chip type.
Impact: iSCSI and FCoE on all 10G devices.
cnic 2.5.12d (Aug 21, 2012) ========================== Fixes ----- 1. Problem: (CQ 65249): cnic panic on functions that support FCoE only.
Cause: Code accessing iSCSI resources that aren't initialized or allocated on functions that don't support iSCSI.
Change: Check for valid UIO resource before trying to free it. Always initialize iSCSI OOO resources.
Impact: 10G iSCSI and FCoE.
bnx2 2.2.3d (Aug 15, 2012) ========================== Fixes ----- 1. Problem: (CQ 65163): unhandled NETQUEUE messages 16 and 17 seen in vmkernel logs
Cause: Not properly handling unsupported NetQueue ops
Change: Properly handle the NetQueue ops 16 and 17 without printing the warning message
Impact: ESX only
Enhancements ------------ 1. Change: Try to recover from PCI block reset during TX timeout. Red Hat users have reported PCI block resets that could not be recovered during tx timeout.
Impact: None.
2. Change: Added mk_kernel_patch.sh to patch bnx2 driver into kernel tree.
Impact: None.
cnic 2.5.12c (Aug 15, 2012) ========================== Enhancements ------------ 1. Change: Added firmware dump support for ESX6.0.
Impact: ESX6.0.
2. Change: Reduced maximum iSCSI abort delay to 5 seconds
Impact: iSCSI
3. Change: Allocate FCoE or iSCSI resources on a cnic only if the device supports the protocol. This will reduce memory consumption on multi-function devices.
Impact: iSCSI and FCoE
bnx2 2.2.3c (July 09, 2012) ========================== Fixes ----- 1. Problem: Unmapping the wrong DMA address in bnx2_free_tx_skbs() in rare cases.
Cause: Not skipping the last entry in the tx BD ring.
Change: Use the proper macro to get the next BD entry.
Impact: On systems with IOMMUs enabled, the bug can be triggered when doing resets (ifdown, MTU change) during heavy TX traffic.
cnic 2.5.12b (July 03, 2012) ============================= Enhancements ------------ 1. Change: Updated to bnx2x firmware 7.4.8 HSI for TX BDs.
Cause: Bug in cnic when max OOO resource is reached
Change: Initailized packet descriptor to fix the bug.
Impact: iSCSI only.
bnx2 2.2.3b (June 29, 2012) ========================== Fixes ----- 1. Problem: Compile error in RHEL6.x kernel and similar kernels.
Cause: skb_frag_size() compatibility code not detected properly.
Change: Fixed Makefile to detect it from skbuff.h
Impact: None.
bnx2 2.2.2b (June 24, 2012) ========================== Fixes ----- 1. Problem: (CQ63682)PSOD in ESX upon device open.
Cause: NAPI was not disabled properly upon device close. Thus, ASSERT occurs upon reopening device.
Change: Add NAPI disable upon close and add netif_tx_disable for both linux and ESX build.
Impact: bnx2.
2. Problem: Enableing RSS interferes with RX NETQ feature when compiled for ESX build.
Cause: RSS is enabled by default in bnx2. The RSS feature will lead to firmware bypass NETQ code path.
Change: Disable RSS by default when compiled for ESX.
Impact: ESX.
Enhancements ------------ 1. Change: Partial sync-up with upstream driver. Please see Changelog.
Impact: All
cnic 2.5.11c (June 12, 2012) ============================= Fixes ----- 1. Problem: (CQ62298 Partial fix) When running in INTA mode, MTU change does not work. iSCSI/FCoE does not resume after MTU change.
Cause: During mtu change, bnx2x does not know that cnic is no longer handling IRQs.
Change: Added a new flag to let bnx2x know that cnic is no longer handling IRQ during reset.
Impact: bnx2x iSCSI and FCoE.
2. Problem: (CQ62937) bnx2x asserts during iSCSI test with corrupted TCP NOP-IN.
Cause: Corrupted NOP-IN falls outside of TCP window, causing FW to go into OOO mode. TCP close with outstanding OOO causes problem and the close does not complete.
Change: FW change to return an error in this case and cnic driver change to handle this error by proceeding to clean up the connection.
Impact: bnx2x iSCSI.
cnic 2.5.11b (April 30, 2012) ============================= Fixes ----- 1. Problem: (CQ62298 Partial fix) Fix for CQ62026 in cnic 2.5.9d introduced a regression of clearing the CNIC_UP flag before all CIDs have been deleted. The regression is causing warning messges that some CIDs have not been deleted. After fixing this, we're still encountering further bnx2x error messages in the INTA code path.
Change: Wait for all CIDs to be deleted before clearing CNIC_UP flag.
Impact: iSCSI and FCoE on all bnx2x devices.
bnx2 2.2.1l (April 18, 2012) ============================ Fixes ----- 1. Problem: PSOD on ESX because of inconsistant NetQueue state when the NetQueues are allocated/freed out of order
Cause: The forced freeing of the NetQueue before the NetQueue allocation can cause the incorrect NetQueue to be freed and marked incorrectly.
Change: Remove the freeing of the NetQueue in the allocation path and allow the load balancer to control the error path when NetQueue's could not be allocated/freed.
Impact: ESX only.
cnic 2.5.10c (April 18, 2012) ============================= Enhancements ------------ 1. Change: Added iface_num parameter to cm_create() and iscsi_nl_send_msg()to support bnx2i 2.7.2.2b.
Impact: iSCSI only.
bnx2 2.2.1k (April 04, 2012) ============================ Enhancements ------------ 1. Change: Reduced code size of FTQ dump during tx_timeout.
Impact: None.
cnic 2.5.10b (April 04, 2012) ============================= Enhancements ------------ 1. Change: Added PCI pass through support for bnx2x E2/E3 devices.
Cause: cp->ctx_tbl is NULL during cnic_ctl() call with COMPLETION_CMD.
Change: cnic is registered with the L2 drivers before we allocate the cp->ctx_tbl so it is possible to get called while cp->ctx_tbl is NULL. Added check for CNIC_UP flag before proceeding to dereference cp->ctx_tbl. This together with the RCU code will completely fix the problem.
Cause: Middle-box test corrupts packets and causes iSCSI fw to generate 0x4 (NIC_ERR) completion code. This conflicts with new logic that uses NIC_ERR to convey parity error.
Change: Redefined parity error completion code to be 0x81 for L4, iSCSI, and FCoE.
Impact: FCoE and iSCSI.
bnx2 2.2.1g (Feb 28, 2012) ========================== Fixes ----- 1. Problem: Calling of bnx2_vlan_rx_kill_vid() is not rtnl_lock protected. Change: hold rtnl_lock when execute this routine under ESX4.0 and ESX4.1. Impact: ESX4.0/4.1 only.
bnx2 2.2.1f (Feb 8, 2012) ========================== Fixes ----- 1. Problem: (CQ61327) Unable to pass traffic on RHEL5.x
Cause: bp->num_rx_rings not initialized due to backport errors. This was introduced in 2.2.1e when adding ethtool -l|L support.
Change: Initialized bp->num_rx_rings to 1 on these older kernels.
Impact: RHEL5 and SLES10 only.
cnic 2.5.8f (Feb 06, 2012) ========================== Enhancements ------------ 1. Change: Added VLAN update from iscsiuio. This allows VLAN to be specified in iface.
Impact: iSCSI only.
cnic 2.5.8e (Jan 24, 2012) ========================== Enhancements ------------ 1. Change: Enhanced FCoE parity recovery by sending immediate FW_DESTROY completion with error during parity error recovery.
Impact: FCoE only.
bnx2 2.2.1e (Jan 24, 2012) ========================== Enhancements ------------ 1. Change: Added support for ethtool -[l|L]. Please refer to README.TXT for details.
Impact: 5709 with support for MSIX only.
cnic 2.5.8d (Jan 19, 2012) ========================== Enhancements ------------ 1. Change: Enhanced FCoE driver registration to provide FCoE capabilities to bnx2x driver.
Impact: Systems with Management support of these features. These changes were made to match bnx2x 1.72.07.
2. Change: (CQ60867) Backed out earlier changes related to this CQ. genksyms checksums are based on structure names and type names, so the scheme of using an identical structure with a different name will not work.
Impact: None.
cnic 2.5.8c (Jan 10, 2012) ========================== 1. Problem: (CQ60744) Lose connection to FCoE targets after parity error recovery.
Cause: (Partial) DISABLE_CONN SPQ message does not complete, causing delaying waiting for bnx2fc to timeout.
Change: Added immediate KCQ error completion for FCOE_DISABLE_CONN. when SPQ fails.
Cause: If a TCP connection fails due to parity error, termination sequence does not follow the expedited error recovery path. This causes unnecessary delay during parity error recovery.
Change: Set the HW_ERR bit when TCP connection fails due to SPQ error. Termination will then follow the expedited error recovery path.
Impact: iSCSI on bnx2x.
3. Problem: (CQ60867) Module versioning warning when installing cnic driver on SLES11SP2 without matching bnx2i/bnx2fc.
Cause: cnic_register_driver() stub in cnic.c does not have cnic_ulp_ops structure that matches inbox bnx2i/bnx2fc.
Change: Added dummy cnic_ulp_ops that match RHEL6.2 and SLES11SP2 structures.
Impact: None.
bnx2 2.2.1d (Jan 10, 2012) ========================== Fixes ----- 1. Problem: PSOD seen in TX handling in either bnx2_tx_int() or bnx2_start_xmit() routines
Cause: Memory re-ordering is occuring so that the TX BD is not updated before the ringing of the TX doorbell.
Change: On ESX the wmb() macro is defined to only as a compiler barrier. Redfine the wmb() macro to properly synchronize memory using the sfence instruction.
Impact: ESX only.
cnic 2.5.8b (Jan 05, 2012) ========================== Enhancements ------------ 1. Change: Added CNIC_CTL_FCOE_ENHANCED_STATS_CMD and CNIC_CTL_FCOE_CAPABILITIES_GET_CMD as stubs.
Cause: SPQ errors during parity error recovery was not propagated to L4 and ULP, causing unnecessary long timeouts.
Change: Added immediate KCQ error completion for L4 and iSCSI kwqes if SPQ fails.
Impact: iSCSI on bnx2x.
bnx2 2.2.1c (Dec 21, 2011) ========================== Fixes ----- 1. Problem: (CQ60281) BNX2 hang on ESX 4.1 when changing tx ring size with Ethtool.
Cause: BNX2 set_ringparam() ethtool ops callback attempts to hold rtnl_lock while vmlinux has already held this lock when when invoking this callback. This leads to deadlock situation and driver will hang forever.
Change: Make sure all ethtool ops callbacks don't hold rtnl_lock.
Impact: ESX only.
2. Problem: (BDKL87) PSOD in bnx2 start_xmit() path when stressing with change ring size script on ESX 4.1u2.
Cause: When using ESX4.0/4.1u0-u2, the vmkernel doesn't not check tx queue state properly in certain race condition. This can lead to bnx2 start_xmit() to deference NULL tx buffer.
Change: check tx queue state before proceed with stat_xmit().
Impact: ESX4.0/4.1u0-u2.
cnic 2.5.7h (Dec 08, 2011) ========================== Enhancements ------------ 1. Change: Added iSCSI and FCoE driver status and counters support.
Impact: Systems with Management support of these features.
2. Change: Added upstream patches to sync up with upsteam driver: net: treewide use of RCU_INIT_POINTER net: remove ipv6_addr_copy()
Impact: None.
bnx2 2.2.1b (Dec 08, 2011) ========================== Enhancements ------------ 1. Change: Added several upstream patches to sync up with upsteam driver: net: treewide use of RCU_INIT_POINTER bnx2: fix skb truesize underestimation net: Remove unnecessary driver assignments of ethtool_ringparam fields to zero
Impact: None.
bnx2 2.1.12b (Oct 14, 2011) =========================== Fixes ----- 1. Problem: (CQ59255) iSCSI warning messages appear and performance drops when connected to a lefthand target.
Cause: Packets with invalid TTT generate warnings and exception handling.
Change: Updated to 6.2.3 firmware for 5706 and 6.2.1.b for 5709
Impact: iSCSI
cnic 2.5.7g (Sep 23, 2011) ========================== Enhancements ------------ 1. Change: Added cnic_register_driver()/cnic_unregister_driver stubs so that depmod will not return errors if native bnx2i/bnx2fc drivers have not been updated.
Impact: None.
bnx2 2.1.11e (Sept 19, 2011) =========================== Enhancements ------------ 1. Change: Set the feature, NETIF_F_NO_SCHED, for ESX 5.0 and greater releases only
Impact: ESX only
Fixes ----- 1. Problem: Compile errors on some older kernels.
Cause: Compatibility API pci_is_pcie() requires bool type which may not be defined on older kernels.
Change: Moved bool type compatibility definition above pci_is_pcie().
Impact: None.
bnx2 2.1.11d (Aug 30, 2011) =========================== Enhancements ------------ 1. Change: Integrate Code Review Comments from VMware * Add feature flag to reflect if a device is compliant with network scheduling. * Conditionally move bnx2 drivers to high memory * Remove unused field/code
Impact: ESX only
2. Change: Remove unnecessary read of PCI_CAP_ID_EXP from upstream.
Impact: minor (5709 only).
cnic 2.5.7f (Sep 13, 2011) ========================= Fixes ----- 1. Problem: Duplicate cp local variable in cnic_shutdown_rings().
Cause: Coding error.
Change: Removed duplicate variable.
Impact: None.
cnic 2.5.7e (Aug 8, 2011) ========================= Fixes ----- 1. Problem: (CQ57498) System hangs during bnx2x parity error recovery.
Cause: cnic waits for RAMRODs to complete without timeout. During parity error recovery, all DMAs will stop.
Change: Added timeouts to all RAMRODs.
Impact: iSCSI and FCoE on bnx2x
cnic 2.5.7d (July 28, 2011) =========================== Enhancements ------------ 1. Change: Increased the max number of FCoE sessions to 1024.
Impact: FCoE.
bnx2 v2.1.11c (July 26, 2011) ============================ Enhancements ------------ 1. Change: Upstream sync to use ethtool_cmd_speed API.
Impact: None.
2. Change: Added memory barrier to sync transmit descriptor before updating TX mailbox. We believe that this may fix some very rare panics reported by VMWare.
Impact: bnx2 packet transmit.
cnic 2.5.7c (July 26, 2011) =========================== Fixes ----- 1. Problem: FCOE_DESTROY_FUNC ramrod not completing, causing timeout and OOO cleanup timeout during MTU change.
Cause: FCOE_DESTROY_FUNC was sent before all FCoE CIDs have been deleted.
Change: Wait for all (2 seconds delayed) FCoE CFC_DELETE ramrods to be completed before sending FCOE_DESTROY_FUNC.
Impact: FCoE only.
cnic 2.5.7b (July 19, 2011) =========================== Enhancements ------------ 1. Change: Re-instated vlan_id in ->indicate_netevent(). It is needed by bnx2fc to handle NETDEV_UNREGISTER on VLAN devices.
Impact: bnx2fc.
2. Change: Allocate FCoE CID space only on E2+ devices.
Impact: None.
bnx2 v2.1.11b (July 19, 2011) ============================ Enhancements ------------ 1. Change: Added tx_timeout error handling and made it common with VMWare code.
Impact: bnx2 NETDEV WATCHDOG error handling
2. Change: Fix compile errors on the latest net-next upstream kernel.
bnx2 v2.1.10d (July 12, 2011) cnic 2.5.6c (July 12, 2011) ========================================================= Fixes ----- 1. Problem: Not compiling on 3.0.0 kernel.
Cause: Makefile not recognizing the 3.0.x kernel
Change: Modified Makefile and sync'ed with upstream drivers.
Impact: None.
bnx2 v2.1.10c (July 1, 2011) ============================ Fixes ----- 1. Problem: Not compiling on older kernels (such as RHEL5.4) and newer kernels (such as 2.6.36)
Cause: Problems with compatibility code.
Change: Fixed compatibility code.
Impact: None.
bnx2 v2.1.10b (June 30, 2011) ============================ Enhancements ------------ 1. Change: Added more complete MCP dump during error conditions.
Impact: None.
2. Change: Modified driver messages slightly to match upstream format (by using netdev_printk, netdev_err, etc).
Impact: None.
Fixes ----- 1. Problem: Not reading iSCSI license on 570x devices reliably.
Cause: We were reading from the CP scratch pad before the CP firmware is loaded.
Change: Read from MCP shmem location instead.
Impact: 1G iSCSI on bnx2 devices.
cnic 2.5.6b (June 30, 2011) ============================ 1. Problem: (CQ56522, CQ56259) Unable to connect to iSCSI target, bnx2x firmware assert during iSCSI connection
Cause: iSCSI L2 ring CID has been changed in bnx2x 1.70.14. uIP is using a hardcoded value of 0x11.
Change: cnic now passes the CID to uIP.
Impact: iSCSI on bnx2x devices.
2. Problem: (CQ56230) Cannot compile on some 32-bit systems.
Cause: Passing 64-bit NULL pointer as 32-bit 0 dma_addr_t value.
Change: Use 0 instead of NULL for dma_addr_t values.
Impact: None.
cnic 2.5.5b (June 22, 2011) ============================ Enhancements ------------ 1. Change: Added WWN info to cnic_eth_dev. This is a temporary solution until ndo_fcoe_get_wwn() is implemented.
Impact: None.
bnx2 v2.1.9b (June 22, 2011) ============================ Enhancements ------------ 1. Change: Added del_timer_sync() in bnx2_remove_one() from upstream commit 8333a46ad3877485e4d67ef499c6dda36bfd1f9a. See ChangeLog for details.
Impact: None.
bnx2 v2.1.8c (June 16, 2011) ============================ Enhancements ------------ 1. Change: In ESX, bnx2 will setup int mode during .probe time. However, the dev->name will be finalized only when pci_announce_device is done. So, we assign irq->name in bnx2_request_irq instead of in bnx2_setup_int_mode.
Impact: ESX only.
cnic 2.5.4b (June 1, 2011) ============================ Fixes ----- 1. Problem: (CQ55915) iSCSI does not connect on 57800 in 4-port mode.
Cause: cl_qzone_id was wrong on the 3rd and 4th port. uIP also has some problems determining 4-port mode.
Change: Fixed the QZONE_ID macro.
Impact: bnx2x iSCSI.
bnx2 2.1.8b (June 1, 2011) ============================ Fixes ----- 1. Problem: (CQ55422) NCSI firmware version displayed backwards on PPC.
Cause: Endian bug when reading the data from shared memory.
Change: Fixed byte swapping issue.
Impact: None.
2. Problem: bnx2 does not compile on some PPC distros.
Cause: pci_enable_pcie_error_reporting() not properly defined in some distros.
Cause: Added #ifdef to prevent compiling pci_enable_pcie_error_reporting() on PPC since it uses EEH instead of AER.
cnic 2.4.5b (May 16, 2011) ========================== Enhancements ------------ 1. Change: Check CFC delete error code during completion. If it is set, do not reuse the CID. This change is only compatible with bnx2x 1.64.30 or newer.
Cause: TCP reset request may not complete if there is a race with firmware receiving a remote RST.
Change: Added code to handle TCP reset racing with remote RST and TCP close racing with remote FIN.
Impact: iSCSI
cnic 2.4.3b (April 28, 2011) ============================ Fixes ----- 1. Problem: cnic may lose interrupts after processing 64 kcq entries.
Cause: The driver handles a maximum of 64 entries before calling the ulp drivers. If the chip has more entries, the driver does not handle the rest but acknowledges the latest status block index.
Change: Changed the logic to keep looping until all kcq entries are handled.
Impact: iSCSI and FCoE on all devices.
cnic 2.4.2b (April 21, 2011) ============================ Fixes ----- 1. Problem: (CQ54715, CQ54717) XSEMI parity error detected during iSCSI login on 57712 in NPAR mode.
Cause: Statistic counter ID greater than MAX_STAT_COUNTER_ID_E2 in client init data for iSCSI L2 ring.
Change: Check client ID against MAX_STAT_COUNTER_ID_EXX before enabling statistics.
cnic 2.4.1c (April 11, 2011) ============================ Fixes ----- 1. Problem: (CQ49586) iSCSI reboot test fails after a few iterations.
Cause: TCP port 60000 is used every time during boot. During reset, the TCP connection is never terminated so using the same port to connect to the target during reboot will not work.
Change: Added randomization of the first TCP port to use.
Impact: iSCSI.
bnx2 v2.1.6b (April 6, 2011) ============================ Enhancements ------------ 1. Change: Get iSCSI license information to prevent cnic from registering if there is no license. This will make it consistent with 10G behavior.
Impact: iSCSI only.
cnic 2.4.1b (April 6, 2011) =========================== Fixes ----- 1. Problem: (CQ53236) FCoE HBA not functional after reloading bnx2x.
Cause: In some distros, NETDEV_UP can happen immediately after NETDEV_REGISTER while bnx2x module is still in init state. At this time, cnic will not be able to symbol_get() from bnx2x, preventing the cnic from registering.
Change: Check all events, and we should be able to catch NETDEV_CHANGE abd register cnic.
cnic 2.4.0b (Mar 29, 2011) ========================== Enhancements ------------ 1. Change: Updated cnic to with with bnx2x 1.70.x and added support for 578xx devices.
Cause: Race condition between cnic driver and hardware DMA'ing a new status block with new iSCSI events. The bug was introduced when adding FCoE support.
Change: 1. Add proper memory barrier after reading status block. 2. After servicing FCoE EQ, we must loop back and check the iSCSI EQ again because we may have a newer status block index that is read after servicing the iSCSI EQ.
Impact: 57712 iSCSI and FCoE.
bnx2 v2.1.5c (Feb 15, 2011) cnic 2.3.5c (Feb 15, 2011) ====================================================== Enhancements ------------ 1. Change: Updated 5709 firmware to 6.2.1a, with netq fixes and iSCSI performance regression fixes.
Impact: 5709.
bnx2 v2.1.5b (Feb 08, 2011) cnic 2.3.5b (Feb 08, 2011) ====================================================== Fixes ----- 1. Problem: iSCSI does not connect in DCB environment.
Cause: iSCSI packets are tagged with the wrong ethertype.
Change: Added initialization of xstorm's reserved_vlan_type field.
Cause: BNX2_NETQ_HW_OPENED bit was not properly set.
Change: When the NetQueue device is openned properly set the BNX2_NETQ_HW_OPENED bit in the netq_flags field.
Impact: ESX NetQueue
2. Problem: NetQueue could possibly get out of sync with the uppper layers
Cause: The queue cleanup code between the driver and upper layer is not synchronized
Change: Introduce the NetQueue lock to synchronize the cleaning of the queues between the vmkernel and the bnx2 driver.
Impact: ESX NetQueue
3. Problem: iSCSI may not work if multi-function is disabled in NPAR NICs.
Cause: Bug in logic in detecting NPAR mode.
Change: Offload bit should not be checked if iSCSI MAC address is invalid.
Impact: iSCSI on 57712 NPAR NIC.
bnx2 v2.0.22c (Jan 6, 2011) cnic 2.2.12c (Jan 6, 2011) ========================================================= Enhancements ------------ 1. Change: Updated to 6.2.1a firmware for 5709. It has fixes for CQ51953 (ESX netqueue issue) and CQ51894 (iSCSI performance).
Impact: 5709 iSCSI and L2.
bnx2 v2.0.22b (Jan 4, 2011) cnic 2.2.12b (Jan 4, 2011) ========================================================= Enhancements ------------ 1. Change: Send netlink IF_DOWN message during cnic_unregister_device(). This fixes the problem of bnx2i referencing freed hba when we used to send the netlink message during cnic_unregister_driver().
Impact: iSCSI.
2. Change: Upstream fix for memory leak in cnic_alloc_uio_rings() when we cannot allocate all the memory.
Impact: None.
3. Change: Upstream fix to remove flush_scheduled_work() since it is obsolete.
Impact: None.
4. Change: Do not allow iSCSI on bnx2x devices in MF mode. The hardware does not yet support it.
Impact: iSCSI.
Fixes ----- 1. Problem: SPQ RAMROD type field does not consistently contain the function ID.
Change: Fixed in cnic_submit_kwqe_16() for HSI 6.0 and above.
Impact: iSCSI in NPAR mode.
bnx2 v2.0.21b (Dec 21, 2010) cnic 2.2.11b (Dec 21, 2010) ========================================================= Enhancements ------------ 1. Change: Call cm_connect_complete() when an invalid path_response netlink message is received. This will speed up iscsid in disconnecting the connection. This helps to resolve CQ49665.
Cause: Referencing the cp->kcq1 pointer before checking that the device is up.
Change: Fixed logic so that the cp->kcq1 pointer will only be refernced after checking the device is up.
Impact: iSCSI.
Enhancements ------------ 1. Change: Added retry logic in iscsi_nl_send_msg() to retry netlink messages to userspace.
Impact: iSCSI.
bnx2 v2.0.20f (Dec 09, 2010) cnic 2.2.10f (Dec 09, 2010) ========================================================= Fixes ----- 1. Problem: (CQ51544) Unable to connect to iSCSI targets on 57712 NPAR LOMs with NPAR disabled.
Cause: ff:ff:ff:ff:ff:ff iSCSI MAC address was used in this case.
Change: Add code to detect invalid MAC address and use port MAC address instead. That's the only to determine NPAR is disabled.
Impact: 57712 iSCSI.
2. Problem: MTU change in INTA mode crashes occasionally.
Cause: Status block may be accessed if INTA is shared with another device during reset. There is a short period that the status block is freed.
Change: Free IRQ before freeing status block.
Impact: bnx2 MTU change/ring size change.
3. Problem: Heap corruption reported by VMWare.
Cause: list_del() is called after kfree() in OOO code.
Fix: call list_del() before kfree().
Impact: iSCSI OOO.
bnx2 v2.0.20e (Dec 06, 2010) cnic 2.2.10e (Dec 06, 2010) ========================================================= Enhancements ------------ 1. Change: Adjusted hc timeout for EQ to use the T6.0 value of 4. This will match T5.x HC timeout values.
Impact: 10G iSCSI only.
2. Change: Minor changes to match upstream code.
Impact: None.
bnx2 v2.0.20d (Nov 16, 2010) cnic 2.2.10d (Nov 16, 2010) ========================================================= Fixes ----- 1. Problem: VMware NetQueue not working properly on 5709.
Cause: HSI mismatch.
Change: Updated HSI to match T6.0 bnx2 firmware.
Impact: NetQueue on 5709.
Enhancements ------------ 1. Change: Adjusted kernel compatibility code to compile on RHEL5.6.
Impact: bnx2 and cnic.
bnx2 v2.0.20c (Oct 28, 2010) cnic 2.2.10c (Oct 28, 2010) ========================================================= Fixes ----- 1. Problem: NMI occurs during repeated load/unload of bnx2 driver on 5709.
Cause: The 5709 chip's DMA block wasn't stopped properly before reset.
Change: Fixed by clearing DMA_ENABLE in NEW_CORE_CTL register and polling for pending bus transactions to stop.
Impact: 5709.
Enhancements ------------ 1. Change: Update 5706/5708/5709 firmware to 6.2.1.
Impact: All 1G devices.
2. Change: Fixed one circular lock dependency issue with bnx2i when making up call to send iSCSI NL message.
Enhancements ------------ 1. Change: (CQ49858) Support KVM pass-through mode by eliminating config cycles to non-standard PCI registers (PCICFG_MISC_CONFIG, PCICFG_REG_WINDOW*).
Impact: All chips.
bnx2 v2.0.18c (Sep 13, 2010) cnic 2.2.6c (Sep 13, 2010) ========================================================= Fixes ----- 1. Problem: (CQ49832) bnx2 flow control not working
Cause: Mistakenly disabled in firmware in 2.0.17j to fix CQ46393.
Change: Re-enabled RV2P flow control with additional fixes to for a number of odd flow control issues. New firmware versions are 6.0.15 for 5706/5708 and 6.0.17 for 5709.
Impact: 5706/5708/5709.
Enhancements ------------ 1. Change: Added zeroing of the iSCSI L2 ring's RX BD page to help signal ring shutdown to uIP.
Cause: A mismatch was found in the txbd where the hw prod idx did not match the sw prod idx (via the vlan_id field). The problem will show when uIP restarts without cnic reload. Since uIP restarted, it has lost all previous history about the uio ring.
Change: Added cnic_shutdown_rings to the uio_close path so whenever uio_open is called from uIP, the rings will start off fresh.
Impact: 570X/5771X iSCSI.
2. Problem: (CQ49211) Connection via bnx2i path fails in SuSE 11 SP1
Cause: For 5708/09, the previous firmware set did not take the l2 frame header length into account in the placement filter.
Change: Updated to 5706/08 fw 6.0.14 and 5709 fw 6.0.16 which addresses this issue.
Impact: 570X iSCSI.
bnx2 v2.0.17k (Aug 18, 2010) cnic 2.2.5k (Aug 18, 2010) ========================================================= Fixes ----- 1. Problem: iSCSI sessions do not recover when running under heavy stress conditions with the socket layer.
Cause: The NetLink buffer would get congested, so that the response to the PATH_UPDATE back to uIP would not be delivered.
Change: Use CNIC to throttle the number of outstanding PATH_REQ's to uIP, easing the congestion on the Netlink buffer.
Cause: RV2P firmware was set to drop input packets at a rate which is slower than input line rate when the host stops posting buffers. This has caused the rxp ftq to backup which eventually led to the rxp ftq hw to assert PAUSE and flood the network.
Change: RV2P firmware was modified to disable any waiting before dropping the input packet when the host doesn't post buffers.
Cause: cnic_wq destroyed while cnic_delete_task() is still queued in the workqueue.
Change: Call destroy_workqueue() after cnic_release() which waits for the cnic_delete_task() to finish.
Impact: 10G iSCSI.
bnx2 v2.0.17f (July 30, 2010) cnic 2.2.5f (July 30, 2010) ========================================================= Fixes ----- 1. Problem: iSCSI license not read correctly on 57712 in NIC partitioning mode.
Cause: Missing NIC partitioning license logic.
Change: Added NIC partitioning license logic.
Impact: 10G iSCSI.
Enhancements ------------ 1. Change: Updated 5709 firmware to 6.0.13. The new 5709 firmware has additional rx and tx performance improvements.
Impact: 5709.
bnx2 v2.0.17e (July 29, 2010) cnic 2.2.5e (July 29, 2010) ========================================================= Fixes ----- 1. Problem: (CQ49117, CQ49111) Soft locup when unloading bnx2x with cnic and bnx2fc/bnx2i loaded.
Cause: cnic_cm_stop_bnx2x_hw() thread under rtnl_lock() and pci_bus_sem has to wait for cnic_delete_task() to finish the 2-second wait and CFC DELETE of every FCoE or iSCSI connection. There may be work structs scheduled on the common workqueue ahead of cnic_delete_task() that require the same semaphores, leading to the soft lockup.
Change: Use a dedicated workqueue for cnic_delete_task().
Impact: 10G iSCSI and FCoE.
2. Problem: (CQ49113) Compilation error with bnx2x 1.60.30. (CQ48828) lediag fails with cnic loaded.
Cause: license_key structure changed to use all 32-bit fields. This change is to fix CQ48828 (lediag fails with cnic loaded). 16-bit access causes lediag failure.
Change: Made corresponding change to read 32-bit values for the iSCSI license.
Impact: 10G iSCSI.
3. Problem: (CQ49097) cnic panics when loading on 5708.
Cause: The driver uses NULL OOO ring pointers to initialize OOO for 5708.
Change: Skip OOO completely on 5708.
Impact: bnx2 iSCSI.
bnx2 v2.0.17d (July 28, 2010) cnic 2.2.5d (July 28, 2010) ========================================================= Fixes ----- 1. Problem: (CQ49071) Soft lockup during system shutdown after logging in to 10G iSCSI sessions.
Cause: This was introduced in 2.2.5c when fixing CQ49003. flush_scheduled_work() can deadlock because we're holding rtnl_lock and linkwatch_event may be on the workqueue.
Change: Fixed by using flags to wait for the cnic_delete_task() to finish.
Impact: 10G iSCSI.
2. Problem: cnic driver does not load on 5708 devices.
Cause: Bug in driver that skips devices without OOO support.
Change: OOO setup has been changed so that cnic initialization will continue even if OOO fails for whatever reason on all chips.
Impact: iSCSI.
Enhancements ------------ 1. Change: Updated 5708 firmware to 6.0.11 and 5709 firmware to 6.0.12. The new 5709 firmware fixes small packet rx performance issue. Some adiitional fixes for iSCSI and OOO.
Impact: All bnx2 chips.
bnx2 v2.0.17c (July 23, 2010) cnic 2.2.5c (July 23, 2010) ========================================================= Fixes ----- 1. Problem: (CQ49003) Panic in cnic_free_bnx2x_conn_resc() during ifdown with many 10G iSCSI active sessions.
Cause: cancel_work_sync() is not available in RHEL5.x kernels to wait for cnic_delete_task() to finish before freeing the device's data structures (in particular the csk table).
Change: Use flush_scheduled_work() to wait instead.
Cause: UIO device deleted before userspace has closed the device, causing various failures including kernel panic.
Change: Separated UIO structure from cnic_dev structure so that we can wait until UIO is closed before unregister and deleting UIO.
Impact: iSCSI. This change should have possitive impact on ifup/ifdown, MTU change/selftest/hotplug/etc with active iSCSI sessions.
Enhancements ------------ 1. Change: Allocate the actual number of MSI-X vectors instead of always 9. Also, keep trying if the number of vectors is less than the desired number.
Impact: 5709 networking and iSCSI.
bnx2 v2.0.16c (July 12, 2010) cnic 2.2.4c (July 12, 2010) ========================================================= Enhancements ------------ 1. Change: Added VLAN_TAG_PRESENT to distinguish between physical and VLAN netevents in cnic.
Impact: FCoE.
bnx2 v2.0.16b (July 8, 2010) cnic 2.2.4b (July 8, 2010) ========================================================= Fixes ----- 1. Problem: (CQ48753) cnic will not compile with bnx2x 1.60.27.
Cause: IGU symbols not defined without ELINK_DEBUG defined.
Change: Added ELINK_DEBUG.
Impact: None.
2. Problem: (CQ48717) Kernel panic in bnx2x during ifdown with active iSCSI sessions.
Cause: uio_close() is called after the device is already down. bnx2x will crash when we try to shutdown the iSCSI ring.
Change: Shutdown the iSCSI ring even if uio_close() is not called in the shutdown path.
Impact: 10G iSCSI.
Enhancements ------------ 1. Change: Always run in MSI-X mode on 5709.
Impact: 5709.
2. Change: Added wait of 2 seconds when sending PATH_REQ if UIO has not been opened yet. This improves the liklihood of login success during the first login if using older iscsid.
Cause: pci_save_state()/pci_restore_state incompatibility in older kernel. DECLARE_PCI_UNMAP_ADDR() caused dma mapping field to be undefined on kernels not using IOMMU.
Change: Do not use pci_save_state()/pci_restore_state() on older kernels. Use dma_addr_t to declare mapping fields.
Impact: None.
bnx2 v2.0.15j (June 30, 2010) cnic 2.2.3j (June 30, 2010) ========================================================= Fixes ----- 1. Problem: bnx2x firmware asserts if cnic is loaded on 57711E (MF) functions 2 and higher and the device is brought up.
Cause: Statistics for iSCSI ring not implemented, casuing firmware to assert when the iSCSI ring is initialized.
Change: Do not enable statistics if the clien ID is bigger than MAX_STAT_COUNTER_ID.
Impact: bnx2x iSCSI on 57711E.
2. Problem: cnic terminations for iSCSI and FCoE connections may panic or hang during repeated ifdown/ifup.
Cause: Data structures may be freed while cnic is still waiting for the 2 second CFC_DELETE wait time.
Change: Use cancel_work_sync() to wait for the completion of the cnic_delete_task(). Check that the CTX_FL_DELETE_WAIT flag has been set before waiting.
Impact: bnx2x iSCSI and FCoE.
3. Problem: (CQ48642) Compile errors on older kernels.
Cause: VMWARE_ESX_DDK_VERSION not defined in Linux.
Cause: Race condition between bnx2i initiated TCP close and an asynchronous RESET_COMP from firmware.
Change: Re-structured cnic code that handles close, abort, and various completion events to ensure all scenarios are accounted for with no race conditions.
Impact: All iSCSI connection termination scenarios.
Enhancements ------------ 1. Change: Added host iSCSI IP address to the cnic_dev structure so that bnx2i can report it to sysfs. This is needed for iSCSI boot during pivot_root.
Cause: PCI MSIX attributes not defined in kernel .h files.
Change: Added compatibility code.
Impact: None.
bnx2 v2.0.15d (June 2, 2010) cnic 2.2.3d (June 2, 2010) ========================================================= Fixes ----- 1. Problem: (CQ47942) rmmod hangs if the device has been opened and closed more than once.
Cause: netif_napi_add() called once during every ->open(). netif_napi_del() is only called once during rmmod.
Change: Call netif_napi_del() in ->close().
Impact: None.
bnx2 v2.0.15c (May 21, 2010) cnic 2.2.3c (April 21, 2010) ========================================================= Fixes ----- 1. Problem: service iscsid restart on 5709 does not work.
Cause: Not restarting KWQ correctly due to stale context.
Change: Fixed by correctly zeroing KWQ/KCQ/RX context memory.
Impact: bnx2 iSCSI.
2. Problem: iSCSI license not read correctly on 57711E in single function mode.
bnx2 v2.0.15b (May 12, 2010) cnic 2.2.3b (April 12, 2010) ========================================================= Fixes ----- 1. Problem: iSCSI does not work on 57712.
Cause: License checking always disabled on 57712.
Change: Added proper checking for 57712 iSCSI license.
Impact: None.
2. Problem: (CQ47360) Compile errors on older kernels not supporting UIO and latest iSCSI.
Cause: New cnic driver will only compile on kernels newer than 2.6.31 and some selected distros that have the backport.
Change: Makefile changes to compile cnic only on supported kernels.
Impact: None.
Enhancements ------------ 1. Change: Changed bnx2_cnic_probe() to bnx2_cnic_probe2() so that out-of-tree driver componenets will not inter- operate with upstream components. This avoids compatibility problems that often lead to kernel crashes.
Impact: Out-of-tree cnic will not operate with upstream L2 drivers and vice versa.
2. Change: Revert the PRS_REG_NIC_MODE change done in 2.0.11h. Newer bnx2x driver (1.60.18+) do not require this setting.
2. Change: Added VLAN ID to netdev event callback.
Impact: bnx2i.
bnx2 v2.0.13b (April 22, 2010) cnic 2.2.1c (April 30, 2010) ============================================================ Enhancements ------------ Add debug code to dump all KWQE's (RAMROD) posted to 5771x chipset. This feature can be enabled/disabled using module parameter, by default this feature is disabled. Also a exported function is introduced to dump 3 pages worth of KCQE's
bnx2 v2.0.13b (April 22, 2010) cnic 2.2.1b (April 22, 2010) ============================================================ Enhancements ------------ 1. Change: cnic has been updated to be similar to the upstream versions using UIO with added T6.0 iSCSI support for 10G and other bug fixes.
Impact: iSCSI now requires UIO, new bnx2i, and bnx2x 1.60.16+.
bnx2 v2.0.11j (April 22, 2010) cnic 1.10.2j (April 22, 2010) ============================================================ Fixes ----- 1. Problem: (CQ47298) Does not compile with bnx2x 1.60.16.
Cause: cnic_if.h has changed.
Change: Updated code to be compatible with new cnic_if.h.
Impact: None.
bnx2 v2.0.11i (April 15, 2010) cnic 1.10.2i (April 15, 2010) ============================================================ Fixes ----- 1. Problem: (RHBZ 511368) Driver loses one MSI-X vector after many hours of traffic.
Cause: Chip timing out on write cycle to the MSI-X mask bit, causing the unmask operation to be dropped.
Change: Increase GRC timeout in register 0x8cc. (Same fix from 2.0.8e).
Impact: bnx2x MSI-X mode.
2. Problem: (RHBZ 554706) scheduling while atomic warning when bonding and VLANs are used with cnic loaded.
Cause: bond_del_vlans_from_slave() holds bond->lock when calling ndo_vlan_rx_register(). bnx2 calls bnx2_netif_stop() to stop the rx handling while changing the vlgrp. The call also calls bnx2_cnic_stop() which has many sleeping functions.
Change: Do not stop cnic when VLANs are changed. Since there is no reset during VLAN change, there is no need to stop cnic. (Same fix from 2.0.8e).
Impact: VLAN and iSCSI.
3. Problem: (CQ46940) Poor small packet performance on 5709.
Cause: FTQ discards caused by bottlenecks in firmware.
Change: Upgraded to 5.0.0.j15 MIPS firmware for 5709. (Same fix from 2.0.8c)
Impact: 5709.
Enhancements ------------ 1. Change: Improved rx performance by prefetching next entry's descriptor header and SKB.
Impact: All chips.
2. Change: Updated cnic interface to support out-of-order processing. This is needed for bnx2x 1.60.15 but the feature is not available in cnic yet.
bnx2 v2.0.11b (Jan 28, 2010) cnic 1.10.2b (Jan 27, 2010) ======================================================== Enhancements ------------ 1. Change: Saved bnx2 statistics block before MTU change, ring change, etc.
Impact: bnx2 statistics.
bnx2 v2.0.10b (Jan 12, 2010) cnic 1.10.1b (Jan 12, 2010) ======================================================== Enhancements ------------ 1. Change: Improved cnic's MTU change/reset logic to fix multiple problems in VMWare.
Impact: iSCSI.
2. Change: Converted to bnx2x T6.0 HSI.
Impact: bnx2x iSCSI.
bnx2 v2.0.8e (April 13, 2010) cnic 1.9.13b (Dec 16, 2009) ========================================================= Fixes ----- 1. Problem: (RHBZ 511368) Driver loses one MSI-X vector after many hours of traffic.
Cause: Chip timing out on write cycle to the MSI-X mask bit, causing the unmask operation to be dropped.
Change: Increase GRC timeout in register 0x8cc.
Impact: bnx2x MSI-X mode.
2. Problem: (RHBZ 554706) scheduling while atomic warning when bonding and VLANs are used with cnic loaded.
Cause: bond_del_vlans_from_slave() holds bond->lock when calling ndo_vlan_rx_register(). bnx2 calls bnx2_netif_stop() to stop the rx handling while changing the vlgrp. The call also calls bnx2_cnic_stop() which has many sleeping functions.
Change: Do not stop cnic when VLANs are changed. Since there is no reset during VLAN change, there is no need to stop cnic.
Impact: VLAN and iSCSI.
bnx2 v2.0.8d (April 02, 2010) cnic 1.9.13b (Dec 16, 2009) ========================================================= Enhancements ------------ 1. Change: Improved rx performance by prefetching next entry's descriptor header and SKB.
Cause: Stale status block with old KCQ index after restarting hardware.
Change: Added some additional cleanup and initialization steps including zeroing the status block.
Impact: None.
Enhancements ------------ 1. Change: Updated RV2P P1 for 5709 to 5.0.0.j10 to address a flow control issue that can lead to context corruption. Flow control watermarks have also been optimized.
Impact: 5709 flow control.
bnx2 v2.0.6b (Dec 4, 2009) cnic 1.9.11b (Nov 19, 2009) ======================================================= Fixes ----- 1. Problem: (CQ44801) Unable to compile bnx2 on most 2.6 kernels.
Cause: print_mac() kernel compatibility not defined correctly.
Fix: Simple compatibility fix.
Impact: None.
bnx2 v2.0.5b (Dec 4, 2009) cnic 1.9.11b (Nov 19, 2009) ======================================================= Enhancements ------------ 1. Change: Sync'ed up with latest upstream bnx2 driver. Please see ChangeLog for details.
Impact: Yes, Linux and VMWare.
bnx2 v1.9.42b (Dec 1, 2009) ======================================================= Fixes ----- 1. Problem: Compile error against the VMware ESX 4.0 DDK
Cause: vmk_IscsiNetHandle is not defined with the VMware ESX 4.0 DDK
Change: Added compile flag
Impact: None.
Enhancements ------------
1. Change: Add BMAPILNX ioctl to allow for FW upgrade
2. Problem: (CQ42096) iSCSI sessions do not recover after running selftest/ifdown/etc with max sessions connected.
Cause: cnic_lock mutex has circular dependency, causing deadlock when iscsid tries to cleanup connections.
Change: Merged in upstream cnic patches to avoid circular dependency.
Impact: None.
Enhancements ------------ Change: (CQ43088) Changed the firmware version string format.
Impact: None.
bnx2 v1.9.40b (Nov 18, 2009) cnic 1.9.10b (Nov 12, 2009) ======================================================= Fixes ----- 1. Problem: (CQ44528) Kernel runs out of memory after load/unload bnx2.
Cause: RX SKB buffers were not freed.
Change: Fixed the regression introduced by VMWare development.
Impact: None.
2. Problem: (CQ44399) iLAB 5.10 connection establishment test failure.
Cause: Firmware SYN-ACK handling issue.
Change: Updated firmware to 5.0.0.j6 in bnx2_fw.h and 5.0.0.j9 in bnx2_fw2.h.
Impact: iSCSI.
Enhancements ------------ Change: (CQ43088) Added VPD-R V0 firmware version string to ethtool -i.
Impact: None.
bnx2 v1.9.39b (Nov 6, 2009) cnic 1.9.10b (Nov 12, 2009) ======================================================= Fixes ----- 1. Problem: (CQ44470) Kernel panics when bnx2/bnx2x is unloaded with active iSCSI sessions.
Cause: NETDEV_UNREGISTER will cause bcm570x_* transport to be destroyed while sessions may still be active.
Change: Use module referencing to prevent bnx2/bnx2x from unloading. This is a simple interim solution to revert back to the old behavior. In T6.0, we will migrate to the upstream driver architecture and network drivers will be able to be unloaded again.
Impact: None.
Enhancements ------------ Change: Added a short register dump during NETDEV_WATCHDOG.
bnx2 v1.9.35b (Oct 22, 2009) ======================================================= Fixes ----- 1. Problem: If only 1 queue is used on VMware ESX, iSCSI offload would fail.
Cause: The inboxed VMware driver would only use 1 MSI-X vector. Because of this the driver would not setup MSI-X
Change: Always setup MSI-X reguardless of the number of MSI-X vectors used.
Impact: 5709 iSCSI on VMware
bnx2 v1.9.34b (Oct 20, 2009) ======================================================= Fixes ----- 1. Change: Updated xinan firmware to 5.0.0.j8 Nop timeout tuning (VMware PR467194) Added a new data fw heartbeat to work with the new bootcode and also handle older bootcode.
1. Change: Make NetQueue module parameters more explict.
Impact: bnx2 VMware NetQ.
bnx2 v1.9.32b (Oct 8, 2009) cnic v1.9.7c (Oct 8, 2009) ======================================================= Fixes ----- 1. Problem: CNIC unable to handle an unsolicited RESET COMPLETE which would result in a hung session.
Cause: The CNIC driver couldn't handle unexpected SYN.
Change: The CNIC driver will now handle an unsolicited RESET COMPLETE and cleanup properly.
Impact: cnic
Enhancements ------------
1. Change: Allow the default NetQueue options to be controlled through the macro, BNX2_ENABLE_NETQUEUE.
Impact: bnx2 VMware NetQ.
bnx2 v1.9.31b (Oct 6, 2009) ======================================================= Fixes ----- 1. Problem: PSOD would occur when alloc()'ing NetQueue's
Cause: With the removal of the global 'disable_netq' parameters, the NetQueue CID's weren't being mapped in some cases
Change: Always map the NetQueue CID's
Impact: bnx2 VMware ESX NetQueue
bnx2 v1.9.30b (Oct 5, 2009) ======================================================= Fixes ----- 1. Problem: PSOD would occur because of TX timeouts
Cause: The VMware netdev watchdog timer was ran before the reset task got a chance to run on a loaded system.
Change: Elongated the TX timeout value for VMware ESX only to allow for the reset task to run.
Impact: bnx2 VMware ESX
Enhancements ------------
1. Change: Updated vmkernel module parameter, 'force_netq', to allow NetQueue setting to be adjusted per function rather then globally for all functions.
Impact: bnx2 VMware ESX
bnx2 v1.9.29b (Oct 1, 2009) ======================================================= Fixes ----- 1. Change: Updated xinan firmware to 5.0.0.j7 and teton firmware to 5.0.0.j4 which will fix L2 hang due to iSCSI PDU's padding byte extended to another TCP segment
Impact: 5706/5708/5709.
bnx2 v1.9.28b (Sep 25, 2009) ======================================================= Fixes ----- 1. Change: Updated firmware to 5.0.0.j6 which will add the corresponding flow control trip point.
Impact: 5709.
bnx2 v1.9.27b (Sep 24, 2009) cnic v1.9.7b (Sep 24, 2009) ======================================================= Fixes ----- 1. Problem: For the cnic users would see in the kernel logs:
Cause: The function was not taking into account the wrapping of the software and hardware producer indexes.
Change: Recaculate the difference between the index with wrapping taken into account.
Impact: cnic
Enhancements ------------
1. Change: Updated firmware to 5.0.0.j5 which increased the rxpq depth from 32 to 256 to enhance the performance on systems without flow control.
Impact: 5709.
bnx2 v1.9.26c (Sep 17, 2009) ======================================================= Enhancements ------------ 1. Change: Cleanup the VMware NetQueue code. Eliminate unneeded RX flush routine, fix the number of queues to be the same on 1500 and 9000 MTU sized packets.
Impact: bnx2 VMware NetQ.
bnx2 v1.9.26b (Sep 14, 2009) ======================================================= Fixes ----- 1. Problem: VMware PSOD on MTU change
Cause: MSI-X window was remapped to the beginning of the PCI config space. The driver would disable the bar space because the MSI-X window was remapped incorrectly. This would eventually cause a PSOD.
Change: Before the chip reset, the driver would disable MSI-X, after the chip reset, MSI-X is re-enabled.
Cause: If the driver is unable to allocate memory for the buffers, the device is not properly shutdown.
Change: Added logic to shutdown device if unable to allocate buffers and complete the setup of the device.
Impact: bnx2, changing MTU and ring sizes.
Enhancements ------------ 1. Change: Updated firmware to 5.0.0.j3 for better small packet rx performance. Firmware also fixes header digest error during I/O.
Enhancements ------------ 1. Change: If a TX timeout occurs, there could be the possiblity that the chip is hung. By printing chip state into the kernel ring buffer, it will be easier to determine this.
Impact: bnx2 iSCSI.
2. Change: The bnx2 firmware should always be matched with the proper bnx2 driver. The bnx2 firmware version string are now printed. It will be easier to identify the running firmware.
Impact: bnx2
3. Change: When a TX timeout occurs and the chip is reset, the ability to debug the chip further is lost. This is because the chip state information is lost during the reset. The users have a choice to prevent the chip reset.
Impact: bnx2
4. Change: Add a check to see if there was a KCQ overflow was in the bnx2x firmware. Now this check has been moved to the CNIC so that the driver could control the cleanup/recovery.
Impact: bnx2 iSCSI.
bnx2 v1.9.21b (July 16, 2009) ========================================================== Enhancements ------------ 1. Change: Updated firmware to 5.0.0.j2 to fix remote reset problem
Impact: bnx2 iSCSI.
bnx2 v1.9.20b (July 09, 2009), cnic v1.9.3 (July 09, 2009) ========================================================== Fixes ----- 1. Problem: (CQ42534) cnic.c does not compile on older kernels.
Cause: Some iscsi_proto constants not defined in
Change: Added the constant definitions if not already defined.
Impact: None.
Enhancements ------------ 1. Change: Updated firmware to 5.0.0.j to fix TMF releated iSCSI issues.
Cause: cnic driver sets the MSS without knowing the actual MSS option and timestamp option during TCP connection.
Change: Changed driver to set MSS to 0xffff so that firmware can calculate MSS on its own.
Impact: bnx2x iSCSI.
2. Problem: 1G iSCSI fails when initiator and target MTUs don't match and timestamp is enabled.
Cause: Firmware was not adjusting for the 12-byte timestamp option if MSS was reduced by MSS option.
Change Updated firmware to 5.0.0.i
Impact: bnx2 iSCSI.
3. Problem: (CQ42353) Unable to disable TCP timestamp on 10G iSCSI.
Cause: Timestamp was hardcoded to be enabled for 10G.
Change: Update global timestamp option during each TCP connection.
Impact: bnx2x iSCSI.
4. Problem: (CQ42329) bnx2x MC assert during IPv6 login/logout.
Cause: EQ filled with more than 128 L4 kcqes without MSI-X interrupt for 2 seconds. The driver can only buffer 128 L4 kcqes.
Change: Increased L4 kcqe buffer to 256 entries as a temporary solution. Need to understand the delayed interrupt issue.
Impact: None.
bnx2 v1.9.18b (June 25, 2009), cnic v1.9.1 (June 24, 2009) ========================================================== Enhancements ------------ 1. Change: Added FTQDiscard counter to the list of counters being reported. During small packet test, there may be FTQ overflow and this counter is very useful.
Impact: None.
2. Change: Updated firmware to 5.0.0.h to improve small packet L2 performance and to enhance iSCSI TMF handling.
Impact: 5706/5708/5709.
bnx2 v1.9.17b (June 24, 2009), cnic v1.9.1 (June 24, 2009) ========================================== Fixes ----- 1. Problem: Leaking NetQueues if the firmware did not respond in time
Cause: System might be clogged and there is not enough time to process the KCQ
Change: Updated driver/firmware to allow the calling of the free RX queue request before a RX alloc request is issued
Impact: 5709
2. Problem: An offloaded iSCSI connection would get stuck
Cause: Issing an offload request might fail, and this was not handled properly.
Change: Updated driver/firmware to return the proper return code and handle offload connection failures.
Impact: 5706/5708/5709
3. Problem: tasklet_init() is being called on a task that is scheduled
Cause: When the CNIC calls register_device(), that task might already be schedled.
Change: tasklet_disable() is insufficient because the tasklet remains scheduled and stays on the tasklet list, instead tasklet_kill() is now used.
Impact: 5706/5708/5709
bnx2 v1.9.16b (June 10, 2009), cnic v1.9.0 (June 10, 2009) ========================================================== Enhancements ------------ 1. Change: (CQ38228) Use symbol_get() for ipv6 symbols so that the cnic driver will load without necessarily loading ipv6 modules.
Impact: iSCSI over IPv6.
2. Change: Updated 5706/08/09 MIPS firmware to 5.0.0.g.
Impact: 5706/08/09.
3. Change: Backported some dma_mapping_error() checking.
2. Change: In the cnic driver, save the last allocated TCP port during unregistration so that previously used TCP ports will not be immediately re-used.
bnx2 v1.9.13b (May 18, 2009) ========================================== Fixes ----- 1. Problem: Potentially exceeding the NetQueue limit recommendations by VMware which could stress system resources
Cause: When system resources are strained.
Change: There are now limits on the number of NetQueues which the driver will request: When the MTU is 1500 the max number of queues per port is 8 When the MTU is 9000 the max number of queues per port is 4
Impact: NetQueue enabled version of VMware ESX
2. Problem: Getting conflicting NetQueue and iSCSI completions
Cause: When MSI-X is not used on a 5709, NetQueue is still enabled
Change: NetQueue is not disabled is MSI-X is not used.
Impact: NetQueue enabled version of VMware ESX
bnx2 v1.9.12b (May 13, 2009) ========================================== Fixes ----- 1. Problem: Potentially returning a negative number of NetQueues
Cause: When calculating the number of rings, we use the calculation from the number of msi-x vectors returned, The number of NetQueues returned could potentially be negitive if only 1 vector was returned. This is because the driver was subtracting 2 instead of subtracting 1 (for the default queue) from the total number of rings.
Change: Return the proper number of queues not including the default queue.
Impact: NetQueue enabled version of VMware ESX
bnx2 v1.9.11b (May 12, 2009), cnic v1.8.5 (May 13, 2009) ======================================================== Fixes ----- 1. Problem: TCP Delay ACK not working on bnx2x iSCSI
Cause: Disabled in cnic driver.
Change: Fixed csk->tcp_flags definitions and enabled the proper storm bit for delay ACK.
bnx2 v1.9.10b, cnic v1.8.4 (May 11, 2009) ========================================== Fixes ----- 1. Problem: NetQ and iSCSI do not work in Vmware environment.
Cause: 1. cnic driver is overwriting CP and COM mailbox bit values newly defined to support multiple kcqs.
2. Firmware is completing some iSCSI kcqes on the NetQ's kcq.
Change: Fixed cnic driver to only set and clear bit 0 of the CP and COM mailbox.
Firmware has been updated to 5.0.0d. This firmware also supports TCP timestamp option for iSCSI connections.
Impact: 5706/5708/5709 iSCSI, NetQ.
bnx2 v1.9.9b (May 1, 2009) ========================================== Fixes ----- 1. Problem: There is link, but can't pass traffic on ESXi
Cause: Bits in the RX context are being trampled during the renegotiation of the link.
Change: RX context offset 0x6 should only be initialized once during init and not be updated during run-time. Offset 4 contains the BIDX that's mapped to the mailbox.
Impact: VMware with NetQueue
bnx2 v1.9.8b, cnic v1.8.2 (April 27, 2009) ========================================== Enhancements ------------ 1. Change: Updated cnic driver to support 1.50.x HSI as well as the older 1.48.107 HSI. A compile flag will be used to select one or the other.
Impact: iSCSI on bnx2x.
2. Change: Spec file and Makefile changes detect the proper module install directory.
Impact: installation.
bnx2 v1.9.7b, cnic v1.8.1 (April 22, 2009) ========================================== Fixes ----- 1. Problem: Compile error with redfinition of struct kwqe.
Cause: Both the CNIC and bnx2 defined this structure.
Change: Because the bnx2 definition is L2 specific, it was renamed to struct l2_kwqe.
Impact: None.
2. Problem: Add context memory DMA alignment for 57710.
Cause: For the 57710 context memory needs to be 16k aligned. Without this alignment you will see errors when trying to establish more then 5 iSCSI connections on VMware ESX 4.0 U1.
Change: Properly aligned the context memory by allocating a bigger chunk of memory and then finding the proper alignment. This reduces the number of possible connections in half but now we can properly establish more then 5 connections on VMware.
Impact: iSCSI.
bnx2 v1.9.6b (April 17, 2009) ============================= Enhancements ------------ 1. Change: Added NetQueue support for VMware.
Impact: 5709.
bnx2 v1.9.5b (April 17, 2009) ============================= Enhancements ------------ 1. Change: Updated to 5.0.0.a firmware with NetQ support and iSCSI max connection license information. RV2P firmware unchanged: 4.6.16 for 5706, 4.6.15 for 5709.
Impact: All chips.
2. Change: Set USE_INT_PARAM on 5709. This will switch the chip in use "interrupt mode" coalescing after MSI/MSI-X.
Impact: 5709.
3. Change: Included 5706 when doing statistics block DMA workaround.
Impact: 5706.
bnx2 v1.8.8b (March 12, 2009) ============================= Enhancements ------------ 1. Change: Updated to latest 4.6.17 CP firmware for 5709.
Impact: iSCSI licensing on 5709.
bnx2 v1.8.7b, cnic v1.7.8 (March 10, 2009) ========================================== Enhancements ------------ 1. Change: Reverted 5706/5708 firmware to 4.6.16. Low latency interrupt mode does not work on 5706/5708.
Impact: None.
2. Change: VMWare changes to expose max. number of iSCSI connections in the cnic_device structure.
Cause: msi related symbols undefined because CONFIG_PCI_MSI is not enabled on Xen kernels.
Change: Added CONFIG_PCI_MSI around the msi related code.
Impact: None.
2. Problem: (CQ39818) iSCSI targets do not reconnect after running self test.
Cause: Interrupt is disabled by bnx2 before notifying CNIC to clean up and stop. As a result, bnx2i will not receive interrupts when closing the connections if sharing INTA/MSI with network.
Change: Disable interrupt after notifying CNIC to stop.
Impact: iSCSI.
bnx2 v1.8.6b, cnic v1.7.7 (March 2, 2009) ========================================= Enhancements ------------ 1. Change: Updated to new 5706 firmware (4.6.17) and 5709 firmware (4.6.16). New interrupt coalescing mode for improved latency and iSCSI cache line fix on 5709.
Cause: Bug in bnx2_free_rx_mem(). The jumbo page ring memory was freed incorrectly using the wrong local variable as array index.
Change: Fixed bug by using the correct variable as array index.
Impact: Jumbo frames.
2. Problem: (CQ38965) iSCSI connection timeout on bnx2x.
Cause: During CFC Delete RAMROD completion handling, the wrong (older) iSCSI connection ID can sometimes be retrieved using the harware CID. The CID in the mapping table was not cleared after the CID was freed.
Fix: Adding clearing of the CID in the data structure after a CID is freed.
Impact: bnx2x iSCSI.
Enhancements ------------ 1. Change: (CQ38744) Reduced R2TQ memory usage to match new firmware interface (firmware 4.8.9). This reduces the amount of kernel memory substantially for each iSCSI connection on bnx2x.
bnx2 v1.8.2b, cnic v1.7.2 (Nov 25, 2008) ======================================== Fixes ----- 1. Problem: bnx2x iSCSI does not work on functions 2 or above.
Cause: This was caused by multiple problems: a) Status block ID specified by bnx2x was wrong. b) MSI-X vector assigned to CNIC was wrong. c) New method to ack. status block using HC register was not implemented. d) Status block ID in CSTORM status block is always 0, and as a result, the status block ID used to ack. the status block was wrong.
All these problems only affect functions 2 and above.
Change: All problems fixed in bnx2x and cnic.
Impact: bnx2x iSCSI.
bnx2 v1.8.2b, cnic v1.7.1 (Nov 15, 2008) ======================================== Enhancements ------------ 1. Change: Added CNIC support for Multi function bnx2x iSCSI.
Impact: bnx2x iSCSI.
bnx2 v1.8.2b, cnic v1.6.2 (Nov 12, 2008) ======================================== Enhancements ------------ 1. Change: Updated to latest 4.6.13 5709 firmware to fix context corruption with flow control enabled.
Impact: 5709.
2. Change: Added support for 5716S PCI ID.
Impact: None.
Fixes ----- 1. Problem: (CQ35904) Netdump does not work.
Cause: Problem introduced by MSI-X multiqueue. IRQ handlers were changed to take bnx2_napi parameter instead of netdev parameter.
Change: Fixed by passing proper parameter to IRQ handler from netpoll. All IRQ handlers are called when using multiple MSI-X vectors.
Impact: 5709 netpoll.
bnx2 v1.8.1f, cnic v1.6.1 (Nov 5, 2008) ======================================== Fixes ----- 1. Problem: All TSO packets corrupted on 5706/5708.
Cause: Firmware bug zeroing the wrong field in IP header.
Change: Updated to latest 4.6.11 5706/5708 firmware and 4.6.12 5709 Firmware.
Impact: 5706/5708/5709.
2. Problem: bnx2x chip asserts when trying to make iSCSI connection to an unknown IP address.
Cause: When connection fails, the driver sends a command to an unitialized CID.
Change: Added logic to only send deletion commands to initialized CIDs.
Impact: bnx2x iSCSI.
Enhancements ------------ 1. Change: Added support for one single VLAN to a bnx2x iSCSI interface.
Impact: bnx2x iSCSI.
bnx2 v1.8.1e, cnic v1.6.0 (Oct 27, 2008) ======================================== 1. Change: Updated to latest 5709 firmware to fix iSCSI data integrity problem.
Impact: 5709.
bnx2 v1.8.1d, cnic v1.6.0 (Oct 23, 2008) ======================================== Enhancements ------------ 1. Change: Updated to latest bnx2 firmware to fix iSCSI data integrity problem.
Impact: 5706/5708/5709.
2. Change: Updated to the latest bnx2x HSI files.
Impact: bnx2x iSCSI.
bnx2 v1.8.1c, cnic v1.5.9 (Oct 13, 2008) ======================================== Fixes ----- 1. Problem: (CQ37905) Unable to compile on SLES10 SP2.
Cause: DIV_ROUND_UP macro not defined in this kernel.
Change: Added it for compatibility.
Impact: None.
Enhancements ------------ 1. Change: Updated to latest 5709 firmware that fixes an NCSI problem.
Impact: 5709.
2. Change: Handle TCP reset in the middle of TCP close more appropriately.
Impact: iSCSI.
3. Change: Handle iSCSI license checking in the same way as 5708/5709.
Impact: iSCSI on bnx2x.
bnx2 v1.8.1b, cnic v1.5.8 (Oct 13, 2008) ======================================== Fixes ----- 1. Problem: bnx2x iSCSI CIDs may be allocated outside the range of allocated host memory.
Cause: CID range bigger than the amount of allocated host context memory.
Change: Changed to match the CID range with memory range.
Impact: bnx2x iSCSI.
Enhancements ------------ 1. Change: Sync'ed with the latest upstream driver bnx2 1.8.1.
Impact: None.
2. Change: Implemented iSCSI connection license enforcement for bnx2x devices.
Impact: bnx2x iSCSI.
bnx2 v1.8.0j, cnic v1.5.7 (Oct 6, 2008) ======================================== Fixes ----- 1. Problem: (CQ37610) Chip hangs when changing MTU with active iSCSI connections.
Cause: Both cnic and bnx2 drivers setting up the chip at the same time.
Change: Added check so that the register_cnic function will fail if the bnx2 driver is in reset.
Impact: iSCSI.
2. Problem: (CQ37762) Able to unload bnx2/bnx2x drivers while there are active iSCSI connections.
Cause: CNIC driver does not have a reference count on the BNX2/BNX2X drivers.
Change: This became a problem after the register_cnic function was no longer exported. To solve the problem, the CNIC driver will now get an explicit reference during register_cnic.
Impact: iSCSI.
3. Problem: (CQ37429) MMIO access while the chip is in D3hot state.
Cause: The driver does not check if_running state consistently during ethtool operations.
Change: Added proper checks to all ethtool and multicast change functions.
Impact: ethtool operations and multicast operations.
Enhancements ------------ 1. Change: Simplified ipv4 TSO logic in the driver. This was made possible with newer 5708 firmware.
Impact: 5708 TSO and other traffic.
2. Change: ethtool -p now blinks forever. This is the standard behavior in most other net drivers.
Impact: ethtool -p.
bnx2 v1.8.0i, cnic v1.5.5 (Sep 30, 2008) ======================================== Fixes ----- 1. Problem: (CQ36787) iSCSI login/logout commands fail on 5709 after a while.
Cause: Not handling the KWQ completion properly on 5709 in INTA/MSI mode.
Change: Changed to handle KWQ completions by checking the cmd_consumer_index instead of the rx_quick_index15.
Impact: 5709 ISCSI in INTA/MSI mode.
2. Problem: (CQ37497) CNIC driver does not compile on powerpc.
Cause: csum_ipv6_magic() not defined.
Change: Added #include
Impact: None.
v1.8.0g (Sep 24, 2008) ======================== Fixes ----- 1. Problem: (CQ37511) System locks up when loading cnic driver on 2.6.16 kernel.
Cause: symbol_put_addr() in 2.6.16 tries to acquire the same lock twice.
Change: Workaround by using __symbol_put() which does not have the same problem.
Impact: None.
v1.8.0f (Sep 23, 2008) ======================== Fixes ----- 1. Problem: (CQ37405) Kernel panic when performing ifup/ifdown with iSCSI connections on bnx2x devices.
Cause: Sending searcher delete to bnx2x devices when connection was not established (due to Spanning Tree or other reasons).
Change: Check PG offload state before sending searcher delete.
Impact: iSCSI on bnx2x.
v1.8.0e (Sep 22, 2008) ======================== Enhancement ----------- 1. Change: Updated to latest driver firmware 4.6.6 for 5709.
Impact: 5709.
2. Change: Updated cnic so that it will not crash even if using older bnx2/bnx2x drivers without CNIC support. The net driver can also be loaded after cnic and it will still work without crashing.
Impact: iSCSI.
3. Change: (CQ 37381) Updated driver to check Vaux PRESET before allowing WoL. This is needed to support 5709 quad-port boards.
v1.8.0c (Aug 25, 2008) ======================== Fixes ----- 1. Problem: Does not compile on older kernels.
Cause: "__maybe_unused" undefined on older kernels. "num_online_cpus()" undefined on 2.4 kernels.
Change: Added compatibility code to workaround.
Impact: None.
v1.8.0b (Aug 25, 2008) ======================== Enhancement ----------- 1. Change: Updated to latest driver firmware 4.6.2 for 5709.
Impact: 5709.
v1.7.9c (Aug 5, 2008) ======================== Fixes ----- 1. Problem: bnx2 does not compile on older kernels.
Cause: is missing on 2.6.19 and older kernels.
Change: Added compatibility code to check for kernel version before including the file.
Impact: none.
v1.7.9b (Aug 5, 2008) ======================== Enhancements ------------ 1. Change: Added multi-tx ring for 5709. This fetaure is available on 2.6.27 kernel when using MSI-X.
Impact: 5709
2. Change: Added support for 57710 iSCSI in the CNIC driver.
v1.7.7b (July 9, 2008) ======================== Enhancements ------------ 1. Change: Added probe function so that the CNIC driver can get the pci_device pointer earlier before registration.
Impact: iSCSI.
2. Change: Added support for 5716.
Impact: None.
v1.7.6c (June 6, 2008) ======================== Enhancements ------------ 1. Change: Added multi-ring RX support on 5709 using MSI-X. This feature is only available on 2.6.24 and newer kernels running on SMP machines.
Impact: 5709.
2. Change: Added secondary unicast address support. We now support up to 5 unicast addresses. This feature is only available on 2.6.23 and newer kernels.
Impact: All chips.
v1.7.6b.1 (Aug 14, 2008) ======================== Fixes ----- 1. Problem: (CQ36808) VLAN tagged packets received by host stack without the VLAN tag.
Cause: If no VLANs are set up using vconfig, and if the driver configures the chip to strip the VLAN tag, the problem can happen. With IPMI or UMP enabled, the driver is likely to configure the chip to strip the VLAN tag.
Change: Modified the driver to re-insert the VLAN tag when necessary. I.e. when IPMI/UMP is enabled and vconfig has not setup any VLANs.
Impact: All chips receiving VLAN traffic.
v1.7.6b (May 29, 2008) ======================== Fixes ----- 1. Problem: IPv4 TSO generates bad packet when the TSO packet size is 1-MSS.
Cause: Probably firmware does not expect this boundary condition.
Change: Detect this 1-MSS condition in driver and skip the TSO logic. 1-MSS TSO packet will be treated like a regular TX checksum offload packet.
Impact: TSO on all chips.
2. Problem: Cannot disable VLAN stripping even when management firmware is disabled.
Cause: The new logic to check firmware VLAN stripping capability was buggy.
Change: Fixed the code so that VLAN stripping can always be disabled if management firmware is disabled.
Impact: VLAN/management firmware.
v1.7.5d (May 13, 2008) ======================== Enhancements ------------ 1. Change: Incorporated latest firmware 4.4.18. Bug fix is in RV2P.
Impact: All chips.
v1.7.5c (May 7, 2008) ======================== Enhancements ------------ 1. Change: Incorporated latest firmware 4.4.17. Bug fix is in RV2P.
Impact: All chips.
v1.7.5b (May 5, 2008) ======================== Fixes ----- 1. Problem: (CQ35080) Hard lock when running ethtool -s on the device that is in the down state.
Cause: I/O to the device to set link speed in D3-hot state can cause lockup because the chip does not respond to I/O.
Change: ethtool -s will just store the new settings without configuring the new speed. When the device is later brought up, the new speed will be set as part of chip init.
Impact: All chips.
2. Problem: (CQ35075 CQ35042) Various compile errors on SuSE SLES 9 and SLES 10 distro kernels.
Cause: ip_hdr() and __le32/__le32 backported to the distro kernels.
Change: Adjusted compatibility defines.
Impact: None.
Enhancements ------------ 1. Change: Incorporated latest 5709 firmware 4.4.16. Timer context scanning is reduced with this firmware to 500us. With this, the temporary enhancement in 1.7.4c #2 has been removed.
Impact: 5709 iSCSI.
v1.7.4e (April 26, 2008) ======================== Fixes ----- 1. Problem: (CQ34841) 5709 does not link up on some remote PHY systems.
Cause: No initial link interrupt.
Change: Added code to poll for link when remote PHY is present.
Impact: Remote PHY systems.
2. Problem: (CQ34767) Kernel panic on 5709 when using jumbo frames with NCSI traffic.
Cause: RV2P bug causing RX packets to overwrite kernel memory.
Change: Updated to latest RV2P code for 5709 and 5708.
Impact: 5706/5708/5709.
v1.7.4d (April 17, 2008) ======================== Fixes ----- 1. Problem: IPv6 iSCSI does not work.
Cause: Added code in the last version 1.7.3c to check for CONFIG_IPV6 before enabling the IPv6 CNIC support. This failed to check for CONFIG_IPV6_MODULE if IPv6 is configured as module in the kernel configuration.
Change: Changed the checking to CONFIG_IPV6 or CONFIG_IPV6_MODULE.
Impact: None.
v1.7.4c (April 16, 2008) ======================== Fixes ----- 1. Problem: (CQ34814, CQ33984) Driver does not compile on 2.4 kernels.
Cause: __le32 and __be32 not defined in 2.4 kernels.
Change: Defined these as u32 on 2.4 kernels.
Impact: 2.4 kernels.
Enhancements ------------ 1. Change: Incorporated latest 5709 4.4.12 firmware to fix various iSCSI problems.
Impact: 5709.
2. Change: Slowed down the timer block reload time. It was noticed that after the CNIC driver was unloaded, the timer context memory was reloaded in a tight loop by the chip. This issue needs to be properly addressed in the firmware at a future date.
Impact: iSCSI.
v1.7.4b (April 11, 2008) ======================= Enhancements ------------ 1. Change: Incorporated latest 5709 4.4.11 firmware to fix various iSCSI problems.
Impact: 5709.
v1.7.3k (April 9, 2008) ======================= Enhancements ------------ 1. Change: Incorporated latest 5709 4.4.10 firmware to fix various iSCSI problems. CID ranges are now read directly from shared memory.
v1.7.3g (March 10, 2008) ======================= Enhancements ------------ 1. Change: Updated to latest 5709 firmware version 4.4.7.
Impact: 5709.
v1.7.3f (March 10, 2008) ======================= Fixes ----- 1. Problem: CNIC takes a long time to resolve ARP, causing iSCSI to fail.
Cause: NETEVENT_NEIGH_UPDATE event notifier sometimes takes a long time to be called.
Change: This is under investigation. For now, the workaround is to use the existing neighbour entry if it is in NUD_VALID state. Previously, we would only use it if it was in NUD_CONNECTED state.
Impact: iSCSI neighbour resolution.
2. Problem: iSCSI sometimes fails to initialize.
Cause: The KWQ is in full condition and prevents any KWQE to be sent to the firmware. This is caused by the KWQ consumer index in the status block not initializing to 0.
Change: Added workaround to skip the KWQ full condition check when sending the first KWQE. This should be properly fixed in firmware.
Impact: None.
v1.7.3d (February 15, 2008) ============================ Fixes ----- 1. Problem: System hangs with iSCSI traffic.
Cause: Infinite loop in NAPI poll.
Change: Fixed the problem of not comparing the CNIC tag properly when determining whether there is more work in NAPI poll.
Impact: None.
2. Problem: iSCSI does not work on 5709
Cause: Not initializing 5709 properly for iSCSI. The chip_id field was not propagated to the CNIC driver.
Change: Fixed the chip_id field.
Impact: None.
v1.7.3c (February 09, 2008) ============================ Enhancements ------------ 1. Change: Updated 5708 and 5709 firmware to version 4.4.2.
Impact: All devices.
2. Change: Updated RV2P firmware to the latest. This may fix the jumbo frame issue.
Impact: All devices, especially jumbo frames on 5709 Bx.
3. Change: Modified CNIC interface in preparation for 57710 devices.
Impact: iSCSI.
v1.7.2f (February 04, 2008) ============================ Fixes ----- 1. Problem: Temporary workaround for one prototype 5709S mezz. card not working.
Cause: The driver was looking at the wrong shared memory location to identify the card.
Change: Fixed the code to check the correct BNX2_SHARED_HW_CFG_CONFIG location.
2. Change: Added temporary workaround for one prototype 5709S mezz. card. The workaround will be removed once newer cards are available.
Impact: 5709S.
v1.7.1e (January 14, 2008) ============================ Enhancements ------------ 1. Change: Updated 5709 firmware to 4.1.1 for IPv6 iSCSI support.
Impact: 5709.
2. Change: Updated 5708 RXP firmware to 4.1.1.
Impact: 5706/5708.
3. Change: Updated RV2P firmware for 5709.
Impact: 5709.
4. Change: Added IPv6 support to CNIC driver.
Impact: New BNX2I driver must be used with this new CNIC driver.
v1.7.1d.3 (February 7, 2008) ============================ Fixes ----- 1. Problem: 5706S continues to not link down occasionally on some blade systems.
Cause: In some cases, even turning off the tx current does not cause the link to go down.
Change: Link transition can be triggered based on the SYNC_FAILED bit in the AN_DEBUG register when all else fails.
Impact: 5706S.
v1.7.1d.1 (February 1, 2008) ============================ Fixes ----- 1. Problem: 5706S still not linking down occasionally on some blade systems when the switch blade is disconnected.
Cause: Occasionally, all the bits that we check will falsely indicate link up and trigger the parallel detect logic on this blade platform. Once in parallel detect mode with autoneg disabled, the driver will never detect link down.
Change: Disabled parallel detect on this platform by checking PCI sub IDs to identify the device.
Impact: Parallel detect not supported on this vendor device.
v1.7.1d (January 25, 2008) ============================ Fixes ----- 1. Problem: 5706S still not linking down on some blade systems when the switch blade is disconnected.
Cause: This is the same problem that was fixed in 1.7.0b. After switch module is removed, the SYNC_FAILED bit sometimes toggles low, and this causes the parallel detect logic in the driver to trigger and disable autoneg. Disabling autoneg causes false link to come up immediately.
Change: It seems that the RUDI_INVALID bit can be used to prevent the above from happening. Modified parallel detect code to additionally check the RUDI_INVALID bit and trigger only when the bit is cleared.
Impact: Parallel detect logic in 5706S.
v1.7.1c (December 27, 2007) ============================ Fixes ----- 1. Problem: Driver crashes when adding VLAN and bonding.
Cause: Bonding calls driver's VLAN function in interrupt context with lock held. We recently added a VLAN feature in 1.6.8b which requires chip reset when VLANs are added or removed. The reset will call vmalloc/vfree which must not be called in interrupt context.
Change: Reverted the VLAN feature for now. Will workaround it in the future.
Impact: 5709 only. This new VLAN feature is no longer available.
v1.7.1b (December 24, 2007) ============================ Fixes ----- 1. Problem: Driver crashes when using jumbo frames on 5709 A1.
Cause: RV2P firmware problem.
Change: Disabled jumbo page ring on 5709 Ax chips.
Impact: Jumbo receive page rings not supported on 5709 Ax.
2. Problem: CNIC driver prints "Failed waiting for ref count to go to zero" when unloading the driver. This is a minor cosmetic issue.
Cause: Minor bug in driver comparing ref_count to 1 instead of zero during exit.
Change: Fixed the code to check for ref_count == 0.
Impact: None.
v1.7.0b (December 12, 2007) ============================ Fixes ----- 1. Problem: (CQ33032) CPU utilization increases dramatically when TSO is enabled.
Cause: Driver is spending a lot of unnecessary time in TX handling code when TSO is enabled. This regression was introduced when the TX handling code was changed to match the RX handling code. The RX handling code was changed to fix a packet rot problem. When TSO is enabled, the tx index can stop at non-packet boundaries and the code will keep waiting until it gets to the next packet boundary.
Change: Fixed it to handle this condition properly.
Impact: None.
2. Problem: 5706S does not link down in some blade systems.
Cause: Hardware problem.
Change: Added workaround logic to check periodically and force a link down when the PHY reports SYNC status failed. This only works when autoneg is enabled.
Impact: 5706S.
v1.6.8e (December 10, 2007) ============================ Fixes ----- 1. Problem: When using jumbo MTU with large RX ring sizes, system will crash or the driver won't load.
Cause: Bug in driver where the page descriptor array was declared too small.
Change: Fixed the array size.
Impact: None.
2. Problem: CNIC driver won't compile on kernels without CONFIG_PCI_MSI.
Cause: Some code needs to be conditionally compiled only when CONFIG_PCI_MSI is set.
Change: Added #ifdef CONFIG_PCI_MSI where necessary.
Impact: None.
3. Change: Disabled iSCSI on 5709 until next release.
Impact: None.
v1.6.8d (December 07, 2007) ============================ Change: Reverted the 5706S workaround made in 1.6.8c because it was unreliable.
Cause: RV2P firmware incorrectly placed jumbo data into SKB.
Change: New RV2P firmware.
Impact: Jumbo frames on all hardware.
2. Problem: (CQ32817) ethtool loopback test fails. 3. Problem: (CQ32842) Chariot test fails.
Cause: RX buffer size too small to contain MTU-sized frame. This was introduced by the new Jumbo RX logic.
Change: Fixed RX buffer size logic.
Impact: Traffic on all hardware.
4. Problem: (CQ32862) Fails to compile on RH9u9.
Cause: Kernel API skb_fill_page_desc() backported to RH kernel causing duplicate definition.
Change: Adjusted compatibility code.
Impact: None.
5. Problem: (CQ32866) ISCSI driver fails to compile with 1.6.8b.
Cause: print_mac() multiply defined when bnx2.h is included in the bnx2i driver.
Change: Changed print_mac() to static inline.
Impact: None.
6. Problem: 5706S does not link down in some blade systems.
Cause: Hardware problem.
Change: Added workaround logic to check periodically.
Impact: 5706S.
Enhancements ------------ 1. Change: Added flow control logic on 5709.
Impact: 5709.
2. Change: Updated all firmware to 4.0.5.
Impact: All hardware.
v1.6.8b (November 28, 2007) ============================ Enhancements ------------ 1. Change: Added MSIX support for 5709 B0.
Impact: 5709 B0.
2. Change: Added multi-page buffer support for Receive Jumbo frames.
Impact: All chips. This feature is experimental at this point.
3. Change: Allow VLAN tags in receive packets when management firmware is enabled.
Impact: 5709 only. This feature is experimental and requires new boot code and UMP/IPMI code.
4. Change: Updated firmware to 4.0.3.
Impact: All chips.
v1.6.7b (October 16, 2007) ============================ Fixes ----- 1. Problem: (CQ31861) Remote copper PHY does not link up if WoL is enabled.
Cause: bnx2_set_power_state() assumes that only copper devices support WoL and proceeds to configure the copper PHY to 10/100 Mbps. This assumption is no longer valid after Serdes WoL support was added in 1.6.3c.
Change: Fixed the code to take check for Serdes and copper when setting up the PHY for WoL.
v1.6.5b (September 25, 2007) ============================ Fixes ----- 1. Problem: (CQ30086) 5709 A1 does not link up when connected to some Broadcom devices.
Cause: Early DAC wakeup workaround needed for 5709 A1.
Change: Added workaround.
Impact: None.
Enhancements ------------ 1. Change: Added CNIC support for iSCSI.
Cause: Link test and loopback test were not modified to support remote PHY.
Change: Added remote PHY support to link test and changed the code to skip PHY loopback on remote PHY since it's not supported.
Impact: None.
2. Problem: (CQ30625) ethtool speed settings are lost after ifdown.
Cause: The remote PHY settings stored in firmware is not the same as the driver's last setting.
Change: Modified the code to keep the driver's setting unless there's is change in the remote PHY media.
Impact: ethtool -s on remote PHY systems.
Enhancements ------------ 1. Change: Change ethtool's wol setting to NVRAM's default and add support for Serdes WoL if NVRAM supports it.
Impact: ethtool wol's default setting.
v1.6.3b (July 13, 2007) ======================= 1. Problem: Problems reading and writing flash on 5709.
Cause: Hardware changes in 5709.
Change: Rearranged current flash code to properly support 5709.
Impact: Changes will impact flash operations on 5706/5708/5709 devices.
2. Problem: (CQ30516) Management firmware version string disappears on 2nd modprobe of the driver.
Cause: The 2nd modprobe will program the device back to D0 from D3hot. This causes a reset and it will take some time before the management firmware information will be available.
Change: Added a proper wait loop to wait for the firmware information to be deposited in shared memory.
Impact: None.
v1.6.2f (July 3, 2007) ======================= 1. Problem: The fix for CQ29488 in the previous version is problematic and needs to be reverted.
Cause: Adding the netif_carrier_off() call before register_netdev() in bnx2_init_one() can cause problems if register_netdev() fails. netif_carrier_off() can queue a link watch event that can run later. If register_netdev() fails, the netdev structure will be freed and the link watch event may panic when it is scheduled to run.
Change: Moving the netif_carrier_off() to after register_netdev() also will not work as it can cause race conditions with the interrupt handler. So the best thing to do is to revert the earlier fix and not address the CQ29488 issue.
Impact: CQ29488 is not fixed.
v1.6.2e (July 3, 2007) ======================= Fixes: ------ 1. Problem: (CQ29528) Link does not come up using remote PHY (continued).
Cause: ifup script may be using mii-tool to obtain link status, and interfering with remote PHY firmware.
Change: Block mii-tool ioctl access when remote PHY firmware is present.
Impact: None.
2. Problem: (CQ29488) Driver reports link up in ethtool before the interface is brought up.
Cause: The netdevice structure's initial link setting is up and that gets reported directly by ethtool.
Change: Added netif_carrier_off() call in bnx2_init_one().
Impact: None.
v1.6.2d (June 22, 2007) ======================= Fixes: ------ 1. Problem: (CQ29528) Link does not come up using remote PHY.
Cause: The fix in 1.6.2b still has a problem. The copper or Serdes default link setting does not follow the correct port when the port is changed during chip reset.
Change: Fix the code to always refresh the port and link setting during chip reset.
Impact: None.
2. Problem: (CQ30181) Cannot compile on 2.4 kernels.
Cause: USEC_TO_SEC constant is not defined on older kernels.
Change: Added conditional #define for this constant on older kernels.
Impact: None.
Enhancements: ------------- 1. Change: Update 5709 firmware to 3.7.1.
Impact: 5709 devices.
v1.6.2b (June 21, 2007) ======================= Enhancements: ------------- 1. Change: Added management firmware version to ethtool -i.
Impact: None.
Fixes: ------ 1. Problem: (CQ29528) Link does not come up using remote PHY.
Cause: The driver is using the wrong port when setting up the remote PHY link.
Change: Fixed bug to always use the correct requested port or default port when setting remote PHY link.
Impact: None.
2. Problem: (CQ30028) Advertised Autoneg not set in ethtool.
Cause: Remote PHY code is not setting the flag which is for information only.
Change: Added code the set the flag for consistency.
Impact: None.
v1.6.1c (May 22, 2007) ===================== Enhancements: ------------- 1. Change: (CQ28907) Added support for setting copper and fibre speeds.
v1.5.10c (May 4 , 2007) ======================= Fixes: ------ 1. Problem: Extremely low TSO performance when destination has a smaller MSS than the source.
Cause: Packets smaller than MTU are not processed as TSO packets.
Change: Removed the SKB length check when doing TSO.
Impact: None.
v1.5.10b (May 1, 2007) ========================= Enhancements: ------------- 1. Change: Removed Remote PHY until next release.
Impact: No Remote PHY support.
2. Change: Added check for 2.5G capability before enabling 2.5G on 5709S.
Impact: None.
Fixes: ------ 1. Problem: (CQ28438) NETDEV WATCHDOG after OS boot.
Cause: The mailbox queue is halted after the OS reads config. register 0x94.
Change: Set MQ_CONFIG_HALT_DIS in register MQ_CONFIG on 5709 A0 and A1.
Impact: None.
v1.5.9b (April 20, 2007) ======================= Enhancements: ------------- 1. Change: Enhanced remote PHY support for 5708S.
Impact: None.
Fixes: ------ 1. Problem: (CQ29056) Driver does not compile on SLES 10 SP1 kernel.
v1.5.1b (November 15, 2006) =========================== Enhancement: ------------ 1. Change: Added support for 5709.
Impact: None.
v1.4.52c (March 07, 2007) ========================= Enhancement: ------------ 1. Change: Increase maximum receive ring size to 4080. The default is kept the same at 255.
Impact: None.
v1.4.51b (December 21, 2006) ============================ Fixes: ------ 1. Problem: (CQ27802) Cannot enable flow control in some cases.
Cause: In some cases when flow control is forced to on, the driver detects no changes in advertisement, and as a result, will not re-autoneg. Without the link change, flow control settings will not change.
Change: Added some code to setup flow control when no other PHY settings are made. This will ensure that flow control changes will take effect immediately.
Impact: None.
v1.4.50b (December 15, 2006) ============================ Fixes: ------ 1. Problem: (CQ27424) Panic when writing to nvram.
Cause: Bug in driver when an alignment buffer is used
Change: Fixed the bug so that the alignment buffer is freed with the correct pointer.
Impact: None.
v1.4.49b (December 13, 2006) ============================ Fixes: ------ 1. Problem: (CQ27459) Driver reports link down when link is up.
Cause: Hotplug scripts can cause bnx2_open() to be called immediately after bnx2_init_one() calls register_netdev(). The initial link state set after register_netdev() may overwrite the actual link state set by the link handler on SMP systems.
Change: Move all initial state setup code to before calling register_netdev().
Cause: Bug in determining tx ring space when the tx ring is completely full.
Change: Fixed the flawed logic in bnx2_tx_avail().
Impact: None.
2. Problem: (CQ27424) Buffer overflow when writing to nvram.
Cause: Bug in driver when the beginning NVRAM offset is not 4-byte aligned.
Change: Fixed the bug to allocate enough buffer space.
Impact: None.
3. Problem: (CQ27543) Loopback failed if MAC address is changed.
Cause: Driver uses permanent MAC address for loopback which may be different from a locally administered address.
Change: Fixed by alwaysing using the current MAC address in the netdevice structure.
Impact: None.
v1.4.47b (November 02, 2006) =========================== Fixes: ------ 1. Problem: (CQ25922) 5708S does not pass PHY loopback test on some blade servers.
Cause: It takes longer (about 100msec) to link up in some backplane environments when the Serdes is set to PHY loopback mode.
Change: Increase delay loop to up to 1 sec when waiting for link up after PHY loopback. Previous wait time was 100usec.
Impact: None.
v1.4.46b (October 30, 2006) =========================== Fixes: ------ 1. Problem: (CQ25916) Device does not receive packets when configured by the Xen bridge script and when IPMI is enabled.
Cause: Firmware does not forward packets to the host when the device is in promiscuous mode in some cases.
Change: Firmware change and driver change to enable the BNX2_RPM_SORT_USER0_PROM_VLAN bit when going into promiscuous mode.
Impact: None.
v1.4.45b (October 19, 2006) =========================== Enhancement: ------------ 1. Change: Added software parallel detection on 5708S to link at 1000Mbps or 2500Mbps automatically if the link partner is forced at 2500Mbps.
Impact: None.
2. Change: Added 2500Mbps forced speed setting. Setting it requires a future version of ethtool or custom apps.
Impact: None.
3. Change: Port driver to compile on 2.6.19 kernel.
Impact: None.
Fixes: ------ 1. Problem: Driver does not complile on 2.4 kernels.
Cause: TSO symbols not defined in 2.4 kernels.
Change: Added #ifdef for compatibility.
Impact: None.
2. Problem: MSI doesn't work on 5706 when the host bridge is AMD8132.
Cause: Compatibility issue.
Change: Added code to disable MSI when 5706 is on a systems with AMD8132.
Impact: 5706 cannot use MSI on such systems.
v1.4.44b (August 10, 2006) ========================== Fixes: ------ 1. Problem: A rare tx race window exists in the tx path.
Cause: CPU re-ordering can cause the tx queue to be stopped forever when the tx ring is full in a very rare condition. See ChangeLog for more details.
Change: Fixed the race condition with memory barriers. See ChangeLog for more details.
Impact: None.
Enhancement: ------------ 1. Change: Increase default rx ring size to 255 to prevent packet drops under heavy load.
Impact: Higher memory usage.
2. Change: Port driver to run on 2.6.18 kernel.
Impact: None.
v1.4.43b (June 26, 2006) ======================= Enhancement: ------------ 1. Change: (CQ25508) Use DRV_MSG_CODE_UNLOAD_LNK_DN message on 5708 B1 and older chips so that the link will turn off after ifdown.
Impact: None.
v1.4.42b (June 2, 2006) ======================= Fixes: ------ 1. Problem: (CQ22585) WoL cannot be enabled on 5708 B2.
Cause: Hardware limitation in previous 5708 versions required driver to always disable driver WoL on 5708.
Change: With the issue fixed in B2, the driver was changed to allow 5708 B2 and above to support driver WoL.
Impact: None.
2. Problem: (CQ21779) Driver does not report dropped receive packets.
Cause: Packets dropped by firmware are reported in a scratch pad location in memory separate from other counters.
Change: Added code to report this firmware counter.
Impact: None.
Enhancements: ------------- 1. Change: (CQ24690) Allow driver to be compiled for non-running kernels.
Impact: None.
v1.4.41b (May 17, 2006) ======================= Fixes: ------ 1. Problem: Driver writes wrong data to non-buffered flash.
Cause: Bug in driver causing the unchanged portion of the page to be corrupted.
Change: Fixed bug.
Impact: None.
v1.4.40b (April 17, 2006) ========================= Enhancements: ------------- 1. Change: Combine 2 small memory allocations into 1.
Impact: None.
2. Change: Separate tx consumer and producer entries into separate cache lines for better performance.
Impact: None.
3. Change: Compress firmware data to reduce driver size.
Impact: Driver now requires zib_inflate library which should be available on most vendor kernels.
v1.4.39b (Mar. 10, 2006) ======================= Fixes: ------ 1. Problem: (CQ23181) Driver loses track of link changes in some cases.
Cause: In some cases, the status block gets a link change indication that contradicts with the MII link status. This is due to transient link signals during link changes.
Change: Add coalesce_now at the end of link change interrupt to flush out the transient behavior.
Impact: None.
2. Problem: 5708 only supports 40-bit DMA addresses.
Cause: Limitation of the built-in PCIE-to-PCIX bridge.
Change: Add workaround code to make sure all DMA addresses are less than 40 bits.
Impact: Some minor impact on performance on some 64-bits systems. There should be practically no performance impact on i386 and x86_64 systems.
3. Problem: "Copyright" deprecated in RPM spec file.
Change: Changed to "License".
Impact: Should be none on the distributions that we support.
v1.4.38b (Feb. 10, 2006) ======================= Fixes: ------ 1. Problem: Setting rx ring size to 255 causes memory allocation errors.
Cause: Multiple bugs that do not handle the full ring properly.
Change: Fixed all bugs related to full ring handling and changed maximum ring size from 4080 to 1020 after discussion with Dave Miller.
Impact: Maximum rx ring size is now smaller.
2. Problem: Compile warnings and panic on IA64.
Cause: not included.
Change: Added include .
Impact: None.
v1.4.36b (Jan. 19, 2006) ======================= Version number update.
v1.3.36 (Jan. 17, 2006) ======================= Fixes: ------ 1. Problem: (CQ22827) bnx2 does not compile on 2.6.6 and earlier kernels.
Cause: Introduced bug while fixing CQ22666.
Change: Fix compatibility code.
Impact: None.
2. Problem: (CQ22823) bnx2 reports extra .5 at the end of firmware version string.
Change: Skip the last digit in the firmware version string.
Impact: None.
3. Problem: (CQ22585) WoL still does not work on 5708.
Cause: New WoL mechanism introduced in 1.3.34 has a flaw.
Change: Removed the workaround code and disabled WoL support on 5708. During shutdown and suspend, the driver will shutdown the device and WoL will be setup by the bootcode according to the nvram's out-of-box WoL setting.
Impact: 5708 will not support driver-initiated (ethtool-intiated) WoL.
v1.3.35 (Jan. 17, 2006) ======================= Fixes: ------ 1. Problem: (CQ22666) bnx2 driver does not compile on RHEL3 U7.
Cause: if_mii() back-ported to RHEL3 U7.
Change: Adjusted the compatibility code.
Impact: None.
2. Problem: (CQ22718) UMP connection is lost after enabling WoL.
Cause: FORCE LINK was mistakenly set during WoL setup.
Change: Do not set FORCE LINK.
Impact: None.
v1.3.34 (Jan. 13, 2006) ======================= Fixes: ------ 1. Problem: (CQ22585) WoL does not work on 5708.
Cause: Internal bridge not in proper PME state.
Change: Added new firmware message to allow bootcode to help set up WoL.
Impact: None.
Enhancements: ------------- 1. Change: Added compile option to include crc32 function for RH2.4 boot kernels.
Impact: None.
2. Change: Updated TSO firmware to handle ECN.
Impact: None.
v1.3.33 (Dec. 12, 2005) ======================= Enhancements: ------------- 1. Change: Increased firmware hand-shake timeout from 50 msec to 100 msec. Also changed the delay from busy-wait udelay to non-busy-wait msleep.
Impact: None.
2. Change: Added code to read nvram size from shared memory if available. Otherwise, the size will come from the flash table which only gives the smallest size for that type of flash.
Impact: None.
3. Change: Added workaround to issue 2 separate IOs for interrupt acknowledgement. The workaround is only used for INTA (non-MSI) interrupts.
Impact: Slightly higher overhead for INTA interrupts.
v1.3.32 (Dec. 01, 2005) ======================= Enhancements: ------------- 1. Change: Added PHY loopback to the loopback selftest.
2. Change: Enabled customized pre-emphasis and other serdes control settings on 5708S backplane devices. A special PHY register will be programmed according to the NVRAM value.
Impact: None.
3. Change: Modified Makefile to check for the source symbolic link in the kbuild environment.
Impact: None.
4. Change: Improved NAPI poll processing so that all events will be processed before interrupts are re-enabled. This will reduce the number of unnecessary interrupts.
Impact: None.
5. Change: Add support for ETHTOOL_GPERMADDR (from John Linville)
Impact: None.
Fixes: ------ 1. Problem: Bug in irq handler causing extra register read.
Cause: Bug in bnx2_interrupt() reading BNX2_PCICFG_MISC_STATUS register when it is not necessary.
Change: Fixed the logic bug and added prefetch of status block in msi handler.
Impact: None.
v1.3.25 (Aug. 22, 2005) ======================= Fixes: ------ 1. Problem: Ethtool register and memory tests fail on 5708.
Cause: Some code was not merged properly many versions ago.
Change: Merged in properly code.
Impact: None.
Enhancements: ------------- 1. Change: Slow down flash clock speeds
Impact: None.
2. Change: Code re-sync'ed with upstream driver.
Impact: None.
v1.3.24 (Aug. 16, 2005) ======================= Enhancements: ------------- 1. Change: Changed all spin_lock_irqsave locks to spin_lock_bh for better overall system performance. All code requiring spin_lock runs in BH or user context.
Impact: None.
2. Change: Removed atomic operations in the transmit fast path. Code should run a bit faster as atomic operations can be quite slow.
Impact: None.
v1.3.23 (Aug. 10, 2005) ======================= Enhancements: ------------- 1. Change: Added reporting of link speed to firmware.
Impact: None.
2. Change: Added shared memory base look-up.
Impact: None.
3. Change: Possible sparse fixes (from Peter Hagervall) - use C99 struct initializers - make a few arrays and structs static - remove a few uses of literal 0 as NULL pointer - use convenience function instead of cast+dereference in bnx2_ioctl() - remove superfluous casts to u8 * in calls to readl/writel
Impact: None.
4. Change: Updated documentation with the crc32 library requirement and other minor updates.
Impact: None.
v1.3.22 (July 25, 2005) ======================= Enhancements: ------------- 1. Change: Added check for default link speed setting in shared memory. This allows some blade servers that don't support autoneg to default to forced speed to speed up link-up time.
Impact: None.
2. Change: Changed timer code to speed up the timer after serdes autoneg. This speeds up the time for parallel detection when the link partner does not autoneg. After autoneg or parallel detction completes, timer goes back to normal 1 HZ interval. With the new scheme, link should be detected up using parallel detection in less than 0.7 seconds. Autoneg normally completes in 120 msec exchanging base pages and 3 next pages.
Impact: None.
v1.3.21 (July 21, 2005) ======================= Enhancements: ------------- 1. Change: Updated firmware to properly handle TSO packets with ECN bits set.
Impact: None.
2. Change: Updated to latest rxp firmware.
Impact: None.
3. Change: Added check for the 2.5G capability in shared memory.
Impact: None.
4. Change: Expanded nvram support for 5708.
Impact: None.
Fixes: ------ 1. Problem: (CQTO1511) Downing a team of bnx2 adapters causes hang.
Cause: Deadlock when the second adapter's close routine calls flush_scheduled_work() because the linkwatch_event is scheduled on the work queue when the first adapter is closed. The linkwatch_event will try to get the rtnl_lock which is already held by the bnx2_close routine.
Change: Fixed by not calling flush_scheduled_work(). Instead, use a flag to indicate work is pending and wait until the flag is cleared.
Impact: None.
2. Problem: (CQTO1439) ethtool -S on 5708 causes oops.
Cause: A pointer is not initialized if the device is 5708.
Change: Added proper initialization.
Impact: None.
3. Problem: Some error counters are mis-reporting.
Cause: The workaround for the hw errata is not applied properly on the chips with the errata.
Change: Added proper checks for the workaround.
Impact: None.
4. Problem: High BER on 5708 SerDes.
Cause: hardware errata.
Change: Added workaround for 5708 A0 and B0.
Impact: None.
v1.3.19 (May 27, 2005) ======================= Enhancements: ------------- 1. Change: Merged 5708 code with the latest 1.1.19.
Impact: None.
Fixes: ------ 1. Problem: (CQTO1260) 5708S does not link at 1000Mbps when forced. It links at 2500Mbps when connected back-to-back with another 5708S.
Cause: 2.5G bit is still turned on.
Change: Fixed by turning off 2.5G when the speed is forced.
Impact: None.
v1.1.19 (May 26, 2005) ======================= Enhancements: ------------- 1. Change: Made significant changes to merge into the kernel. Among them, consolidate all source files into bnx2.[ch] and bnx2_fw.h, change structure style register definitions to offset based.
Impact: None.
Fixes: ------ 1. Problem: Excessive stack usage.
Cause: Use of local variable array.
Change: Fix excessive stack usage in bnx2_alloc_bad_rbuf() by replacing local variable array with kmalloc array. Also changed function to return error code, and changed some of the callers to check for the return code.
Impact: None.
2. Problem: Bug in receive checksum.
Cause: Software bug.
Change: Fix bug in rx checksum by indicating CHECKSUM_UNNECESSARY only when the hw calculated checksum is 0xffff.
Impact: None.
3. Problem: Excessive busy loop.
Cause: Software bug.
Change: Replaced one excessive udelay of 15msec with msleep since the calling context is always process.
Impact: None.
4. Problem: Need to call flush_scheduled_work() and bnx2_netif_stop().
Cause: Bug in bnx2_close().
Change: Fix bug in bnx2_close() by calling flush_scheduled_work() since we are using a work queue in netdev watchdog. Also added bnx2_netif_stop() call in bnx2_close().
Impact: None.
5. Problem: Some symbols do not have bnx2 prefix and are not static.
Change: Add bnx2_ prefix to some remaining names and mark some remaining names static.
Impact: None.
v1.1.17 (Apr. 7, 2005) ======================= Fixes: ------ 1. Problem: Driver does not compile on 2.6.12 kernel.
Cause: pci_dev->slot_name has been deprecated.
Change: replaced with pci_name.
Impact: None. All kernels supported by bnx2 including 2.4.21-*EL have pci_name defined.
v1.1.16 (Mar. 16, 2005) ======================= Fixes: ------ 1. Problem: (CQTO936 & 1004) Tx carrier and rx_byte_errors reported during normal operations.
Cause: 5706 hardware errata on these 2 statistics counters.
Change: Modified driver to skip these 2 counters.
Impact: These 2 counters will always report 0 and not the true statistics.
v1.1.15 (Mar. 09, 2005) ======================= Enhancements: ------------- 1. Change: Added code to program proper phy settings for jumbo frames on copper and serdes devices.
Impact: None.
2. Change: Changed INTx ISR to handle a valid case where INTx arrives before status block update.
Impact: None.
3. Change: Added a separate ISR for MSI to handle subtle differences between INTx and MSI.
Impact: None.
v1.1.14 (Mar. 03, 2005) ====================== Fixes: ------ 1. Problem: netdump does not work on latest RH3EL errata kernel.
Cause: #define RED_HAT_LINUX_KERNEL removed from kernel include files, causing netdump poll function to be compiled wrong for RH kernels.
Change: Changed Makefile to workaround the problem.
Impact: None.
v1.1.12 (Feb. 25, 2005) ====================== Fixes: ------ 1. Problem: (CQTO1062) Driver allows ethtool to set illegal speed/duplex on fiber cards.
Cause: Missing checks for the case where autoneg is off.
Enhancements: ------------- 1. Change: The code to handle tx queue full condition was redone to properly handle all boundary and race conditions.
Impact: Minimum tx ring size is now MAX_SKB_FRAGS+1.
2. Change: Tx timeout code was changed to work queue context. This allows netif to be shutdown gracefully before chip reset.
Impact: None.
3. Change: Added memory barriers to ISR and NAPI poll for correctness.
Impact: None.
v1.1.8 (Feb. 01, 2005) ====================== Fixes: ------ 1. Problem: (CQTO969) No interupts on a system that does not support MSI.
Cause: On this system, the MSI generated in the MSI test terminates with Master Abort which is a fatal condition for the chip.
Change: A chip reset is added when MSI test fails to bring the chip back to normal operations again (in INTx mode).
Impact: None.
Enhancements: ------------- 1. Change: Removed register 0x84 from the ethtool register test. This is an interrupt control register that should not be touched to prevent unwanted interrupts.
Impact: None.
v1.1.7 (Jan. 28, 2005) ====================== Enhancements: ------------- 1. Change: Added interrupt test when MSI is enabled. If MSI test fails, driver will fallback to INTx mode.
Impact: None.
2. Change: Added test for certain chipsets where MSI is known to fail, and disable MSI unconditionally when such chipsets are found.
Impact: None.
3. Change: Removed support for 1000 Mbps half duplex.
Impact: 1000 Mbps half duplex will no longer work.
v1.1.6 (Jan. 26, 2005) ====================== Fixes: ------ 1. Problem: (CQTO940) MTU size not set properly when device is down.
Cause: bnx2_change_mtu only handled the "up" case.
Change: Simple fix to handle the "down" case as well.
Impact: None
2. Problem: (CQTO926) 5706S does not autoneg properly after the tx cable is pulled.
Cause: If the link partner is autonegotiating, autoneg will fail when the tx cable is pulled. The software will turn off autoneg seeing that the rx cable is still attached with SIGNAL_DETECT. When the tx cable is re-attached, autoneg is still off and the link partner will not establish link.
Change: Added code to poll another PHY register to check if configs are received when autoneg is disabled.
Impact: None
Enhancements: ------------- 1. Change: Added OEM product name strings.
Impact: None.
v1.1.5 (Jan. 25, 2005) ====================== Fixes: ------ 1. Problem: PCI-X bus speed may not be detected correctly by the driver, causing failure because certain register settings are done based on bus speed.
Cause: hardware problem.
Change: Use a different register to detect PCI-X speed.
Impact: None.
v1.1.4 (Jan. 17, 2005) ====================== Fixes: ------ 1. Problem: 5706S does not reliably detect link up or down.
Cause: hardware problem.
Change: Enabled hardware workaround which is effective in A2 and newer chips only.
Impact: None.
v1.1.3 (Jan. 13, 2005) ====================== Fixes: ------ 1. Problem: netdump does not work.
Cause: poll_controller routine does not work in NAPI mode.
Change: Fixed poll_controller routine for NAPI mode.
Impact: None.
Enhancements: ------------- 1. Change: Added the new mmiowb macro which is used mainly in NUMA machines to guarantee PCI ordering.
Impact: None.
2. Change: Added OEM product name strings.
Impact: None.
3. Change: Changed ONE_TDMA workaround on systems with P64H bridge to PING_PONG_DMA on all systems using PCI.
Impact: Better performance and better compatibility on all PCI systems.
4. Change: Added "disable_msi" parameter to allow disabling MSI.
Impact: None.
5. Change: Reduced default tx coalescing parameters for better tx only performance such as ttcp.
Impact: None.
6. Change: Changed NIC detection console message to display more information.
Impact: None.
7. Change: Cleaned up some Linux .h files that are not needed.
Impact: None.
8. Change: Cleaned up the nvram routines.
Impact: None.
v1.1.2 (Nov. 11, 2004) ====================== Fixes: ------ 1. Problem: Unable to load the driver on more than 2 or 3 devices.
Cause: Default register space is too big. System fails to map the register space on the 3rd or 4th device.
Change: Changed driver to map a smaller register space as the higher registers are not needed for standard operations.
Impact: None.
v1.1.1 (Nov. 9, 2004) ====================== Fixes: ------ 1. Problem: (CQTO656) One remaining ethtool parameter can be set out of range.
Cause: Wrong upper bounds in code.
Change: Fixed upper bound.
Impact: None.
1. Problem: 5706 A1 cannot be run on a PCI bus.
Cause: Hardware errata.
Change: Added workaround to detect 5706 A1 on PCI bus and abort.
Impact: Driver will not load 5706 A1 on PCI bus.
v1.1.0 (Oct. 29, 2004) ====================== Fixes: ------ 1. Problem: (CQTO663) No link on fiber NIC set to autoneg when the link partner is set to forced speed.
Cause: No code to handle this case.
Change: Added code to check SIGNAL DETECT when autoneg fails, and turn off autoneg when appropriate. Also added code to force a link down when speed settings are changed.
Impact: None.
2. Problem: (CQTO649) ifconfig up/down can cause system to hang on 2.6 kernels using mmconfig.
Cause: Dummy read in the kernel's pci_mmcfg_write routine may cause system to hang during D3hot -> D0 transition. The PLL may lose lock during the internal D0 transition chip reset and cause the dummy read to hang.
Change: The PLL problem will be fixed in A2. Meanwhile, the driver is changed to go into D3hot only if wol is enabled.
Impact: Minor impact in increased power consumption when the driver is shutdown with wol disabled.
3. Change: Changed to use pci_get_device as pci_find_device will be deprecated soon.
Impact: None.
4. Problem: (CQTO656) Some ethtool parameters can be set out of range.
Cause: Wrong upper bounds in code or documentation.
Change: Fixed code and documentation.
Impact: None.
v1.0.15 (Oct. 15, 2004) ====================== Fixes: ------ 1. Problem: (CQTO644) Data corruption when sending FTP traffic on Dell Precision 530MT.
Cause: PCI bridge errata.
Change: Added code to enable ONE_TDMA workaround when P64H PCI bridge is detected.
Impact: Slower tx performance on systems using P64H bridge.
2. Problem: (CQTO643) Driver allows MTU to be set up to 9004.
Cause: Driver used the wrong upper bound limit.
Change: Fixed the upper bound.
Impact: None.
3. Problem: Driver does not support forced speed on 5706S.
Cause: Missing software logic.
Change: Added code to support forced 1000 Full and Half duplex.
Impact: None.
4. Change: Added workaround to disable PERR generation on 5706 A1 when it is in PCI 64-bit slot.
Impact: None.
v1.0.14 (Oct. 05, 2004) ====================== Fixes: ------ 1. Problem: Driver load/unload hangs on some machines.
Cause: Transition delay required during D3hot -> D0 transition.
Change: Added necessary delay.
Impact: None.
v1.0.12 (Oct. 04, 2004) ====================== Fixes: ------ 1. Problem: (CQTO609) New flow control parameter does not take effect until ifdown/ifup or link down/up.
Cause: New flow control settings are only configured during link up. The driver did not check flow control advertisement changes and therefore no re-negotiation and no link down.
Change: Fixed logic so that link will always go down whenever there is a change a flow control advertisement.
Impact: None.
2. Problem: (CQTO612) VLAN packet reception not working.
Cause: VLAN #define not setup properly.
Change: Fixed #define for VLAN.
Impact: None.
3. Problem: (CQTO628) WoL not functioning correctly.
Cause: Multiple problems in the WoL code.
Change: Fixed by: 1. using sort mode. 2. setting up mac address correctly.
Impact: None.
Enhancements: ------------- 1. Change: Added support for non-dword and non-aligned write access to eeprom, allowing ethtool -E to work.
Impact: None.
v1.0.11 (Sep. 24, 2004) ====================== Fixes: ------ 1. Problem: (CQTO600) Kernel panic when attempting to ftp on Fedora kernel.
Cause: skbuffs are 4-byte aligned on Fedora, causing the rx headers to be misaligned. skbuffs are 16-byte aligned on other standard kernels.
Change: Removed any assumptions about skbuff alignment and added code to align all rx skbuffs to 8-byte boundaries.
Impact: None.
Enhancements: ------------- 1. Change: Added netif_carrier_off to Driver init code so that the initial link state is off.
Impact: None.
v1.0.10 (Sep. 23, 2004) ====================== Fixes: ------ 1. Problem: (CQTO599) Driver fails to compile on RH 3.0ES.
Cause: Bug in poll_bcm5706 where bp is referenced without being defined.
Change: Fixed the minor bug.
Impact: None.
v1.0.9 (Sep. 23, 2004) ====================== Fixes: ------ 1. Problem: Jumbo frames not working reliably.
Cause: Bug in bcm5706_reuse_rx_skb.
Change: Fixed the bug so that the host address is properly copied from one BD to the other.
Impact: None.
Enhancements: ------------- 1. Change: Change the locking scheme for more reliable open/close/ioctl operations where the spinlock is needed.
Impact: None.
2. Change: Added minimum MTU size check for MTU changes.
Impact: None.
v1.0.8 (Sep. 20, 2004) ====================== Fixes: ------ 1. Problem: (CQTO561) Kernel panic on RH30EL after repeated driver load/unload.
Cause: Occasionally, the system is unable to map device registers, causing subsequent register access to fail.
Change: Added check for the return value from ioremap, and exit gracefully if it fails.
Impact: None.
2. Problem: (CQTO574) NETDEV WATCHDOG when running 5706 A1 on PCIX 133MHz slot.
Cause: Some hw register setup required for 133 Mhz.
Change: Added the register setup code.
Impact: None.
3. Problem: (CQTO468) Link does not go down after changing from 10Mbps full (forced) to 10Mbps half (forced) and vice versa when the link partner is also using forced speed.
Cause: Delay not long enough for the link to go down.
Change: Not practical to increase delay as a very long delay is needed for the link to go down. Added code to record the proper link speed and duplex when speed is forced so that ethtool will return the proper speed without the link going down. Note that the link will go down if the link partner has autoneg turned on, ensuring that the link partner will see the link change.
Impact: None.
Enhancements: ------------- 1. Change: Added power management and WOL during device close. This will allow WOL to work after Linux shutdown.
Impact: None.
2. Change: Changed driver so that ethtool will report invalid speed after ifdown.
Impact: None.
3. Change: Updated tpatfw.h
Impact: None.
v1.0.7 (Sep. 14, 2004) ====================== Fixes: ------ 1. Problem: (CQTO523) 5706 A1 hangs after a thousand iterations of load/ifup/ifdown/unload.
Cause: The driver may be servicing an interrupt within 15 msec of chip reset, causing the chip to hang. The problem was aggravated by the timer mode coalescing which created an excessive number of interrupts (hardware problem).
The Driver may also occasionally see the wrong firmware signature that will cause it to abort.
Change: Added synchronization to make sure all pending interrupts are serviced before resetting the chip. Also changed to collect mode coalescing. The firmware signature problem will be fixed in boot code.
Impact: The use of collect mode coalescing may affect performance.
2. Problem: (CQTO558) Unable to load driver on some early 2.6 kernels.
Cause: pci_dma_sync_single_for_* routines not defined on early 2.6 kernels.
Change: Added compatibility defines for earlier kernels.
Change: Added 15 msec delay after chip reset for A1.
Impact: None.
2. Problem: (CQTO468) Link does not go down after changing from 10Mbps full (forced) to 10Mbps half (forced) and vice versa.
Cause: Not enough delay after forcing link down.
Change: Added proper delay for link to go down.
Impact: None.
v1.0.5 (Sep. 02, 2004) ====================== Enhancements: ------------- 1. Change: Added support for ethtool -c, ethtool -C, ethtool -p, and firmware version for ethtool -i.
Impact: None.
Fixes: ------ 1. Problem: 5706C not advertising 1000 half duplex.
Cause: 1000 full duplex overwrites 1000 half duplex.
Change: Fixed the bug so that the 2 bits are or'ed together.
Impact: None.
2. Problem: ethtool -A does not change the flow control settings in all cases.
Cause: Flow control settings not zeroed out before setting new values.
Change: Minor bug fix to zero out the value.
Impact: None.
v1.0.4 (Sep. 02, 2004) ====================== Fixes: ------ 1. Problem: (CQTO504) Multiple NFS transfers will hang some connections.
Cause: Driver discards some receive packets when the error status is non-zero.
Change: Changed the driver to only discard receive packets when the defined error bits in the error status are non-zero.
Impact: None.
v1.0.3 (Sep. 01, 2004) ====================== Enhancements: ------------- 1. Problem: Driver does not support ethtool -t self test and ethtool -S statistics.
Change: Added ethtool self test and statistics.
Impact: None.
Fixes: ------ 1. Problem: (CQTO478) Kernel still panics when transmitting certain files using NFS after many iterations
Cause: Tx DMA stalls on certain UDP packets, causing NFS client to stall.
Change: More fixes made in firmware.
Impact: None.
v1.0.2 (Aug. 26, 2004) ====================== Enhancements: ------------- 1. Problem: Driver does not work on big endian machines.
Change: Ported and tested on SPARC64 machine.
Impact: None.
Fixes: ------ 1. Problem: (CQTO478) Kernel panics when transmitting certain files using NFS.
Cause: Tx DMA stalls on certain UDP packets, causing NFS client to stall.
Change: Fixed in firmware.
Impact: None.
2. Problem: (CQTO469) Unable to modify flow control parameters
Cause: Did not call setup_phy after the parameters are changed.
Change: Added call to setup_phy after parameters are changed.
Impact: None.
3. Problem: (CQTO467) 5706 does not autonegotiate properly after changing settings with ethtool.
Cause: This is an ethtool limitation as the proper advertising parameters are not passed to the driver properly.
Change: Implemented a new scheme to work around the problem to allow users to specify full autoneg, single speed autoneg, and fixed speed.
Impact: None.
4. Problem: ethtool -e does not work.
Cause: Various bugs in the nvram routines.
Change: Fixed and tested nvram routines on little endian and big endian machines.
Impact: None.
v1.0.1 (Aug. 18, 2004) ====================== Fixes: ------ 1. Problem: (CQTO459) 5706 NIC does not get link.
Cause: Boot code timing out in WAIT2 state before driver is ready.
Change: Moved the WAIT2 state ahead in the driver reset sequence as a temporary workaround until it is fixed in boot code.
Impact: None.
2. Problem: (CQTO463) Kernel panics when loading the driver on RH30EL (2.4.21-4.EL)
Cause: Older kernel used different API to allocate and register netdev.
Change: Added older APIs to be used on older kernels.
Firmware Version: 2.01a11 (w/ 5.12a13 Universal Boot Code) (Supported for IBM System x & BladeCenter)
Problems Fixed: - Emulex FC Adapter does not auto-enable SAN boot mode when boot target configuration is made via IFM (BOFM) - Emulex FC configuration utility is in the wrong F1 setup screen - IBM CIOv adapter connected to Brocade 8 Gig FC BladeCenter switch intermittently Links up at less than 8 Gig
Firmware Version 2.01a3 (w/ 5.12a5 Universal Boot Code)
New Features
- Enhanced timeout notifications for processing abort failures.
Problems Fixed:
- All multi-abort I/Os are returned on the same ring from which the ABORT_MXRI command was received. - Changed the TRCV response in the abort state to CMD RJT to enable the TRSP to be processed. - Corrected an issue with blocked TSEND operations. - Corrected a buffer leak issue with RRQ exchanges. - Corrected an issue where the TRCV IOCB was de-queued improperly causing a XFR_RDY flood. - Corrected an issue where the OXID field was not loaded in the XRI_ABORTED IOCB. - Corrected an issue in recognizing whether an EEPROM is present.
Dependencies:
- The corresponding FC Storport device driver and OneCommand Manager Core-kit (management) will need to be installed for this package to function properly.
1. Fixed an issues booting when more than 8 ports are present in the system and fixed an adapter display issue when more than 8 ports are present in the systems 2. Fixed issues installing and booting O/Ss on ports greater than 8. 3. Fixed some boot time screen display issues.
(2) OpenBoot version 3.10a3
This version of OpenBoot supports FC-AL, Private loop, Public loop, and Fabric Point to Point. Also, it supports multi-initiators and multi-LUNs (0 through 4055)
Problems fixed, features added or other updates:
1. Unrelated to IBM
(3) EFIBoot version 4.12a12
The current EFI (Extensible Firmware Interface) Boot provides 64-bit System boot capability through the use of the EFI Shell. This EFIBoot supports EFI Specification 1.10 and EFI Source Code version 1.10.14.61.
Problems fixed, features added or other updates:
1. Only certain OEM HBAs will locate PlatformToDriverConfiguration- ProtocolGuid. Others just skip and continue processing 2. UEFI2.3 Hii Configuration Utility changes 3. HII Browser Save option does not work
1. On a port connected to a 3PAR "MBOD" cage, the test runs IO to the disk drives and issues a "controlport offline" command to offline the port while IO is running.
2. While doing target side cable pull testing with Block Guard (T10) Enabled we observed that adapter is not sending RSCN to AIX.
Dependencies: - The corresponding FC Storport device driver and OneCommand Manager Core-kit (management) will need to be installed for this package to function properly. elx_fw_fc_ibm1212-2_01a11-11_linux_32-64_chg
IBM HBA 6Gb Controllers BIOS/FW/UEFI Update
Controllers Supported: IBM 6Gb SAS HBA (46M0907) IBM 6Gb SSD HBA (68Y7362) IBM 6Gb Performance Optimized HBA (46M0912)
BIOS Changes Enhancement(s): - Core BIOS and BIOS configuration utility will display "FF" as the PCI slot number when proper slot information is not available. - Increased the disk drive spin-up timeout value to accommodate disk drives having larger spin up times.
Fix(es): - Fixed an issue where the adapter order does not get written to NVM and "Updating Adapter Order" displays on every reboot. - Fixed issue where zero sized volume was showing "4. 0 GiB." - Fixed issue where devices, which are not attached to adapter 0, could not be promoted to positions in the boot order when they were selected in the configuration utility. - Fixed an issue where IOS Banner(POST) not showing SAS Discovery error when more than one HBA is connected to the host system. - Fixed an issue where the SMART status is not correctly displayed for bare drives. - Fixed an issue in SAS topology where a RAID disk is highlighted and attempted to set as preferred boot device or alternate boot device, the configuration utility displays a SAVE/DISCARD prompt. - Fixed an issue where the firmware was showing a large elapsed time when a format operation crosses midnight in the system clock.
Firmware Changes Enhancement(s): - Added support for 4GB DIMM - Added the ability for user the enable/disable of the drive write cache during the BIOS start up.
Fix(es): - Fixed an issue where a request sense command, which is executed after a SATA drive is in active state is moved to idle power condition state, has no 'Additional Sense' information set. - Fixed an issue where protected information error "Logical block reference tag check failed" is received when an IR volume is deleted. - Fixed an issue Self-Test Results log page where values for update parameter code, format and linking, and parameter length are not recorded. - Fixed an issue sending vital product data inquiry with vital product data page set as invalid (0xFF) while diagnostic is running on a SATA drive results in segmentation fault 0x1901. - Fixed an issue where input/output is sent to SATA drives before the drives are ready. - Fixed an issue where fault 8405 was being hit while disabling and enabling the phy to which secondary drive is connected with IOs active. - Fixed an issue where subsequent commands sent to a SATA drive fail after a write same command failure until NCQ error handling is triggered or the device is reset. - Fixed an issue where Report Luns command sent to SATA drive fails if the drive is spun down. - Fixed an issue where hotspare does not resynch with second raid volume when both volumes are in degraded state. - Fixed an issue where incorrect sense data is populated when Security Protocol IN/OUT command is sent to supported drive. - Fixed an issue where allocation length for inquiry SCSI Command is not handled Properly during SATA Drive Format. - Fixed an issue during SATA drive format where vital product data inquiry command is executed for SATA drive with invalid page code, and the command is passed with no data instead for failing with CC and sense data. - Fixed an issue where the host will not indicate the existence of the expander attached drives if the direct attached device re-ordering feature is enabled. - Fixed an issue where protected information errors are observed on a RAID 1 volume its BGI is not completed, and its member physical disks are removed and inserted. - Fixed an issue where the TM response was set to failed if the device is missing due to the DO NOT SEND TASK IU flag being enabled. - Fixed an issue where DMD (Device Missing Delay) timer is not set to the default time when the total Report Device Missing Delay is greater than 0x7F seconds. - Fixed an issue where RAID1 volume fails to resynch when a new compatible bare drive is available in the primary drive slot. - Fixed an issue where error handling for errors, that cause the DMA engines to halt, are not handled properly and multithreaded IOs can hang if the same control block is used too soon. - Fixed an issue where a third hotspare is created even if the number of hotspares currently present in the RAID Configuration is 2. - Fixed an issue where inactive foreign volume information cannot be seen in SASBIOS when a native volume is deleted.
UEFI Changes Enhancement(s) - Additional information such as vendor id and product id added to the HII Create Configuration Screen. - Added ability to check to detect missing hotspares to HII. - Modified to be obtained PCI Slot Number information from the system firmware protected information. - Additional character "M" will be displayed as part of the device display identifier of a multipathed disk. - Ability in HII to detect missing hotspares and provide a facility to delete the missing hotspares. - Implemented Configuration Summary and Simple Virtual Disk Creation Support for Unified Configuration Management. - Modified UEFI driver to wait for a maximum of 10 seconds for the controller to become ready, so controller gets discovered in the OS.
Fix(es): - Fixed an issue where Enable/Disable write cache does not work for SAS drives. - Fixed an issue where HII Configuration utility does not allow the user to create a RAID0 with single disk present in the topology. - Fixed an issue in Create Configuration menu where additional drive information is not getting updated appropriately in HELP area. - Modified to prevent Write Cache settings options from appearing for the IR firmware. - Fixed an issue where SATA volume members and hotspare drives are labeled as 'M' in a multipathed environment. - Fixed an issue to prevent HII from allowing the option to enable/disable write cache for SATA drives. - Fixed an issue where multipathing is disabled in Manufacturing page settings, but volume members and hotspare drives are labeled as "M." - UEFI driver modified to check BIOS Options in order to determine if is should manage the controller.
UEFI Driver Fixes: - Fixed a issue where the controller may not be seen in Linux operating systems. - Fixed issue where HII do not report Multi-LUN devices from external RAID enclosure. - Do not show external RAID LUNs in HII RAID configuration page. - Report NVDATA version consistently in Hex or Decimal.
Version 1.10.04 - Suggested ------------- Contains: Controller BIOS Firmware UEFI Driver IBM 6Gb SAS HBA 7.19.00.00 10.00.08.00 7.18.04.02 IBM 6Gb SSD HBA 7.19.00.00 10.00.08.00 7.18.04.02 IBM 6Gb Performance Optimized HBA 7.19.00.00 10.00.08.00 7.18.04.02
- Fixed issue where simple swap configurations with the drives on port 0 will show as bay 4 to 7 and drives on port 1 will show as bay 1 to 3. - Fixed issue where the Build Device Path call to RAID Extended SCSI PassThru Protocol allocates less memory to hold the SAS Device Path + End Device Path casuing a uEFI system hang.
Version 1.10.03 - Suggested ------------- Contains: Controller BIOS Firmware UEFI Driver IBM 6Gb SAS HBA 7.19.00.00 10.00.08.00 7.18.04.01 IBM 6Gb SSD HBA 7.19.00.00 10.00.08.00 7.18.04.01 IBM 6Gb Performance Optimized HBA 7.19.00.00 10.00.08.00 7.18.04.01
- Fixed an issue when a hard drive is removed from a RAID10 an existing drive may go offline. - Change the behavior of the LBPWS bit on the logical block provisioning VPD page for SATA drives. - Fixed issue where the SATL's inquiry VPD page 0 does not show support for block limits and logical block provisioning pages.
Note: HII changes may not affect all controllers. Changes for the controller are based on RAID volume support. - HII fix to return EFI_SUCCESS when RETRIEVE Action is given in HII Callback function - HII fix for Write cache disabling fails for SATA HDD/SSD connected to the IT controller. - HII fix for saved Controller Events Filename. - Behvioral change for the way a volume is created in HII. - HII change to Remove Legacy BIOS Enable/Disable option. - Fixed issue where after creating a volume using SATA SSD the Associated Physical Disks always show up as SATA HDD. - Fixed issue where a hotspare could not be created for any volume in the HII browser. - HII fix for the View Physical Disk Properties form where the Serial number of SATA disks were being displaced with a space. - HII fix for the IR help strings displayed when using an IT controller. - Fixed HII issue where a 'Question value mismatch with Option value' error occurs when saying No for creating RAID10/RAID1E volume. - Fixed HII issue where help is not available when having only RAID0 and RAID1 levels in Create Configuration form. - Fixed a problem where the UEFI driver ATA PassThru Protocol is corrupt while trying to access the Mode field. - HII behavior change for 'Manage Foreign Configurations.' - HII change to provide proper extended RAID Levels in help messages based on supported extended RAID Levels.
Note: The following fixes only effect blade systems that support Bofm. - Fixed boot issues in Windows 2008 where after installation in uEFI the os will not boot due to the BuildDevicePath not allocating enough memory for the DevicePathreturned to caller. - Fixed issue with Bofm configurations where the BOFM supplied addresses for external/switch attach Phys are being assigned to the internal/direct attach Phys. - Fixed a Bofm issue where the SAS WWIDs not reverting to Man Page 5 Default when a Blade is moved back to non-BOFM slot.
Version 1.10.01 - Suggested ------------- Contains: Controller BIOS Firmware UEFI Driver IBM 6Gb SAS HBA 7.19.00.00 10.00.05.00 7.18.01.05 IBM 6Gb SSD HBA 7.19.00.00 10.00.05.00 7.18.01.05 IBM 6Gb Performance Optimized HBA 7.19.00.00 10.00.05.00 7.18.01.05
Enhancements: - Add support for SATA 6GB drives greater then 2.1TB
Fix: - Fixed numerous hang conditions in HII configurator. - Fixed an issue where RAID1 volume turns to failed state after swapping the primary and secondary drives with each other with hot spares present. - Fixed an issue where Multiple simultaneous drive pulls can lead to an adapter reset. - Fixed an issue where Repeated pulls/re-inserts of physical disk may cause 8109 fault. - Fixed an issue where Roaming of > 2TB SATA volume drives from SAS1 to SAS2 cards, shows the volume drives as bare drives. - Fixed an issue where Activating a foreign volume results in 0x830A fault, if a native FAILED volume with no drive exists. - Fixed isuse where: Resync operation for RAID10 volume stalls at 13% complete. - Fixed a fault condition where a fault 8209 (IFAULT_IR_PD_ELM_NOT_FOUND) may occur when deletinga missing hot spare. - Fixed issiue where a SAS Topology Change List Event may return incorrect NumPhys data - Fixed where a controller sending HOLD after SATA device R_ERR of host to device FIS. - Fixed an issue where 6700 Fault ocurrs after getting a SATA overrun. - Fixed an issue where Disabling one phy causes another phy to be reset. - Fixed an issue where INVALID_STATE reply to SCSI IO Unit Control request to remove a device. - Fixed a Fault 1901 running cable breaker with SATA drivers. - Fixed an issue where a DATA_UNDERRUN (0x0045) IOC status is replied during disk IO. - Fixed a firmware issue where a 8111h fault occurs while activating a foreign volume on an adapter which already has failed volume with all the physical disks missing - Fixed an issue where a SATA: NCQ read command is not completed after a data underrun or overrun. - Fixed a problem when an Update to handle large out of range max host credit setting in manufacturing page 9. - Fixed a Fault 7C35 seen during READ DMA passthrough commands to SATA Drive - Fixed where a SATA: Read command completes with good status after data overrun - Fixed a nissue where the View Volume screen needs more than one ESC key press to exit screen if user has entered Manage HS screen at least once. - Fixed an issue where the Verify command in BIOS CU continues for a drive that is pulled out. - Fixed a BIOS issue where the Config page error is seen when changing enclosures in Controller BIOS. - Fixed an issue in CTRL-C where the BIOS is not checking valid bit in fixed format sense data. - Fixed an issue where the BIOS hangs or asserts NMI and reboots while parsing the SMBIOS entries of some servers. - Fixed an issue where the BIOS CU "Format" and "Verify" fails with some HDDs. - Fixed an issue hwere the SAS2BIOS: CU - SAS Topology screen has hightlight defects when PgDown is used. - Fixed the issue When a IO Adress is not assigned for SAS2 adapter, incorrect Fault is displayed. - Fixed an issue when an Attempt to expand the enclosure in a large topology results in display lag on SAS Topology screen. - Fixed an issue where the Display is irregular while scrolling up/down after selecting SATA-SSD drive as Prferred/Alternate boot device.
Version 1.08.01 - Suggested ------------- Contains: Controller BIOS Firmware UEFI Driver IBM 6Gb SAS HBA 7.05.06.00 5.30.03.00 6.00.15.11 IBM 6Gb SSD HBA 7.05.06.00 5.30.03.00 6.00.15.11
Fix: - Addressed problem with event replay code where the enclosurehandle was not being set causing some RHEL 4 device drivers difficultly when looking a the topology.
Version 1.07 - Suggested ------------- Contains: Controller BIOS Firmware UEFI Driver IBM 6Gb SAS HBA 7.05.06.00 5.30.02.00 6.00.15.11 IBM 6Gb SSD HBA 7.05.06.00 5.30.02.00 6.00.15.11
- Fixed an issue where some System X servers will log a NMI and PCI error.
Version 1.06a ------------- Contains: Controller BIOS Firmware UEFI Driver IBM 6Gb SAS HBA 7.05.06.00 5.30.01.00 6.00.15.11 IBM 6Gb SSD HBA 7.05.06.00 5.30.01.00 6.00.15.11
Copyright (c) 2010 - 2013 Broadcom Corporation All rights reserved
commit 17e1a42f2e377ec5809af79eb651d9ed5958fb97 Author: Dan Carpenter Date: Fri Jan 11 09:57:33 2013 +0300
tg3: missing break statement in tg3_get_5720_nvram_info()
There is a missing break statement so FLASH_5762_EEPROM_HD gets treated like FLASH_5762_EEPROM_LD.
Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller
commit b681b65d4fc0cad468c4caad02b0bc93d59b00df Author: Nithin Nayak Sujir Date: Sun Jan 6 12:51:10 2013 +0000
tg3: Remove IS_ENABLED(CONFIG_HWMON) check
Commit de0a41484c47d783dd4d442914815076aa2caac2 added Kconfig logic to select HWMON and removed all the IS_ENABLED(CONFIG_HWMON) checks in the tg3.c file. It missed this one check in the header.
Update version to 3.129 and update copyright year.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 857001f06f6bec17cafd567a03b24968902a4744 Author: Michael Chan Date: Sun Jan 6 12:51:09 2013 +0000
tg3: Improve PCI function number detection.
Simplify the code to detect PCI function number on 5717, 5719, and 5720. If shared memory does not have proper signature, read the function number from register directly.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit c86a8560e2dd800b619056c25b3f0ab8f5c59156 Author: Michael Chan Date: Sun Jan 6 12:51:08 2013 +0000
tg3: Add NVRAM support for 5762
Detect NVRAM types for 5762 and read OTP firmware version.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit c65a17f4f51231f175336048b49b85da7c24fb6c Author: Michael Chan Date: Sun Jan 6 12:51:07 2013 +0000
tg3: Add support for new 5762 ASIC
Add basic support for 5762 which is a 57765_PLUS class device.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit fb4ce8ad8036e6b3d5ab021fd10934b80270cc11 Author: Matt Carlson Date: Mon Dec 3 19:37:00 2012 +0000
tg3: PTP - Enable the timestamping feature in hardware and fill skb tx/rx timestamps
This patch implements the hardware timestamping as described in Documentation/networking/timestamping.txt
Update version to 3.128.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Cc: Richard Cochran Signed-off-by: David S. Miller
commit 0a633ac2284a92f0c65972bd8019146ed7d66159 Author: Matt Carlson Date: Mon Dec 3 19:36:59 2012 +0000
tg3: PTP - Add the hardware timestamp ioctl
This patch implements the SIOCSHWTSTAMP ioctl as described in Documentation/networking/timestamping.txt
[Removed HWTSTAMP_FILTER_ALL handling by returning -ERANGE based on input from Richard Cochran.]
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Cc: Richard Cochran Signed-off-by: David S. Miller
commit 7d41e49ac2a10a269bb50b4b019d75eed16fd55d Author: Matt Carlson Date: Mon Dec 3 19:36:58 2012 +0000
tg3: PTP - Implement the ptp api and ethtool functions
This patch adds the ptp_caps structure, ptp api implementation, reference clock read and register/unregister functions. All the basic clock operations as described in Documentation/ptp/ptp.txt are supported.
Frequency adjustment is performed using hardware with a 24 bit accumulator and a programmable correction value. On each clk, the correction value gets added to the accumulator and when it overflows, the time counter is incremented/decremented and the accumulator reset.
So conversion from ppb to correction value is ppb * (1 << 24) / 1000000000
[Re-organized to put the ptp_clock_info struct declaration in one patch, added ptp_clock_info.name, and added locking to tg3_ptp_adjtime() based on input from Richard Cochran.]
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Cc: Richard Cochran Signed-off-by: David S. Miller
commit be947307b5b61fabbd76194d02617f9d2653176d Author: Matt Carlson Date: Mon Dec 3 19:36:57 2012 +0000
tg3: Fix inconsistent locking for tg3_netif_start().
Every caller holds tp->lock when calling tg3_netif_start() except tg3_io_resume(). Fix it so that it is all consistent. The subsequent PTP patches add tg3_ptp_resume() to tg3_netif_start() and the tp->lock is required.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Acked-by: Richard Cochran Signed-off-by: David S. Miller
commit 0b3ba0553a9ef578dd289d9eed65cbd3b4823211 Author: Michael Chan Date: Wed Nov 14 14:44:29 2012 +0000
tg3: Use tp->rxq_cnt when checking RSS tables.
irq_cnt is no longer reliable since rxq_cnt can be independently configured.
Update version to 3.127.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Prevent spurious tx timeout by setting carrier off before tx disable.
The watchdog will not trigger when the carrier is off when reconfiguring the device. Because carrier state is now off during reset, we need to introduce a link_up flag to keep track of link state during PHY setup.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Set 10_100_ONLY flag for additional 10/100 Mbps devices
- Also refactor the conditional to use the existing tg3_pci_tbl array. - Set flags in the driver_data field of the pci_device_id structure to identify these devices. - Add PCI_DEVICE_SUB() to pci.h to declare PCI 4-part IDs to match these devices.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
instead of making separate tg3_napi_disable() and netif_tx_disable() calls.
Update version to 3.126.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 79d4969535f1d569d7ddf7f58242994e9479a28d Author: Michael Chan Date: Mon Nov 5 14:26:29 2012 +0000
tg3: Support 5717 C0
Add support for 5717C0 which is a 5720A0 with special bonds-out option.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 71690d7d4587fd81e416b89db239e11998a11e18 Author: Michael Chan Date: Tue Oct 2 19:49:44 2012 -0700
commit 71690d7d4587fd81e416b89db239e11998a11e18 Author: Michael Chan Date: Tue Oct 2 19:49:44 2012 -0700
tg3: Fix sparse warnings.
drivers/net/ethernet/broadcom/tg3.c:8121:8: warning: symbol 'i' shadows an earlier one drivers/net/ethernet/broadcom/tg3.c:8003:6: originally declared here drivers/net/ethernet/broadcom/tg3.c:785:5: warning: symbol 'tg3_ape_scratchpad_read' was not declared. Should it be static? drivers/net/ethernet/broadcom/tg3.c:7781:19: warning: Using plain integer as NULL pointer drivers/net/ethernet/broadcom/tg3.c:10231:31: error: bad constant expression
Reported-by: Fengguang Wu Signed-off-by: Michael Chan
tg3: Disable multiple TX rings by default due to hardware flaw
Simple round-robin hardware TX scheduling can cause starvation of TX rings with small packets when other TX rings have large TSO or jumbo packets.
In the simplest case, consider 2 TCP streams running in opposite directions. The TSO TX traffic will hash to one ring and the ACKs for the incoming data on a different TCP connection will hash to a different TX ring. The hardware fetches one complete TSO packet (up to 64K data) before servicing the other TX ring. When it gets to the other TX ring, it will only fetch one packet (64-byte ACK packet in this case). After that, it will switch back to the 1st ring filled with more TSO packets. Because only one ACK can go out roughly every 500 usec in this case, the incoming data rate becomes very low.
Update version to 3.125.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
by introducing tg3_stop() that does the opposite of tg3_start(). This function will be useful when adding the support for changing the numbe of rx and tx rings.
Reviewed-by: Nithin Nayak Sujir Reviewed-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller
by introducing tg3_start() that handles all initialization steps from IRQ allocation. This function will be needed when adding support for changing the number of rx and tx rings.
Reviewed-by: Nithin Nayak Sujir Reviewed-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Introduce separate functions to allocate/free RX/TX rings.
This is preparation work to allow the number of RX and TX rings to be configured separately.
Reviewed-by: Nithin Nayak Sujir Reviewed-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit cac83e53917ebc058066eb98023c11fdaa2262dc Author: Michael Chan Date: Sun Jul 29 19:15:45 2012 +0000
tg3: Update version to 3.124
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 0f566b208b41918053b2e67399673aaec02dde5d Author: Michael Chan Date: Sun Jul 29 19:15:44 2012 +0000
tg3: Fix race condition in tg3_get_stats64()
Spinlock should be taken before checking for tp->hw_stats.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 091f0ea30074bc43f9250961b3247af713024bc6 Author: Michael Chan Date: Sun Jul 29 19:15:43 2012 +0000
tg3: Add New 5719 Read DMA workaround
After Power-on-reset, the 5719's TX DMA length registers may contain uninitialized values and cause TX DMA to stall. Check for invalid values and set a register bit to flush the TX channels. The bit needs to be turned off after the DMA channels have been flushed.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 10ce95d6ef36c65df7dcd3b8fcf86913f8b298bd Author: Michael Chan Date: Sun Jul 29 19:15:42 2012 +0000
tg3: Fix Read DMA workaround for 5719 A0.
The workaround was mis-applied to all 5719 and 5720 chips.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 8151ad576d34a5ec1f1068edf25f3b7c47f6edab Author: Michael Chan Date: Sun Jul 29 19:15:41 2012 +0000
tg3: Request APE_LOCK_PHY before PHY access
to prevent PHY access conflict with APE firmware.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
The driver currently skips setting this flag if the VPD contains the firmware version string. We fix this by separating the probing of NCSI from the reading of the NCSI version string. The APE_HAS_NCSI flag is needed to properly read sensor data.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: add device id of Apple Thunderbolt Ethernet device
The Apple Thunderbolt ethernet device is already listed in the driver, but not hooked up in the MODULE_DEVICE_TABLE(). This fixes that and allows it to work properly.
Signed-off-by: Greg Kroah-Hartman Acked-by: Michael Chan Signed-off-by: David S. Miller
commit b7abee6ef888117f92db370620ebf116a38e3f4d Author: Matt Carlson Date: Thu Jun 7 12:56:54 2012 +0000
tg3: Apply short DMA frag workaround to 5906
5906 devices also need the short DMA fragment workaround. This patch makes the necessary change.
Signed-off-by: Matt Carlson Tested-by: Christian Kujau Signed-off-by: David S. Miller
tg3: Avoid panic from reserved statblk field access
When RSS is enabled, interrupt vector 0 does not receive any rx traffic. The rx producer index fields for vector 0's status block should be considered reserved in this case. This patch changes the code to respect these reserved fields, which avoids a kernel panic when these fields take on non-zero values.
Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller
If port 0 of a 5717 serdes device powers down, it hides the phy from port 1. This patch works around the problem by keeping port 0's phy powered up.
Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 7ae5289017e5ed5514b2603d157fb54c058a3c82 Author: Michael Chan Date: Wed Mar 21 15:38:33 2012 +0000
tg3: Fix RSS ring refill race condition
The RSS feature in tg3 hardware has only one rx producer ring for all RSS rings. NAPI vector 1 is special and handles the refilling of the rx producer ring on behalf of all RSS rings. There is a race condition between these RSS NAPIs and the NAPI[1]. If NAPI[1] finishes checking for refill and then another RSS ring empties the rx producer ring before NAPI[1] exits NAPI, the chip will be completely out of SKBs in the rx producer ring.
We fix this by adding a flag tp->rx_refill and rely on napi_schedule()/ napi_complete() to help synchronize it to close the race condition.
Update driver version to 3.123.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 2fae5e3670a666039e6f2fd63e1a5d320c71b913 Author: Michael Chan Date: Sun Mar 4 14:48:15 2012 +0000
tg3: Fix poor tx performance on 57766 after MTU change
GRC reset causes the read DMA engine to go into a mode that breaks up requests into 256 bytes. A PHY reset is required to bring it back to the normal mode.
Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 6541b806b5f267eda8f127bb7f5fec4e7e4db995 Author: Michael Chan Date: Sun Mar 4 14:48:14 2012 +0000
tg3: Add memory barriers to sync BD data
for weak memory model architectures to ensure that the chip will DMA valid BD data.
Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Reviewed-by: Matt Carlson Signed-off-by: David S. Miller
commit c441b456767357322dbc14b55bdc7da0051d0d98 Author: Michael Chan Date: Sun Mar 4 14:48:13 2012 +0000
tg3: Fix jumbo loopback test on 5719
Loopback on 9K packet fails because the chip has a DMA limit of 4K. The loopback test logic uses a single BD for simplicity. Fix it by reducing the jumbo packet size to the DMA limit.
Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Reviewed-by: Matt Carlson Signed-off-by: David S. Miller
commit 65ec698d1368fc64d0b93fb703783d25ec550577 Author: Matt Carlson Date: Tue Feb 28 23:33:37 2012 +0000
tg3: Fix tg3_get_stats64 for 5700 / 5701 devs
tg3_get_stats64() takes tp->lock when dealing with non-serdes bcm5700 and bcm5701 devices. However, functions that call tg3_halt() have already acquired tp->lock. When tg3_get_stats64() is called in tg3_halt(), deadlock will occur.
This patch fixes the problem by separating the stat gathering code into a new tg3_get_nstats() function. tg3_get_stats64() is recoded to call this function and take tp->lock. The code that takes tp->lock in tg3_calc_crc_errors() has been removed. Function signatures have been cleaned up too.
Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit c71013597d49c7ca8bb5049f0c7873df2643fad5 Author: Matt Carlson Date: Wed Feb 22 12:35:20 2012 +0000
tg3: Clear RECOVERY_PENDING with reset_task_cancel
If an error happens in the tx completion thread, tg3_reset_task will be scheduled and TX_RECOVERY_PENDING will be set. The TX_RECOVERY_PENDING flag causes tg3_poll[_msix] to return early before doing much of its work. Tg3_reset_task() gets canceled when the configuration of the device is changing, which always results in a chip reset. When this happens, the TX_RECOVERY_PENDING flag may be left set, which would unnecessarily hinder tg3_poll from doing work. This patch fixes the problem.
Signed-off-by: Matt Carlson Signed-off-by: David S. Miller
commit 9e056c0320fafc03dc170772d8562e3142ed1778 Author: Matt Carlson Date: Mon Feb 13 15:20:17 2012 +0000
tg3: Update copyright
This patch updates the copyright dates in the tg3 driver.
Signed-off-by: Matt Carlson Signed-off-by: David S. Miller
commit 2855b9fe416e55d01a1946b142d87abd4cceb6ea Author: Matt Carlson Date: Mon Feb 13 15:20:14 2012 +0000
tg3: Remove unused link config code
When tg3 devices are shutdown, the driver uses the TG3_PHYFLG_IS_LOW_POWER flag to enable a static phy configuration. Any attempt to use the link configuration variables is dead code. This patch removes such code.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller
commit 422782249927e887a4c032d1d7e1f59de281ecbb Author: Matt Carlson Date: Mon Feb 13 15:20:11 2012 +0000
tg3: Fix NVRAM page writes on newer devices
On newer devices, the hardware expects the NVRAM address register to be written only once per NVRAM page. To do otherwise causes NVRAM corruption. This patch fixes the problem.
Signed-off-by: Matt Carlson Signed-off-by: David S. Miller
commit 3198e07fd64aa8c3a38dda33bcc0f44265eb581e Author: Matt Carlson Date: Mon Feb 13 15:20:10 2012 +0000
tg3: Fix copper autoneg adv checks
When checking the autoneg advertisements, the driver failed to include the master and master enable bits for the bcm5701. This patch fixes the problem.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller
commit b546e46f5c9f19a921d6f62db80f2e9371bc0558 Author: Matt Carlson Date: Mon Feb 13 15:20:09 2012 +0000
tg3: Fix stats while interface is down
If the tg3 interface is down, the driver will return ethtool stats uninitialized. This patch zeroes out the destination stat buffer in such a case.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller
commit 3906969189a409e590a51b18c86a92d0506c9372 Author: Matt Carlson Date: Mon Feb 13 15:20:08 2012 +0000
tg3: Disable new DMA engine for 57766
A bug was found in the new DMA engine for the 57766. This patch disables it, which causes the device to fallback to the old DMA engine.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller
commit c5665a538da6b887a5096358a12527785506e5ac Author: Matt Carlson Date: Mon Feb 13 10:20:12 2012 +0000
tg3: Move transmit comment to a better location
This patch moves a comment in the transmit path to a better location.
Signed-off-by: Matt Carlson Signed-off-by: David S. Miller
commit a5a1195559f2e20bd975f58e50f53ebe84d5cca6 Author: Eric Dumazet Date: Mon Jan 23 01:22:09 2012 +0000
tg3: fix ipv6 header length computation
tg3_start_xmit() makes the wrong assumption for TSOV6 that skb->head doesnt include any payload data.
if (skb_is_gso_v6(skb)) hdr_len = skb_headlen(skb) - ETH_HLEN;
This is not true anymore after commit f07d960df3 (tcp: avoid frag allocation for small frames)
We should instead use : skb_transport_offset(skb) + tcp_hdrlen(skb)
Its also true for IPv4
Signed-off-by: Eric Dumazet CC: Matt Carlson CC: Michael Chan Signed-off-by: David S. Miller
commit c3b5003b628d8e373262bee42c7260d6a799c73e Author: Matt Carlson Date: Tue Jan 17 15:27:23 2012 +0000
tg3: Fix single-vector MSI-X code
Kdump kernels leave MSI-X interrupts (as setup by the crashed kernel) enabled. However, kdump only enables one CPU in the new environment, thus causing tg3 to abort MSI-X setup. When the driver attempts to enable INTA or MSI interrupt modes on a kdump kernel, interrupt delivery fails.
This patch attempts to workaround the problem by forcing the driver to enable a single MSI-X interrupt. In such a configuration, the device's multivector interrupt mode must be disabled.
Signed-off-by: Matt Carlson Signed-off-by: David S. Miller
commit 3db1cd5c05f35fb43eb134df6f321de4e63141f2 Author: Rusty Russell Date: Mon Dec 19 13:56:45 2011 +0000
net: fix assignment of 0/1 to bool variables.
DaveM said: Please, this kind of stuff rots forever and not using bool properly drives me crazy.
I merely installed coccinelle, read the documentation and took credit.
Signed-off-by: Rusty Russell Signed-off-by: David S. Miller
commit 90415477bf1356f72acc34063ff52441fc10a754 Author: Matt Carlson Date: Fri Dec 16 13:33:23 2011 +0000
tg3: Make the RSS indir tbl admin configurable
This patch adds the ethtool callbacks necessary to change the rss indirection table from userspace. Should the number of interrupts change (e.g. across a close / open call, or through a reset) and any one of the indirection table values fall out-of-range, the driver will reset the indirection table to a default layout.
[Integrated many suggestions made by Ben Hutchings.]
Changes since v3
* Removed TG3_FLAG_SUPPORT_MSIX checks at the start of tg3_get_rxfh_indir() and tg3_set_rxfh_indir().
Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller
commit bcebcc468a6bcd3820fe9ad36b34220563efc93a Author: Matt Carlson Date: Wed Dec 14 11:10:01 2011 +0000
tg3: Break out RSS indir table init and assignment
This patch creates a new device member to hold the RSS indirection table and separates out the code that initializes the table from the code that programs the table into device registers.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller
commit f88788f0da6326cbcaa837e12c8c074027891f07 Author: Matt Carlson Date: Wed Dec 14 11:10:00 2011 +0000
tg3: Use mii_advertise_flowctrl
This patch replaces tg3's internal tg3_advert_flowctrl_1000T function with mii_advertise_flowctrl provided by the kernel headers.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller
commit 55086ad95d740577def0b4e6ecc2c0ae9b0d6dec Author: Matt Carlson Date: Wed Dec 14 11:09:59 2011 +0000
tg3: Add 57766 ASIC rev support
This patch adds support for the 57766 ASIC revision.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller
commit a4cb428d31e11af1662e19c6fab9133c0f7a0eda Author: Matt Carlson Date: Wed Dec 14 11:09:58 2011 +0000
tg3: Make the TX BD DMA limit configurable
The 57766 ASIC rev will impose a new TX BD DMA limit on the driver. This patch prepares for 57766 support by making the tx BD DMA limit tunable.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller
commit 4f272096054b6154e31e850f192eef5782f156c6 Author: Matt Carlson Date: Wed Dec 14 11:09:57 2011 +0000
tg3: Enable EEE support for capable 10/100 devs
There are some devices in the 57765 ASIC rev that are EEE capable. Unfortunately the EEE setup code only gets executed if the device is gigabit capable. This patch fixes the problem.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller
commit efab79c5c3bf830a41b2f737146a9b70c0e13f44 Author: Matt Carlson Date: Thu Dec 8 14:40:18 2011 +0000
tg3: Update version to 3.122
This patch updates the tg3 version to 3.122.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Ben Hutchings Signed-off-by: David S. Miller
commit 4a2db503c57f7223d851dc7ab8cefca614e0d98a Author: Matt Carlson Date: Thu Dec 8 14:40:17 2011 +0000
tg3: Return flowctrl config through ethtool
This patch changes the driver to return the flow control configuration rather than the flow control status through the ETHTOOL_GPAUSEPARAM ioctl.
Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Ben Hutchings Signed-off-by: David S. Miller
commit 859edb2631c31813e63cbff7a81ced4f853b63ed Author: Matt Carlson Date: Thu Dec 8 14:40:16 2011 +0000
tg3: Track LP advertising
This patch adds code to track the autonegotiation advertisements of the link partner and report them through ethtool.
Signed-off-by: Matt Carlson Signed-off-by: Ben Hutchings Reviewed-by: Michael Chan Signed-off-by: David S. Miller