=============================================================================== Emulex 16GB FC Firmware Package ===============================================================================
Firmware Version: 10.2.261.36 Supported On: IBM System x and Flex
Problems Fixed: - Server will halt on black screen during rolling reboot of Windows 2012 x64 uEFI SANboot - Server intermittently fails to boot during rolling SANboot (any OS) - Fixed a boot hang associated with server BIOS change
Incremental Interoperability: - Inventory support for the Flex xHMC (Chassis Hardware Management Console)
Known Issues: - To disable BFS after BOFM or IFM have been enabled, it must be done by setting BFS manually in the EFIBoot config utility or sending a BOFM default command to the port. This is working as expected and we are documenting it here.(159504)
Firmware Version: 1.1.43.21 Supported On: IBM System x
Incremental Interoperability: - None
Problems Fixed: - Server will halt on black screen during UEFI rolling reboot reboot cycle test with 16Gb HBA under Windows 2012 x64 - Allows installing and booting from an MSA2040 array configured in PT-PT direct mode at 16G speed. We're now able to enable Autoscan and install/boot from multiple OSes - Added support to bypass configuring pnp Boot Table in a multipath situation. Fixes Microsoft Windows Server 2008 bug. - Fixed the "Read Rev Failure" issue during POST to accept "0" address value as a valid. - Fixed the wrong VPD HBA model number display on the banner and properties, and change the proper VPD data field size. - Fixed the timeout issue on Flogi when try to select a HBA device without connecting to a target or FC switch. - System will halt during reboot cycle test under Windows 2012 x64 UEFI - Fixing PCI Function Number decoding issue in BOFM code - Boot fails during SLES11 SP3 rolling reboot - Enable BFS and update the NVRAM if BOFM target is available - Add Diagnostic support for UEFI 16Gb FC - Reconnect menu item causes a System BIOS exit request only on AMI core system BIOS - Adding port's protocol name and WWPN in browser help menu
Firmware Version: 1.1.43.12 Supported On: IBM System x and Flex
Incremental Interoperability: - IBM Flex System FC5052 2-port 16Gb FC Adapter - IBM Flex System FC5054 4-port 16Gb FC Adapter - FC support for support for ASU/Config Patterns for Flex and ASU for IBM System x & BladeCenter - Direct PT - PT connections - Extended SCSI Pass Thru Protocol - IBM Tape unit interoperability - see SSIC for more information - SLES 11.3 on IBM System x
Problems Fixed: - Windows 2012 OS will not resume from Sleep mode - Boot Device entries can be lost after exiting from BIOS setup
Firmware Version: 1.1.21.9 Supported On: IBM System x
Incremental Interoperability: - IBM Server machine types. Refer to IBM ServerProven for specifics
Problems Fixed: - Fixed FCP_CONF handling bug - No SRR sent after drop write data frame, I/O fails - Adapter does not invoke recovery after dropped read data frame - I/O throughput performance improvements - Link failover when connected to FC Tape - Cosmetic: Cleaned up miscellaneous error handling messages in debug log files - If a new device comes online and attempts to acquire an AL_PA after the link has already come up, the FC link appears to hang until the cable is pulled - Cleaned up link negotiation at 4GB/8GB/16GB speeds with specific switches
=============================================================================== Emulex FC/FCoE Device Driver for Linux ===============================================================================
Device Driver Version: 10.2.261.0 Supported On: IBM System x, BladeCenter, and Flex
Problems Fixed: - ELS txcmplq list corruption cause crash during error injection
Device Driver Version: 10.0.800.0 Supported On: IBM System x
Problems Fixed: - Low bi-di throughput seen on 1g ports of HS-23 LOM - Multiple performance improvements - Bonding driver takes approx 20 seconds to be ready
Incremental Interoperability: - RHEL 5.10 - RHEL 6.5 - XE-102 and XE-104 ASIC (OCx14xxx) - Support for set and get channels ethtool operation
Known Issues: - SR-IOV is supported with the following Linux distributions: * RHEL 6.4 and above 64-bit with KVM * SLES11 SP3 and above 64-bit with KVM
NOTE: Guest operating system support is dependent on the Emulex driver version installed in the guest.
Device Driver Version: 8.3.7.27 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
Device Driver Version: 8.3.7.18 Supported On: IBM System x and 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
Device Driver Version: 8.3.6.4 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
Device Driver Version: 8.3.5.86 Supported On: IBM System x and 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
Device Driver Version: 8.3.5.74 Supported On: IBM System x, BladeCenter, and 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
Device Driver Version: 8.3.5.66 Supported On: IBM System x, BladeCenter, and 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
=============================================== Change History =============================================== Document Name: Change History Document Status: IBM General Avalibility Document Version: 3.2.4.0.a Latest Driver Version: 3.2.4.0 Document Updated: 06/11/2014 Product: Brocade FC HBA / FCoE CNA
=================================================
Please visit www.brocade.com/hba for full documentation, additional drivers, and management applications.
Version 3.2.4.0 New Features and Feature Enhancement: - Support for RHEL6.5 and RHEL6.4
Version 3.2.3.0 New Features and Feature Enhancement: - Support for patching firmware via boot image - Support for Linux PTP - Support for UEFI Health Check Protocol
Version 3.2.1.0 New Features and Feature Enhancement: - Support for "IBM Flex System FC5024D 4-port 16Gb FC Adapter" PART_NUMBER "95Y2381" - Support for RHEL6.4
Fixes and Enhancements: - Enhanced Linux driver data path to properly handle IPv6 packets. - Enhanced Linux driver to make sure user configured path tov value is persistent and is not changed due to change in dev_loss_tmo.
Version 3.2.0.0 New Features and Feature Enhancement: - For Brocade 8x5/4x5, I/O interrupt latency values are dynamically updated. Changes are effective for all the ports on the given adapter. - Addressed infrequent PSOD in VMware ESX with iSCSI or VLAN configured traffic in DCB enabled network. - Enhanced BR1860 Tape IO performance. - Improved BR1860 initialization on Xen kernel.
Fixes and Enhancements: - BB Credit Recovery - Forward Error Correction (FEC) - Diagnostic Port (D-Port) - LUN Level IO Latency/Stats - UCM (Unified Configuration Manager) - Windows Network Performance and scalability enhancement
Version 3.1.0.0 Key features and enhancements supported for the software release 3.1.0.0 include the following:
New Features: - D-port support between Brocade 16Gb HBAs and Brocade 16Gb FC switch platforms with FOS v7.0.1 and later releases - FC-AL support for direct attach to storage - Ability to assign minimum bandwidth to each vNIC - Queue Depth adjustment - FC QoS set by percentage - Performance enhancements in Ethernet drivers - Technology Preview support of 1860 HBA on Power PC architecture
Fixes or Enhancements: - Resolved an issue where HCM Agent may not start if BR1860 adapter is configured in NIC mode. - Improved stability with Hyper-V and Teaming configurations. - Resolved I/O errors when running traffic with Brocade HBAs(models 415, 425, 815, 825, and 804), if the server’s PCI max read request size is configured to be 2K or greater with PCI Gen2x8.
Version 3.0.0.0 Fixes and Enhancements: - Added support for Brocade 1860 AnyIO Fabric Adapter (User configurable port mode - FC or NIC or CNA) - Added Fibre Channel 16G Support - Enabled Fabric Assigned Address in Fibre Channel Fabric - Added PF based Virtualization – vHBA - Enhanced CLI, HCM GUI and CIM support in inbox drivers. - Added PF based Virtualization - vNIC - Added iSCSI over DCB Support - Added Multiple Tx Priority Queues Support - Added SNMP Support
Version 2.3.0.3 Fixes and Enhancements: - Enhanced SNIA API to report port speed of 4 and 8Gbps in SNIA format. - Enhanced XIV array interoperability that addresses a data integrity corner case. - Enhanced the transmit path handling in Linux Network Driver to avoid a corner case that could lead to transmit path stall. - Enhanced the Linux Adapter Software installer script to update the initrd with the correct name even when there are multiple copies of the OEM specific initrd(s).
Version 2.3.0.0 Enhancements: - Enabled HP DL120 server to support Boot over SAN with two Brocade HBAs installed. - Improved network driver CPU and performance optimization. - Enabled automated target and LUN discovery of enterprise HDS storage once LUN masking has occurred. - Improved Tivoli interoperability to meet device display requirements.
Version 2.2.0.1 Added capability to handle ADISC frames. Unhandled ADISC use can cause SAN boot failure when booting from IBM storage array.
Version 2.2.0.0 Adds support for bootcode updates to Bladecenter 10G Converged Network Adapters
Version 2.1.0.0 Adds support for bootcode updates to 10G Converged Network Adapters
Version 2.0.0.0 Initial release for 4/8G FC HBAs brcd_dd_fc_bfa-3_2_4_0_rhel6_32-64_chg
ServeRAID M and MR10 Series SAS Controller Driver for Linux (also supports MegaRAID 8480 SAS Controller)
Adapters Supported: - ServeRAID M1215 SAS/SATA Controller for IBM System x (46C9114) - ServeRAID M5210e SAS/SATA Controller for IBM System x - ServeRAID M5210 SAS/SATA Controller - ServeRAID M5110 SAS/SATA Controller for IBM System x (81Y4481) - ServeRAID M5110e SAS/SATA Controller for IBM System x - IBM Flex System Storage Expansion Node - ServeRAID M5120 SAS/SATA Controller for IBM System x (81Y4478) - ServeRAID M5016 SAS/SATA Controller for IBM System x (90Y4304) - ServeRAID M5115 SAS/SATA Controller for IBM System x (90Y4390) - ServeRAID M5015 SAS/SATA controller (46M0829) - ServeRAID M5014 SAS/SATA controller (46M0916) - ServeRAID M1115 SAS/SATA Controller for IBM System X (81Y4448) - ServeRAID M1015 SAS/SATA Controller (46M0831) - IBM ServeRAID MR10il SAS controller (44E8767) - IBM ServeRAID MR10is SAS controller (44E8695) - IBM ServeRAID MR10ie (CIOv) SAS controller (46C7167) - IBM ServeRAID MR10i SAS controller (43W4296) - IBM ServeRAID MR10k SAS controller (43W4280) - IBM ServeRAID MR10M SAS controller (43W4339) - MegaRAID 8480 SAS controller (39R8850)
Version 6.602.03.00 - Suggested ------------------- Enhancement: - Add support for ServeRAID M1215 SAS/SATA Controller Fixes: - Fixed an issue where Kernel panic occurs due to timeout of MFI/MPT pass-through command, followed by completion through Interrupt context.
Version 6.600.20.00 - Suggested ------------------- Enhancement(s): - Add Support for ServeRAID M5210 and M5210e SAS/SATA Controller
Version 6.506.00.00 - Suggested ------------------- Enhancement(s): - Added ability for user to configure the maximum number of MSI-X vectors launched for M51XX and M1XX controllers.
Version 00.00.06.19 - Suggested ------------------- Enhancements: - Add support for RedHat Enterprise Linux (RHEL) 6.3.
Fixes: - Fixed an issue where a kernel crash may occur in some cases, when megaraid_sas driver is loaded but controller is not present.
Version 00.00.06.15 - Suggested ------------------- Enhancements: - Add support for fpRead/WriteCapable & fpRead/WriteAcrossStripe - Add support for RedHat Enterprise Linux (RHEL) 6.2.
Fixes: - Mask off MFI_FRAME_IEEE, MFI_FRAME_SGL64, MFI_FRAME_SENSE64 in megasas_mgmt_fw_ioctl() to prevent memory scribble issues from incorrectly built MegaCli frames. - Fixed reglockFlags for degraded RAID 5/6.
Version 00.00.06.12-01 - Non Critical ------------------- Fix: - Packaging fix only to remove "sh: line 1: .conf: command not found" message.
Version 00.00.06.12 - Initial release ------------------- ibm_dd_sraidmr_6_602_03_00-2_rhel6_32-64_chg
======================================================= Change History for Qlogic Converged Network Adapter FC/FCoE Driver ======================================================= Document Name: Change History Document Status: IBM General Avalibility Document Version: 8.3 Latest Package Version: 8.06.00.10 Latest Driver Version: 8.06.00.10 Document Updated: 02/05/2014 Product: Qlogic FC/FCoE Linux Device Driver
Please visit www.qlogic.com/hba for full documentation, additional drivers, and management applications.
Version 8.06.00.10 Fixes and Ehancements:
Software/Driver
* Remove entry in outstanding_cmds array if we fail to abort a request.
* Clear RISC INT reg only for an event and not always while polling.
* Fix undefined behavior in call to snprintf().
* 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_06_00_10_a_rhel6_32-64_chg
=============================================================================== Emulex NIC Device Driver for Linux ===============================================================================
Device Driver Version: 10.2.261.0 Supported On: IBM System x, BladeCenter, and Flex
Problems Fixed: - Multiple performance improvements in virtualized environments (SR-IOV,UMC)
Device Driver Version: 10.0.800.0 Supported On: IBM System x
Problems Fixed: - Low bi-di throughput seen on 1g ports of HS-23 LOM - Multiple performance improvements - Bonding driver takes approx 20 seconds to be ready
Incremental Interoperability: - RHEL 5.10 - RHEL 6.5 - XE-102 and XE-104 ASIC (OCx14xxx) - Support for set and get channels ethtool operation
Known Issues: - SR-IOV is supported with the following Linux distributions: * RHEL 6.4 and above 64-bit with KVM * SLES11 SP3 and above 64-bit with KVM
NOTE: Guest operating system support is dependent on the Emulex driver version installed in the guest.
Device Driver Version: 4.6.267.4 Supported On: IBM System x, BladeCenter, and Flex
Problems Fixed: - Under certain conditions, performance issues may be seen with multi-channel in RHEL6.4 KVM configurations - Under certain conditions, performance issues may be seen with multi-channel in RHEL6.4 SR-IOV configurations - SR-IOV configuration section of the Linux NIC Driver Documentation has been modified to improve clarity
Incremental Interoperability: - S3 Resume on IBM Flex - SLES 11.3 on IBM System x and BladeCenter
Known Issues: - SR-IOV is supported with the following Linux distributions: * RHEL 6.3 and 6.4 64-bit with KVM * SLES11 SP2 and SP3 64-bit with KVM
NOTE: Guest operating system support is dependent on the Emulex driver version installed in the guest.
- Use of SR-IOV with the XEN hypervisor is not supported at this time.
- Use of SR-IOV with the KVM hypervisor requires the use of macvlan network interfaces.
Device Driver Version: 4.6.148.0 Supported On: IBM System x and BladeCenter
Problems Fixed: - Ethernet performance issues in a variety of workloads - VFs are not displayed after driver re-load when is VFs attached to VM - vLAN tagging in Switch Agnostic vNIC mode
Incremental Interoperability: - RHEL 5.9 - RHEL 6.4 - Network performance varies with workload. An ethernet driver tuning script and instructions is now included with the be2net driver. - Switch Independent Mode within hypervisor OS's
Known Issues: - Multi-channel is not supported in RHEL5.x XEN. This is a kernel limitation - Under certain conditions, performance issues may be seen with multi-channel in RHEL6.4 KVM configurations - Under certain conditions, performance issues may be seen with multi-channel in RHEL6.4 SR-IOV configurations - SR-IOV is not supported with RHEL5.x XEN
Device Driver Version: 4.4.180.0 Supported On: IBM Flex
Device Driver Version: 4.2.389.0 Supported On IBM System x and BladeCenter
Problems Fixed: - Unloading the driver hangs the system after running IPv6 traffic - Link status messages cleaned up when in Switch Agnostic mode - Miscellaneous network performance issues to improve throughput - Miscellaneous problems related to SRIOV to improve usability - Ethtool wol command displays wol enabled even when disabled - Ethtool speed reported as 10000Mb/s for disabled devices in Switch Agnostic mode
Incremental Interoperability: - RHEL6.3 GA Kernel - Increase default B/W for SRIOV vf's to 10Gb from 100Mb
Device Driver Version: 4.1.413.0 Supported On: IBM System x and BladeCenter
Problems Fixed: - WOL changes for Linux NIC driver as mentioned in Bug# 24543 - SR IOV UE when attempt to do multiple (3 times) driver load/unload - Speed is 10000Mb/s for Disabled devices in UMC Mode - Incorrect Duplex value is shown for unconnected port of NC552m in Rhel6.1 32bit - SLES 11 SP2 GMC: Enable support for Lnx NIC Driver - SRIOV: When VGT is configured for a VF, ip link show doesn't display it for the VF configured. - RHEL 5.8 GA: Enable support for Lnx NIC Driver - ip link command with vlan = 4095 has toggling effect - ip link command with vlan =0 should remove guest VGT privilege
Device Driver Version: 4.1.334.39 Supported On: IBM System x and BladeCenter
Problems Fixed: - SR-IOV: Can't load be2net driver in a VM after the VM has been rebooted - SR-IOV: Unload PF driver with VF driver loaded causes system instability - SR-IOV: VF MAC always gets Emulex OUI - SR-IOV: Partition the limited per port VLAN entries across VFs and PFs - Non Member VLAN packets not received in interface promiscuous mode in BE3 - Avoid CQ full condition in HW - be2net: use RX_FILTER cmd to program multicast addresses - account for skb allocation failures in ethtool stats - Support 60 second delay to Linux NIC driver to allow FAT dump completion on recovery from EEH - Link status is up [ethtool and OCM] when the bandwidth is assign 0 for UMC configuration - Remove msix module parameter - Use V1 version of COMMON_NTWK_LINK_STATUS_QUERY for Lancer. - Emulex: Ethtool failing to update FW - Emulex: Panic in be2net driver in SLES11-SP2-B7 on adapter - TCP ACKs from different connections are getting received in single queue - Multicast filtering feature not working on PPC - Exit of mcast promiscous mode not working - VLAN promiscous mode cannot be set on Lancer - Can't communicate after changing MAC address via VLAN interface - Improper memory accounting in received packets - WOL changes for Linux NIC driver as mentioned in bug - Transparent VLAN tagging feature not working in SR-IOV
=============================================================================== Emulex iSCSI Device Driver for Linux ===============================================================================
Device Driver Version: 10.2.261.1 Supported On: IBM System x, BladeCenter, and Flex
Problems Fixed: - Driver memory leak resulting in "DMA: Out of SW-IOMMU space" errors in dmesg file output.
Device Driver Version: 10.0.803.21 Supported On: IBM System x
Problems Fixed: - Unable to OEMSEAddTarget or OEMSEDiscoverTaget successfully and get entries in mili2d.log - Emulex drivers are not working on RHEL5 and RHEL6 errata kernel updates - IO Read/Write almost halts with 'DMA: Out of SW IOMMU space' messages while running iSCSI Multipath I/O
Device Driver Version: 4.4.175.0 Supported On: IBM Flex
Problems Fixed: - Cleaned up a cosmetic problem with warning messages during driver compile from source - System crashes when we run simultaneous IO to 6 vNIC’s with iSCSI IO - Linux kdump kernel crashes during shutdown after capturing dump, if be1iscsi driver running
Device Driver Version: 4.1.402.0 Supported On: IBM System x and BladeCenter
Problems Fixed: - LUN is not getting detected for OEM CNA in SLES 11 SP2 64 bit OS - ioctl semaphore deadlock when running load/unload loop with target - SLES 11 SP2 GMC: Enable support for Lnx iSCSI Driver - RHEL 5.8 GA: Enable support for Lnx iSCSI Driver
Device Driver Version 4.1.334.39 Supported On: IBM System x and BladeCenter
Problems Fixed: - Emulex: Warning messages seen while building Emulex drivers on RHEL platform - Unable to load be1iscsi driver during iSCSI boot OS install - Modprobe be1iscsi hangs when system with max targets login - be1iscsi unload hangs the system - fw rebooted on 1st mbox cmd after driver load > unload > load - Failed to initialize iscsi driver - need to define DMA_32BIT_MASK / DMA_64BIT_MASK in Linux kernel 3.x.x
Adapters Systems: IBM Flex System x880 X6 Compute Node
NOTE TO SERVICE - Reference RETAIN #N/A
Version 24.2.1-0039 ------------------- Fixes: - Fixed an issue where system would not boot into legacy mode. - Fixed an issue where default setting of VD doesn't reflect MFC's setting. - Fixed an issue where ‘Cli show all’ command fails with error msg ‘Error! App exec failed in FW PCLIError! Internal.’ - Fixed an where ServeRAID M5210 showed the wrong slot numbers in both MR and iMR, in both HII and MSM.
Version 24.2.1-0027 ------------------- -Initial release ibm_fw_sraidmr_1210e-24_2_1-0039_linux_32-64_chg
Change History - 3.11af
Package Version 3.11af.c Only change with ".c" is with file naming. 05/13/2014
Change History - 3.11af.a 03/30/2014 ======================================================================================== Firmware
* Added check invalid LUN when configuring boot target (ER105664). * Added support for P3P * Removed Execution Throttle Option From CTRL_Q
Previous versions:
Version : 7.01.00 Date : 01/09/2014
Version : 7.00.00 Date : 07/22/2013
Version : 5.10.00 Date : 06/12/2013 * Added check invalid LUN when configuring boot target * Added support for P3P * Removed Execution Throttle Option From CTRL_Q * Fix issue that cause external looback to fail (er71773). Added support for Hilda
Version : 5.07.02 Date : 10/23/2012 * Fix Task Management IOCB type 14h completion with dma error status. * Fix an issue where HBA would constantly ISP reset if switch in transparent mode but no upstream switch
Version : 5.07.00 Date : 5/17/2012 * New Feature: Firmware sends Report ID Acquired IOCB Type 32h upon Flogi failure. * New Feature: Firmware reports NportHandle, WWPN and WWNN of remote port in Report ID Acquired IOCB Type 32h for N2N connection topology. * Fix firmware not logging out SNS port (PID=0xFFFFFc) while processing implicit Logout all request * EP Device Only: Fix advertised BB_Credits not increasing with additional receive credits option set. * Target Mode: Fix firmware fatal error seen while aborting an exchange. * Fix firmware failing request to disable multiple virtual ports using iocb type 30h. * Fix Loop port bypass (40h) and loop port enable (41h) mailbox commands not working correctly. * FC-VI only: Fix disconnect request iocb timeout. * T10 Only: Fix firmware reporting DIF errors while running multi sequence, T10-DIF enabled IO’s with protection mode set to DIF- Remove. * Fix firmware fatal error while running T10-DIF enabled IO’s with protection mode set to DIF-Remove. * Fix incorrect reporting of discarded and dropped frame count in mailbox command 6Dh. * Add support for programming page and payload length fields in TPRLO response frame.
Version : 5.06.05 Date : 4/26/2012 --Initial Release
Version : 2.14 Date : 05/07/2013 *Added check invalid LUN when configuring boot target (ER105664). *Added support for P3P *Fix issue that cause external looback to fail (er71773)
Version : 2.13 Date : 7/31/2012 *Added code code to check for non-EDC HBA's in CTRL-Q utility. *Fixed bug in EDC update code
Version : 3.20 Date : 05/07/2013 * ER102374: Display Product-ID string in VPD area during initial selection. * ER94574: Fix stack bug in .adatper-info, found in blade hotplug test by efcode
Version : 3.19 Date : 7/31/2012 * Add check for MBAR2 (Multi-Queue memory) and create reg property if it exists. * Make validate-nvram silent. Print messages only if debug-flash?(x1000) is set. * Added dynamic sizing of the BAR registers at probe-time for reg property. * Remove dis-exp (disable-exprom) in ena-reg-acc. Causes problem on SPARC T3-1B. * Fix bugs in search of Card-Type-Lists for SSDID when flashing w/find-ilt-code. * Change oem property to QLogic or Oracle, and manufacture property to QLogic. * Added SSDID check to set-edc-config. * Stripped ISP2400 & SUN specific code using #ifdefs to reduce IBM size by .5KB * Added EDC FW area in Flash and added write-sfp and read-sfp mailbox commands * Added set-edc-config, edc-update?, and edc-present! words to nvram.fth.(IBM) * Added check-edc-load and load-edc-fw words to init-isp.fth..
tg3: Poll cpmu link state on APE + ASF enabled devices
On ASF enabled devices where the mgmt firmware runs on the application processing engine, there is a race between the tg3 driver processing a link change event and the ASF firmware clearing the link changed bit in the EMAC status register. This leads to link notifications to the driver sometimes getting lost.
Poll the CPMU link state as a backup for the normal interrupt path update if ASF is enabled.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Set the MAC clock to the fastest speed during boot code load
On the 5717, 5718 and 5719 devices, the bootcode runs slower when any port doesn't have a link due to clock speed slowing down as part of the link-aware feature. This leads to the driver timing out waiting for the bootcode signature.
This patch overrides the clock policy to the highest frequency just before reset and restores it after the bootcode is up.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit e565eec31d9d5b1024311564f6536162df951de4 Author: Michael Chan Date: Fri Jan 3 10:09:12 2014 -0800
tg3: Add unicast filtering support.
Up to 3 additional unicast addresses can be added to the perfect match filter table.
Signed-off-by: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
commit f022ae62dd84425192b27100dcf907019f654d02 Author: Michael Chan Date: Fri Jan 3 10:09:11 2014 -0800
tg3: Refactor __tg3_set_mac_addr()
so that individual MAC address filter entries can be set.
Signed-off-by: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
The current driver assumes that an skb fragment can only be upto jumbo size. Presumably this was a fast-path optimization. This assumption is no longer true as fragments can be upto 32k.
v2: Remove unnecessary parantheses per Eric Dumazet.
Cc: stable@vger.kernel.org Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Initialize REG_BASE_ADDR at PCI config offset 120 to 0
The new tg3 driver leaves REG_BASE_ADDR (PCI config offset 120) uninitialized. From power on reset this register may have garbage in it. The Register Base Address register defines the device local address of a register. The data pointed to by this location is read or written using the Register Data register (PCI config offset 128). When REG_BASE_ADDR has garbage any read or write of Register Data Register (PCI 128) will cause the PCI bus to lock up. The TCO watchdog will fire and bring down the system.
Signed-off-by: Nat Gurumoorthy Acked-by: Michael Chan Signed-off-by: David S. Miller
tg3: Expand multicast drop counter miscounting fix to 5762
commit 4d95847381228639844c7197deb8b2211274ef22 - "tg3: Workaround rx_discards stat bug", added a workaround for miscounted statistics for multicast packets. This fix needs to be applied to the 5762.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Add flag to disable 1G Half Duplex advertisement
Some link partners have issues if the non-standard 1G half duplex is advertised. This patch adds support for an nvram setting to disable the advertisement.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
rxbds_empty is an informational statistic signifying that a ring full condition was observed. It does not mean an overflow has occurred.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 8496e85c20e7836b3dec97780e40f420a3ae2801 Author: Rafael J. Wysocki Date: Sun Dec 1 02:34:37 2013 +0100
PCI / tg3: Give up chip reset and carrier loss handling if PCI device is not present
Modify tg3_chip_reset() and tg3_close() to check if the PCI network adapter device is accessible at all in order to skip poking it or trying to handle a carrier loss in vain when that's not the case. Introduce a special PCI helper function pci_device_is_present() for this purpose.
Of course, this uncovers the lack of the appropriate RTNL locking in tg3_suspend() and tg3_resume(), so add that locking in there too.
These changes prevent tg3 from burning a CPU at 100% load level for solid several seconds after the Thunderbolt link is disconnected from a Matrox DS1 docking station.
Signed-off-by: Rafael J. Wysocki Acked-by: Michael Chan Signed-off-by: David S. Miller
commit 7260899bde50cbe84bdf0a15b5642e2c3b03db32 Author: Ben Hutchings Date: Mon Nov 18 22:59:43 2013 +0000
tg3: Implement the SIOCGHWTSTAMP ioctl
While we're doing this, fix the error code for SIOCSHWTSTAMP ioctl on non-timestamping hardware.
Compile-tested only.
Signed-off-by: Ben Hutchings
commit 58b187c68d91b54b82f6fd267ee3346ed8770655 Author: Ben Hutchings Date: Thu Nov 14 00:40:56 2013 +0000
tg3: Validate hwtstamp_config completely before applying it
tg3_hwtstamp_ioctl() should validate all fields of hwtstamp_config before making any changes. Currently it sets the TX configuration before validating the rx_filter field.
Compile-tested only.
Signed-off-by: Ben Hutchings Acked-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
commit 85aec73d595b8847f9c4ea571deb127913f0d508 Author: Ivan Vecera Date: Wed Nov 6 14:02:36 2013 +0100
tg3: avoid double-freeing of rx data memory
If build_skb fails the memory associated with the ring buffer is freed but the ri->data member is not zeroed in this case. This causes a double-free of this memory in tg3_free_rings->... path. The patch moves this block after setting ri->data to NULL. It would be nice to fix this bug also in stable >= v3.4 trees.
Cc: Nithin Nayak Sujir Cc: Michael Chan Signed-off-by: Ivan Vecera Acked-by: Michael Chan Signed-off-by: David S. Miller
commit d458cdf712e0c671e8e819abb16ecd6e44f9daec Author: Joe Perches Date: Tue Oct 1 19:04:40 2013 -0700
net:drivers/net: Miscellaneous conversions to ETH_ALEN
Convert the memset/memcpy uses of 6 to ETH_ALEN where appropriate.
Also convert some struct definitions and u8 array declarations of [6] to ETH_ALEN.
Signed-off-by: Joe Perches Acked-by: Arend van Spriel Signed-off-by: David S. Miller
tg3: add support a phy at an address different than 01
When phylib was in use tg3 only searched at address 01 on the mdio bus and did not work with any other address. On the BCM4705 SoCs the switch is connected as a PHY behind the MAC driven by tg3 and it is at PHY address 30 in most cases. This is a preparation patch to allow support for such switches.
phy_addr is set to TG3_PHY_MII_ADDR for all devices, which are using phylib, so this should not change any behavior.
Signed-off-by: Hauke Mehrtens Acked-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
Commit 989038e217e94161862a959e82f9a1ecf8dda152 ("tg3: Don't turn off led on 5719 serdes port 0") added code to skip turning led off on port 0 of the 5719 since it powered down other ports. This workaround needs to be enabled on the 5720 as well.
Cc: stable@vger.kernel.org Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit ede23fa8161c1a04aa1b3bf5447812ca14b3fef1 Author: Joe Perches Date: Mon Aug 26 22:45:23 2013 -0700
drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent
__GFP_ZERO is an uncommon flag and perhaps is better not used. static inline dma_zalloc_coherent exists so convert the uses of dma_alloc_coherent with __GFP_ZERO to the more common kernel style with zalloc.
Remove memset from the static inline dma_zalloc_coherent and add just one use of __GFP_ZERO instead.
Trivially reduces the size of the existing uses of dma_zalloc_coherent.
Realign arguments as appropriate.
Signed-off-by: Joe Perches Acked-by: Neil Horman Acked-by: Jesse Brandeburg Acked-by: Jeff Kirsher Signed-off-by: David S. Miller
While EEH error happens, we might not have network device instance (struct net_device) yet. So we can't access the instance safely and check its link state, which causes kernel crash. The patch fixes it.
EEH: Frozen PE#2 on PHB#3 detected EEH: This PCI device has failed 1 times in the last hour EEH: Notify device drivers to shutdown (NULL net_device): PCI I/O error detected Unable to handle kernel paging request for data at address 0x00000048 Faulting instruction address: 0xd00000001c9387a8 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=1024 NUMA PowerNV : NIP [d00000001c9387a8] .tg3_io_error_detected+0x78/0x2a0 [tg3] LR [d00000001c9387a4] .tg3_io_error_detected+0x74/0x2a0 [tg3] Call Trace: [c000003f93a0f960] [d00000001c9387a4] .tg3_io_error_detected+0x74/0x2a0 [tg3] [c000003f93a0fa30] [c00000000003844c] .eeh_report_error+0xac/0x120 [c000003f93a0fac0] [c0000000000371bc] .eeh_pe_dev_traverse+0x8c/0x150 [c000003f93a0fb60] [c000000000038858] .eeh_handle_normal_event+0x128/0x3d0 [c000003f93a0fbf0] [c000000000038db8] .eeh_handle_event+0x2b8/0x2c0 [c000003f93a0fc90] [c000000000038e80] .eeh_event_handler+0xc0/0x170 [c000003f93a0fd30] [c0000000000cc000] .kthread+0xf0/0x100 [c000003f93a0fe30] [c00000000000a0dc] .ret_from_kernel_thread+0x5c/0x80
Reported-by: Wei Yang Signed-off-by: Gavin Shan Acked-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
Turning off led on port 0 of the 5719 serdes causes all other ports to lose power and stop functioning. Add tg3_phy_led_bug() function to check for this condition. We use a switch() in tg3_phy_led_bug() for consistency with the tg3_phy_power_bug() function.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 6829309926b90c4c32d1f4cafeb600cd34a721e3 Author: Daniel Borkmann Date: Tue Aug 13 11:45:13 2013 -0700
net: tg3: fix NULL pointer dereference in tg3_io_error_detected and tg3_io_slot_reset
Commit d8af4dfd8 ("net/tg3: Fix kernel crash") introduced a possible NULL pointer dereference in tg3 driver when !netdev || !netif_running(netdev) condition is met and netdev is NULL. Then, the jump to the 'done' label calls dev_close() with a netdevice that is NULL. Therefore, only call dev_close() when we have a netdevice, but one that is not running.
[ Add the same checks in tg3_io_slot_reset() per Gavin Shan - by Nithin Nayak Sujir ]
Reported-by: Dave Jones Signed-off-by: Daniel Borkmann Cc: Gavin Shan Cc: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
The 5762 devices sometimes incorrectly treat udp fragments as RMCP packets and route to the APE. This patch sets the RX_MODE_IPV4_FRAG_FIX bit for these devices which enables the proper behaviour.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
The PTP_CAPABLE tg3 devices have a gpio output that is toggled when the free running counter matches a watchdog value. This patch adds support to set the watchdog and enable this feature.
Since the output is controlled via bits in the EAV_REF_CLCK_CTL register, we have to read-modify-write it when we stop/resume.
Cc: Richard Cochran Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Allow NVRAM programming when interface is down
Previously, when the interface was brought down, the driver would set the power state to D3hot. In D3hot, we don't have access to the NVRAM. This patch removes the call to set the power state to PCI_D3hot in close. A following patch will implement the shutdown handler to properly set the D3hot state when the system is going down.
Doing the above means that the TG3_PHYFLG_IS_LOW_POWER should not be checked to validate access to the NVRAM.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
During probe, the driver is incorrectly switching the power to Vaux on the 5717 and later devices. At this point, we are in D0 state and drawing maximum power. We also definitely have Vmain available. It doesn't make sense to switch to Vaux since it has a lesser maximum power draw and we might go over the limit. On a new system, we observe that not all ports are recognized in some of the slots with this call in place.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
When the EEH error is the result of a fenced host bridge, MMIO accesses can be very slow (milliseconds) to timeout and return all 1's, thus causing the driver various timeout loops to take way too long and trigger soft-lockup warnings (in addition to taking minutes to recover).
It might be worthwhile to check if for any of these cases, ffffffff is a valid possible value, and if not, bail early since that means the HW is either gone or isolated. In the meantime, checking that the PCI channel is offline would be workaround of the problem.
Cc: # v3.0+ Signed-off-by: Gavin Shan Signed-off-by: David S. Miller
commit 72bb72b0d98847d22c6fae4e170121f3640f0f60 Author: Michael Chan Date: Mon Jun 17 13:47:25 2013 -0700
tg3: Prevent system hang during repeated EEH errors.
The current tg3 code assumes the pci_error_handlers to be always called in sequence. In particular, during ->error_detected(), NAPI is disabled and the device is shutdown. The device is later reset and NAPI re-enabled in ->slot_reset() and ->resume().
In EEH, if more than 6 errors are detected in a hour, only ->error_detected() will be called. This will leave the driver in an inconsistent state as NAPI is disabled but netif_running state is still true. When the device is later closed, we'll try to disable NAPI again and it will loop forever.
We fix this by closing the device if we encounter any error conditions during the normal sequence of the pci_error_handlers.
v2: Remove the changes in tg3_io_resume() based on Benjamin Poirier's feedback.
Signed-off-by: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
Some systems that don't need wake-on-lan may choose to power down the chip on system standby. Upon resume, the power on causes the boot code to startup and initialize the hardware. On one new platform, this is causing the device to go into a bad state due to a race between the driver and boot code, once every several hundred resumes. The same race exists on open since we come up from a power on.
This patch adds a wait for boot code signature at the beginning of tg3_init_hw() which is common to both cases. If there has not been a power-off or the boot code has already completed, the signature will be present and poll_fw() returns immediately. Also return immediately if the device does not have firmware.
Cc: stable@vger.kernel.org Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
Commit 091f0ea30074bc43f9250961b3247af713024bc6 "tg3: Add New 5719 Read DMA workaround" added a workaround for TX DMA stall on the 5719. This workaround needs to be applied to the 5720 as well.
Cc: stable@vger.kernel.org Reported-by: Roland Dreier Tested-by: Roland Dreier Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
The current code calls tg3_set_bdinfo() separately on napi0, followed by a loop that does napi1+. Simplify it by setting bdinfo in the loop for all napi contexts.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Split APE driver state change out of boot reset signature update
Unlike the boot signature that needs to be set before every reset, the ape state only needs to be updated to tell the firmware that the driver is now taking/releasing control of the hardware. Move the calls to tg3_ape_driver_state_change() to better, more appropriate places.
Also, the firmware does not distinguish between SUSPEND and START states anymore. Remove the SUSPEND case in the switch.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
tg3: Ensure boot code has completed initialization before accessing hardware
After resetting the device, the driver waits for a signature to be updated to know that firmware has completed initialization. However, the call to tg3_poll_fw() is being done too late and we're writing to the GRC_MODE register before it has completely initialized, causing contention with firmware. This logic has existed since day one but is causing PCIE link to go down randomly at startup on one platform once every few hundred reboots.
Move the tg3_poll_fw() up to before we write to the GRC_MODE register after reset.
Signed-off-by: Nithin Nayak Sujir Signed-off-by: Michael Chan Signed-off-by: David S. Miller
commit 1cbf9eb85a6601b58f01a71ff10299d2bf5d3365 Author: Nithin Sujir Date: Sat May 18 06:26:55 2013 +0000
tg3: Implement set/get_eee handlers
Reviewed-by: Ben Li Signed-off-by: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
commit 5b6c273ad6c3886f30c7c5df7009e489043c59f3 Author: Nithin Sujir Date: Sat May 18 06:26:54 2013 +0000
tg3: Simplify tg3_phy_eee_config_ok() by reusing tg3_eee_pull_config()
eee_config_ok() was checking only for mismatch in advertised settings. This patch expands the scope of eee_config_ok() to check for mismatch in the other eee settings. On mismatch we will require a call to tg3_setup_eee() to push the configured settings to the hardware.
Reviewed-by: Ben Li Signed-off-by: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
commit 400dfbaa8d444a29056b051a3d7082dc611e3b12 Author: Nithin Sujir Date: Sat May 18 06:26:53 2013 +0000
tg3: Add tg3_eee_pull_config() function
Add tg3_eee_pull_config() to pull the settings from the hardware and populate the eee structure.
If Link Flap Avoidance is enabled, we pull the eee settings from the hw so as not to cause a phy reset on eee config mismatch later. This requires moving down tg3_setup_eee() below the tg3_pull_config() to not trample existing settings.
Reviewed-by: Ben Li Signed-off-by: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
commit 9e2ecbeb250dee67f4bd06a18637c120b48a4865 Author: Nithin Sujir Date: Sat May 18 06:26:52 2013 +0000
tg3: Add ethtool_eee struct and tg3_setup_eee()
Add an eee structure and update it with eee settings. This will be used for set/get_eee operations. Add common function tg3_setup_eee() that will be used in the subsequent patches.
Reviewed-by: Ben Li Signed-off-by: Michael Chan Signed-off-by: Nithin Nayak Sujir Signed-off-by: David S. Miller
The commit f233a976ad15c3b8c54c0157f3c41d23f7514279 (tg3: shows HW time stamping support only if ptp_capable is present) didn't append hardware flags correctly. This patch fixes it.
Signed-off-by: Flavio Leitner Signed-off-by: David S. Miller
net: vlan: add protocol argument to packet tagging functions
Add a protocol argument to the VLAN packet tagging functions. In case of HW tagging, we need that protocol available in the ndo_start_xmit functions, so it is stored in a new field in the skb. The new field fits into a hole (on 64 bit) and doesn't increase the sks's size.
Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller
net: vlan: rename NETIF_F_HW_VLAN_* feature flags to NETIF_F_HW_VLAN_CTAG_*
Rename the hardware VLAN acceleration features to include "CTAG" to indicate that they only support CTAGs. Follow up patches will introduce 802.1ad server provider tagging (STAGs) and require the distinction for hardware not supporting acclerating both.
Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller
tg3: Reset the phy to allow modified EEE settings to take effect
When LFA is enabled, we don't reset the phy. But EEE settings changes don't take effect until the phy is reset. Add a phy reset when we detect a changed EEE setting.