QLogic Driver Release Notes QLogic Corporation. All rights reserved. Table of Contents 1. Change History 2. Known Issues 3. Notices 4. Contacting Support 1. Changes History * 8.07.00.47.xx.y-k RHEL7, RHEL6, SLES12, SLES12.2, SLES11.3, XS65, XS70: * qla2xxx: Simplify sp->done() and sp->free() interfaces. * qla2xxx: Replace sp->fcport->vha context with simpler sp->vha. * qla2xxx: Use sp->vha context in function qla2x00_rel_sp(). * qla2xxx: Use sp->vha context in calls to sp->free(). * qla2xxx: Use sp->vha context in calls to sp->done(). * qla2xxx: Add vha field of appropriate type to struct srb. * 8.07.00.46.xx.y-k RHEL7, RHEL6, SLES12, SLES12.2, SLES11.3, XS65, XS70: * qla2xxx: Simplify printk format for portid's. * qla2xxx: Minor corrections to indent/whitespace. * qla2xxx: Minor corrections and missing additions. * qla2xxx: Allow port resync after isp reset. * 8.07.00.45.xx.y-k RHEL7, RHEL6, SLES12, SLES12.2, SLES11.3, XS65, XS70: * qla2xxx: Add check for different type of RSCN. * qla2xxx: Remove temporary fix PRE_UNLOADING bit. * qla2xxx: Schedule board_disable only once. * qla2xxx: Fix improper fcport_count accounting. * qla2xxx: Fix slow mem alloc behind lock. * qla2xxx: Fix deadlock. * qla2xxx: Tweak loop up. * qla2xxx: Relogin retweak. * qla2xxx: Fix sess deletion deadlock. * qla2xxx: Add wait for session remove on unload. * qla2xxx: Move login/logout decision making out of Full Fabric Scan. * qla2xxx: Add discovery event handling. * qla2xxx: Add async session creation. * qla2xxx: Add async sess update. * qla2xxx: Add async Get Port Database MB. * qla2xxx: Add async Get Name List MB. * qla2xxx: Add async GPNID. * qla2xxx: Add async GPSC. * qla2xxx: Add async GID_PN. * qla2xxx: Add support routines to search for fcport. * qla2xxx: Consolidate argument list for CTPassthru. * qla2xxx: Commonize alloc & free of fcport struct. * qla2xxx: Fix pass wrong argument in sp done. * 8.07.00.43.xx.y-k RHEL7, RHEL6, SLES12, SLES12.2, SLES11.3, XS65, XS70: * qla2xxx: Provide separate RDP enable (ql2xrdpenable). * extras: Fix hash-bang (#!) line to specify /bin/bash in build.sh. * 8.07.00.42.xx.y-k RHEL7, RHEL6, SLES12, SLES12.2, SLES11.3, XS65, XS70: * qla2xxx: Remove all DIX-0 references. * 8.07.00.41.xx.y-k RHEL7, RHEL6, SLES12, SLES12.2, SLES11.3, XS65, XS70: * qla2xxx: Disable setting module parameter ql2xenabledif. * qla2xxx: Correct supported FC speed for sysfs. * qla2xxx: Correct supported FC speed for FDMI/RDP. * 8.07.00.40.xx.y-k RHEL7, RHEL6, SLES12, SLES12.2, SLES11.3, XS65, XS70: * qla2xxx: Correct RDP Optical Product Descriptor Revision field. * qla2xxx: Remove macro parameter side effect in host_to_fcp_swap(). * 8.07.00.39.xx.y-k RHEL7, RHEL6, SLES12, SLES11.3, XS65, XS70: * qla2xxx: Fix duplicate message id. * qla2xxx: Disable adapter and skip error recovery when register disconnect. * qla2xxx: Separate ISP type bits out from device type. * qla2xxx: Correction to function qla26xx_dport_diagnostics(). * 8.07.00.38.xx.y-k RHEL7, RHEL6, SLES12, SLES11.3, XS65, XS70: * qla2xxx: Add support to handle Loop Init error Asynchronus event. * extras: add option to log.sh to show available debug/log categories. * qla2xxx: Let DPORT be enabled purely by nvram. * qla2xxx: Add bsg interface to support statistics counter reset. * qla2xxx: Add bsg interface to support D_Port Diagnostics. * 8.07.00.37.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * qla2xxx: Check for device state before unloading the driver. * qla2xxx: Bump vendor fdmi version. * qla2xxx: Properly reset firmware statistics. * qla2xxx: Properly initialize IO statistics. * qla2xxx: Reduce RDP payload size if requesting port not logged in. * qla2xxx: Reject RDP request if requesting port is not logged in. * qla2xxx: Unswap high/low RDP optical descriptor alarms/warnings. * qla2xxx: Add method for obtaining RDP buffer credit descriptor. * qla2xxx: Make corrections/cleanups/improvements to RDP routine. * qla2xxx: Include ISP27xx in RDP/purex driver intercept. * qla2xxx: Make debug buffer log easier to view. * qla2xxx: Add module parameter alternate/short names. * 8.07.00.36.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * qla2xxx: Set FLOGI retry in additional firmware options for P2P (N2N) mode. * 8.07.00.35.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * qla2xxx: Shutdown board on thermal shutdown aen. * qla2xxx: Correct RDP optical element array index. * qla2xxx: Log only failure case message for abort command. * qla2xxx: Add ram area DDR for fwdump template entry T262. * qla2xxx: Correction to RDP extensions transgression flags. * qla2xxx: Remove sysfs node fw_dump_template. * qla2xxx: Argument to le32_to_cpus() should be a pointer. * qla2xxx: Fix mbx_reg pointer iterator in 25xx fwdump routine. * extras: Inline log.sed into log.sh * 8.07.00.34.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * qla2xxx: Add support to disable laser for ISP27XX. * qla2xxx: Add RDP extensions. * qla2xxx: Set relogin flag when we fail to queue login requests. * qla2xxx: Fix default value descriptions for module parameters. * qla2xxx: Enable T10-DIF for ISP27XX. * qla2xxx: Use valid BBCR offset and datatype. * Revert "qla2xxx: Set echo test mailbox command option bit15 correctly." * 8.07.00.33.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * extras: Improve qlssen.sh usage. * qla2xxx: Provide mbx info in BBCR data after mbx failure * qla2xxx: Set echo test mailbox command option bit15 correctly. * qla2xxx: Correct FDMI vendor port state value. * 8.07.00.32.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * Revert "qla2xxx: Set priority for mailbox commands." * Revert "qla2xxx: Flush mailbox commands after timeout." * 8.07.00.31.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * qla2xxx: Avoid side effects when using endianizer macros. * qla2xxx: Fix warnings reported by static checker. * qla2xxx: Fix printks in ql_log message. * qla2xxx: Fix printk in qla25xx_setup_mode. * qla2xxx: Fix busy wait regression. * qla2xxx: Fix race in handling rport deletion during recovery causes panic. * qla2xxx: Set priority for mailbox commands. * qla2xxx: Flush mailbox commands after timeout. * extras: Add script to enable/disable vendor fdmi (and rebuild initrd image). * 8.07.00.30.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * qla2xxx: Add support for Private link statistics counters. * qla2xxx: Add support for buffer to buffer credit value for ISP27XX. * qla2xxx: Add support for online flash update for ISP27XX. * 8.07.00.29.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * extras: Script for extracting all logs/debugs from driver source * qla2xxx: Defer marking device lost when receiving an RSCN. * qla2xxx: Convert stray printk's in qla_nx.c to ql_log's. * qla2xxx: Allow fw to hold status before sending ABTS response. * qla2xxx: Seed init-cb login timeout from nvram exclusively. * qla2xxx: Remove unneeded link offline message. * qla2xxx: Fix couple of small typos in qla2xxx module code. * qla2xxx: Qualify ELS RDP mapping for ISP25xx and ISP26xx only. * qla2xxx: Restructure RDP routine to handle failure cases. * qla2xxx: Reduce multiple FDMI routines into a single routine. * qla2xxx: Simplify debug prints of wwnn, wwpn, and port id. RHEL7, SLES12: * qla2xxx: Avoid asynchronous abort requests. * 8.07.00.28.xx.y-k RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS65, XS6: * qla2xxx: Fix endianess of fdmi smartsan security support field. RHEL7: * qla2xxx: Reduce target mode performance hit in ISR. * 8.07.00.27.xx.y-k RHEL7: * qla2xxx: Avoid crossing initiator/target modes during AEN handling. * 8.07.00.26.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: Set smartsan security support to 1. * qla2xxx: Add support for ISP2271. * qla2xxx: Fix missing device login retries. * qla2xxx: do not clear slot in outstanding cmd array. * 8.07.00.25.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: Remove decrement of sp reference count in abort handler. RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * extras: Fix whitespace in .sh files. * 8.07.00.24.xx.y-k0 RHEL5 * Update 24xx/25xx firmware to version 8.01.00. * 8.07.00.24.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: Do not crash system for sp ref count zero. * qla2xxx: Do not reset adapter if SRB handle is in range. * qla2xxx: Don't reset ISP when error entry with out of range handle. * qla2xxx: Add support for MPI and PEP FW version for ISP 27xx. * 8.07.00.23.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: Fix RPD response missing fabric name RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: fix porting changes for SmartSAN RHEL5: * qla2xxx: Fix Link Service Request payload word 0. * qla2xxx: Cleanup and Silence unnecessary PUREX/RDP printouts. * 8.07.00.22.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: Allow RPRT to work with all switches (mgmt srvr loopid). * qla2xxx: Use physical port for sending RPRT command. * qla2xxx: Use correct macro for SFP flags. * qla2xxx: Add adapter checks for FAWWN functionality. * qla2xxx: Update default Hostname. RHEL5: * qla2xxx: Corrections to FDMI registering routines. * qla2xxx: Corrections to FDMI processing routines. * qla2xxx: Corrections ro PUREX/RDP proessing. * 8.07.00.21.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: additional fdmi_register() attempt. * qla2xxx: Fix missing SFP flags from RDP Payload. * qla2xxx: driver fails to detect 4G adapters. * qla2xxx: Pause risc before manipulating risc semaphore. * qla2xxx: Use ssdid to gate semaphore manipulation. * qla2xxx: Handle AEN8014 incoming port logout. * qla2xxx: Add serdes register read/write sysfs support for ISP25xx. * 8.07.00.20.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS6.5, XS6.x: * qla2xxx: Trigger FDMI registration for RPRT. * qla2xxx: Remove SmartSAN attributes from the RDP payload. * qla2xxx: Allow FDMI Hostname registration during boot. * qla2xxx: Updated Active FC4 port type. * 8.07.00.19.xx.y-k RHEL7.x, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS 6.5, XS 6.x: * qla2xxx: FDMI RDP command support. * qla2xxx: Support for FDMI Smart SAN Mamangement commands UEK2: * qla2xxx: Fix wrongly report "PCI EEH busy" when get_thermal_temp. * 8.07.00.18.xx.y-k RHEL7.x, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS 6.5, XS 6.x: * qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled. * qla2xxx: Prevent multiple firmware dump collection for ISP27XX. * qla2xxx: Add serdes read/write support for ISP27XX * qla2xxx: Don't reset ISP when we receive an error entry with an out of range handle. * qla2xxx: Do not crash system for sp ref count zero RHEL7.x, RHEL6, SLES11, SLES12, UEK, UEK2, XS 6.5, XS 6.x: * qla2xxx: Restore physical port WWPN only, when port down detected for FA-WWPN port. * qla2xxx: Disable Interrupt handshake for ISP27XX. * qla2xxx: Add debugging info for MBX timeout. * qla2xxx: Do not reset adapter if SRB handle is in range. RHEL7.x, SLES12, XS 6.5: * qla2xxx: Add support for Legacy and MSI interrupt modes. RHEL7.x: * qla2xxx: Fix compiler issue for FC_PORTSPEED_32GBIT on RHEL 7.1 * 8.07.00.17.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS 6.5, XS 6.x: * Add udev notification to save fw dump for ISP27XX. * Add message for sucessful FW dump collected for ISP27XX. * Add fix for beacon for ISP27XX. * Increase the wait time for firmware to be ready for P3P. RHEL7, RHEL6, SLES11, SLES12, UEK, UEK2, XS 6.5, XS 6.x: * Disable FCE and FET tracing for ISP27XXX. * Add support to load firmware from file for ISP 26XX/27XX. RHEL7, SLES12, XS 6.5: * Fix crash due to wrong casting of reg for ISP27XX. * 8.07.00.16.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS 6.5, XS 6.x: * Mark port lost when we receive an RSCN for it. * Disable PCI device in shutdown handler. * Fail adapter initialization on load ram failure. * Move warning message to debug level. * Restore WWPN from flash when cable pulled for FA-WWPN port. * 8.07.00.15.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES12, UEK, UEK2, XS: * Restore WWPN in case of Loop Dead. * Honor FCP_RSP retry delay timer field. * Add missing ISP27xx checks to optrom code. * Force use of mailbox interface for flash access commands for ISP27xx. * Fix mismatch is checks to free sysfs nodes. * Disable laser for ISP2031 while unloading driver. * Enable DPORT using NVRAM parameters. RHEL5: * Disable FDMI by default. * Fix FW dump issue for ISP82XX. * Add 25xx firmware version 7.05.00. * 8.07.00.14.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * Add fix in driver unload for pending activity. * Allow user to change ql2xfdmienable value. * Declaration error cause stack corruption. RHEL7, RHEL6, SLES11, UEK, UEK2, XS: * Fix duplicate log message ID. * Fix driver version string message. RHEL7, RHEL6, SLES11, UEK, XS: * Unload of qla2xxx driver crashes the machine. RHEL5: * Enable FDMI by default. * Add 24xx/25xx firmware version 7.04.00. * 8.07.00.13.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * Remove restriction on starting remote device discovery on port update. * Allow nvram bit to enable FA-WWN. * Allow nvram bit to enable D-PORT. RHEL7, RHEL6, SLES11, UEK, UEK2, XS: * Move mailbox failure messages to a default debug level. * 8.07.00.12.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * Correction to FA-WWN for un-acquiring portname. * Add scatter/gather table size module parameter. RHEL7, RHEL6, SLES11, UEK, UEK2, XS: * Add ql2xasynclogin module parameter. RHEL5: * For netlink response use respective sender's unique pid. * 8.07.00.11.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * Fix incorrect debug printk. * Add D-Port functionality. * Add FA-WWN functionality. * Add FDMI-2 functionality. * ISPFx00 unexpected resets during adapter boot sequence. * Incorrect linked list semantic in qlafx00_get_fcport(). * Add unknown parameter error handling to build.sh. * 8.07.00.10.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * Fix potential return count bug in qla2xxx_get_vpd_field(). * ISPFX00 avoid writing semaphore register in request_irqs(). * ISP27xx fwdump template error print simplification. RHEL7, RHEL6, SLES11, UEK, UEK2, XS: * ISP25xx multiqueue shadow register crash fix. * Correction of debug level in mailbox command print 0x1111. * 8.07.00.09.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES10, UEK, UEK2, XS: * Enable fast flash access for ISP83xx. * Do logins from chip reset in DPC thread instead of error handler thread. * Remove wait for online from host reset handler. RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * ISP27xx fwdump add tests for incomplete template. * ISP27xx fwdump optimize template entry table lookup. * ISP27xx fwdump add template entry T275 (insert buffer). * ISP27xx fwdump template remove high frequency debug logs. * ISP27xx fwdump template fix insertbuf() routine. RHEL7, RHEL6, SLES11, UEK, UEK2, XS: * Add endianizer to T10 PI max_payload_size modifier. RHEL5, SLES10: * Allow ELS commands with variable size command/data. RHEL5: * Add 24xx/25xx firmware 7.03.00. * 8.07.00.08.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES10, UEK, UEK2, XS: * Add MBC option for fast SFP data access. * Remove ISP8044 from pci table. * Revert "Change default capture to firmware defined capture mask". RHEL7, RHEL6, SLES11, UEK, UEK2, XS: * Remove mapped vp index iterator macro dead code. RHEL5: * Add shutdown callback handler. * 8.07.00.07.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES10, UEK, UEK2, XS: * Check the QLA8044_CRB_DRV_ACTIVE_INDEX register when we are not the owner of the reset. * Reduce the time we wait for a command to complete during SCSI error handling. * Delay driver unload if there is any pending activity going on. * Don't check for firmware hung during the reset context for ISP82xx. * Fix beacon blink logic for ISP26xx/83xx. * Add mention of RHEL7 and SLES11.3 in README. RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * ISP27xx firmware dump template spec updates (including T274). * ISP27xx queue index shadow registers. * Fix ISPFx00 not displaying the correct FW version after FW update through sysfs Interface. RHEL7, RHEL6, SLES11, UEK, UEK2, XS: * Clear loop_id for ports that are marked lost during fabric scanning. * Fixup looking for a space in the outstanding_cmds array in qla2x00_alloc_iocbs(). * 8.07.00.06.xx.y-k RHEL7, RHEL6, SLES11, SLES10, UEK, UEK2, XS: * Avoid escalating the SCSI error handler if the command is not found in firmware. RHEL7, RHEL6, RHEL5, SLES11, SLES10, UEK, UEK2, XS: * Change default capture to firmware defined capture mask. RHEL7, RHEL6, RHEL5, SLES11, UEK, UEK2, XS: * Adjust adapter reset routine to the changes in firmware specification for ISPFx00. * 8.07.00.05.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, SLES10, UEK, XS: * Add #if around printk_ratelimit to fix build issue on RHEL 6. * Add 'sparse_endian' command line option to build.sh * Fix build errors related to invalid print fields on some architectures. * Poll during initialization for ISP25xx and ISP83xx. * Add target mode definitions [SLES 11 SP3 specific]. * ISP8044 ipmdio bus timeout improvement. * Remove configure VFs mailbox command call. * Use proper log message for flash lock failed error for ISP82XX. * IOCB data should be copied to I/O mem using memcpy_toio. * 8.07.00.04.xx.y-k RHEL7, RHEL6, RHEL5, SLES11, UEK, Citrix: * Add sparse command line option. * Add 8044 serdes bsg interface. * Correction to 27xx template entry types 256 and 258. * Track the process when the ROM_LOCK failure happens. * Introduce fw_dump_flag to track fw dump progress. * Remove unnecessary code from qlafx00_intr_handler. * Enable fw_dump_size for 8044. * Update entry type 270 to match spec update for 27xx. * Change copyright year to 2014 in all the source files. * Remove unnecessary delays from fw dump code path. * Use jiffies instead of time. * Decrease pci access for response queue processing for ISPFX00. * Use proper log message for flash lock failed error. * Include file for msleep declaration in qla_nx2.c. * Correct the port no assignment for ISP82XX. RHEL5: * Add 24xx/25xx/81xx/83xx FC and FCoE Firmware 7.02.00. * IOCB data should be copied to I/O memory using memcpy_toio(). * Use the physical port for all loopback operations. * 8.07.00.03.xx.y-k RHEL6, SLES11, RHEL5, UEK, Citrix: * Wait for reset completion without lock for ISPFX00. * Add pci device id 0x2271. * Add pci device id 0x2071. * Fix Task Management command asynchronous handling * Add IOCB Abort command asynchronous handling * Do not schedule reset when one is already active when receiving an invalid status handle. * Add and use 32Gbps FC-GS definitions. * Correct operations for ISP27xx template types 270 and 271. * Fix sparse warnings in qla_mr.c * Allow 83XX and 27XX both to write req_q_out register. * Correct 83xx/27xx mislogic in setting out_mb in qla25xx_init_req_que(). * Check for peg alive counter and clear any outstanding mailbox command. * Log when device state is moved to failed state. * Issue abort command for outstanding commands during cleanup when only firmware is alive. * Support of new Helga minidump opcodes QLA8044_RDDFE(38), QLA8044_RDMDIO(39),QLA8044_POLLWR(40). * Allow the next firmware dump if the previous dump capture fails for ISP8044. * Add build.sh commandline option help/description to README file. * 8.07.00.02.xx.y-k RHEL6, SLES11, RHEL5, UEK, Citrix: * Allow ISP83xx and ISP27xx to use read/write remote register. * 8.07.00.01.xx.y-k RHEL6, SLES11, RHEL5, UEK, UEK2/R3, Citrix: * Remove pci device id ISP2071. * 8.07.00.00.xx.y-k RHEL6, SLES11, RHEL5, UEK, Citrix: * Add support for ISP2701. * Remove Marker type IOCB logic for ISPFX00. * Add changes in the IOCB structures to adjust driver source codes to ISPFX00 firmware spec * Add BE support for ISPFX00. * Avoid poisoining in the response queue for ISPFX00. * Simplyfy the ISPFX00 interrupt handler code for ISPFX00. * Optimize the response queue processing for ISPFX00. RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix: * Remove ISP_ABORT_NEEDED and ISP_ABORT_RETRY checks from watchdog function for Helga. * Read capture firmware dump on mailbox timeout for ISP8044 and ISP82XX. UEK2/R3: * Clear drv active before removing the host. * Wait for reset completion without lock for ISPFX00. * 8.06.00.13.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Add mutex around optrom calls to serialize accesses. * Add handling for boot indication progress AENs * Replace constant value for IOCTL IOCB abort execution status with a macro. * Enable the Flash Access Control (FAC) mailbox command. * Use proper message for Non owner reset ACK Timeout. * Remove init control block related dead code for ISPFX00. * Select correct request queue for error type IOCB for ISPFX00. * The file README.qla2xxx does not mention SLES11.3 (or later). * Fix warning reported by smatch. * Properly handle 32 bit mailbox register for ISPFX00. * Set host can_queue value based on available resources. * 8.06.00.12.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Assign the correct pointer to the sp->ctx in abort context for ISPFx00 (BZ8627). * Obtain adapter model description from vpd (SLES10 only) (ER105124). * Use scnprintf() instead of snprintf() in the sysfs handlers. * Only complete dcbx_comp and lb_portup_comp for virtual port index 0. * Reset nic_core_reset_owner on moving from COLD to READY for ISP8044 (ER111788). * Revert "qla2xxx: Remove entry in outstanding_cmds array if we fail to abort a request." * QLAFX00 Replace a constant with a macro definition for host->canqueue assigmnment. * 8.06.00.11.xx.y-k (RHEL5 only) * Iterate the correct list for remote port removal. * Honor FCPORT_UPDATE_NEEDED dpc flag for all ISPs. * Don't set NPIV_CONFIG_NEEDED and RELOGIN_NEEDED flag for ISPFX00. * 8.06.00.10.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix): * 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(). RHEL6, SLES11, UEK, Citrix: * Add BSG interface for read/write serdes register. * Fix request queue null dereference. * Disable adapter when we encounter a PCI disconnect.. * Refactor shutdown code so some functionality can be reused. * QLAFX00 Fix issue with not displaying node name after system reboot. * Add changes to obtain ISPFX00 adapters product information. * Add IOCTL command abort logic for ISPFX00. RHEL5, SLES10: * Add netlink interface for read/write serdes register. * Fix udev fwdump rules. RHEL5: * Update 8G and 4G firmware to version 7.01.00. README: * Updated for builing kernel with out-of-box driver for Boot-from-SAN. * Updated for building ramdisk with rpm driver for Citrix Boot-from-SAN. * 8.06.00.09.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Honor execute firmware failures. * Add BPM support for 25xx. * Disable INTx interrupt for ISP82XX. * Correctly set mailboxes for extended init control block. * Duplicate luns instantiated after doing ISP reset. * Don't consider the drivers knocked out of IDC participation for future reset recovery process. * Change message displaying fcport pointer to port id. * Fix the sparse C=2 warnings for ISP8044. * Revert "qla2xxx: Capture firmware dump on mailbox timeout for ISP8044 and ISP82XX." * Revert "qla2xxx: Ramp down queue depth for attached SCSI devices when driver resources are low." * Print proper QLAFX00 product name at probe. * Fix compile warnings in qlafx00_build_scsi_iocbs() on BE platforms. * Unloading driver crashes server due to not freeing sp pool (SLES10 only). * Update 8G and 4G firmware to 7.0.2. (RHEL5 only). * 8.06.00.08.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Fixups for ISP8044 beacon blink. * Select link initialization option bits from current operating mode. * Move queue depth ramp down message to i/o debug level. * Correctly reset Graceful Reset Bit in IDC Driver Control Register. * Add a new interface to update versions. * Correctly print out/in mailbox registers. * Add #if preprocessor statements to get driver compiled on UEK2 and R3. * 8.06.00.07.xx.y-k (RHEL5 only) * Set the timeout value to 45 for IOCTL commands for ISPFx00. * Dump IOCB on IOCTL command timeout for ISPFx00. * Allocate outstanding cmd array and request queue under single hardware lock. * 8.06.00.06.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Clear the reset owner on ready and failed state for ISP8044. * 8.06.00.05.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Clear the idc control graceful bit for ISP8044 after initialization. * Don't check for firmware hung during the reset context. * Add loopback IDC-TIME-EXTEND aen handling support. * Clear presence bit for ISP8044 on unload and error. * Move Previous version info message to debug level. * 8.06.00.04.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Properly set the tagging for commands. * Get the mpi version for ISP8044. * Capture firmware dump on mailbox timeout for ISP8044 and ISP82XX. * Implementation of flash write buffer mode for ISP8044. * Helga loopback support. * Add pex-dma support for faster minidump capture on ISP8044. * Collect minidump for ISP8044 using sysfs. * Perform context reset instead of chip reset for ISP8044 host reset. * Don't the set nic_core_reset_owner flag for ISP8044. * Set IDC graceful reset and don't capture minidump if it is set. * Honor return value from qla82xx_device_state_handler() in qla82xx_abort_isp(). * Silent noisy message during ISP8044 dump collection. * Correct debug print id's. * Add 8044 entry in udev rules. * Set default critical temperature when ISPFX00 firmware doesn't provide it. * QLAFX00 make over-temp AEN informational, add log for normal-temp AEN. * Correct Interrupt Register offset for ISPFX00 * Remove handling of Shutdown Requested AEN from qlafx00_process_aen(). * Send all AENs for ISPFx00 to above layers. * 8.06.00.03.xx.y-k (RHEL6, SLES11, RHEL5, UEK, Citrix) * Add changes in initialization for ISPFX00 cards with BIOS. * Add changes to support extended IOs for ISPFX00. * 8.06.00.02.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * ISP8044 abort isp. * Helga Flash Write. * Helga legacy pin based interrupt support. * Get all the optrom sysfs attributes for CNA. * Add ISP8044 to MIDTYPE macro. * Fix sparse warning reported for qla_nx2.c. * Helga Remove hardcoded return values by QLA_FUNCTION_FAILED. * Remove minidump and reset code if FCoE is not a owner. * Helga fcoe_nic_reset_owner updated. * Fix compilation issue on ia64. * Fix for serial_num not getting displayed via sysfs. * Add missing FCP statistics to sysfs interface. * 8.06.00.01.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Set VPD Size to 1K for ISP82XX, ISP8044, ISP8031 (ER107011). * Helga call flash recovery function from bootstrap code. * Clear the MBX_INTR_WAIT flag when the mailbox time-out happens. * Drop redundant log message when ROM lock failure happens during retries. * To update Helga minidump template capture. * Make log message that prints when a completion status requires a port down more readable. * Reconfigure thermal temperature. * Add setting of driver version string for vendor application. * Remove QL_DEBUG_LEVEL_17 defines from qla_nx.c. RHEL6, SLES11, UEK, Citrix: * Set the index in outstanding command array to NULL when cmd is aborted when the request timeout (ER107084). * 8.06.00.00.xx.y-k (RHEL6, SLES11, RHEL5, SLES10, UEK, Citrix) * Fix for locking issue between driver ISR and mailbox routines. * Do not take a second firmware dump when intentionally generating one. * Move qla2x00_free_device to the correct location. * Add support for ISP8044. * Update firmware link in Kconfig file. * Perform coverity analysis from build.sh RHEL6, SLES11: * Correct multiqueue offset calculations. * Add module parameter for interrupt mode. * Fix incorrect test after list_for_each_entry() exits. * Do not query FC statistics during chip reset. RHEL5, SLES10: * Use spinlock while accessing vport list. SLES10: * Correction of operator in udev rules. * 8.05.00.03.xx.y-k (RHEL6, SLES11), 8.04.00.15.xx.y-k (RHEL5, SLES10, UEK, Citrix) * Add clarifying printk to thermal access fail cases. RHEL5, SLES10: * Move list add of ha to non-error section of probe_one. * 8.05.00.02.xx.y-k (RHEL6, SLES11), 8.04.00.14.xx.y-k (RHEL5, SLES10, UEK, Citrix) * Revert "qla2xxx: Add setting of driver version string for vendor application." RHEL6, SLES11, UEK, Citrix: * Debug ID corrections. * Add iounmap(ha->cregbase) calls for ISPFX00 adapters for proper driver cleanup during load / unload. * Clear the outstanding command array for task management processing for ISPFx00. * Remove Request / Response transfer error AENs handling from qlafx00_async_event(). * Proper cleanup of BSG request when the request time-out on ISPFx00. * Fix issue with calling sp_done() twice for task management commands. * Fix bug in cont_entry handling for the cases when FW provides more data than mid layer can handle. * Correction to structure size while registering host information with firmware. RHEL5, SLES10: * Use vp_list field of scsi_qla_host while traversing virtual ports list. * 8.05.00.01.xx.y-k (RHEL6, SLES11.x), 8.04.00.13.xx.y-k (RHEL5, SLES10, UEK, Citrix) * Add setting of driver version string for vendor application. * Integrate generic card temperature with mezz card temperature. * Correction of comment in MBC opcode defines. * Wait for IDC complete event to finish loopback operation. * Don't process state change aen for reset owner. * Don't process RSCNs for a vport on the same physical adapter. * Correct list-iteration bug in Report-ID Acquisition codes. RHEL6, SLES11: * Addedd logic to monitor aenmbx0 register for fixed intervals on ISPFx00. * Remove unnecessary operations from qlafx00_soc_cpu_reset() and add resetting IRQ ack register per core. RHEL5, SLES10: * Return -EINVAL when setting up loopback operation. RHEL5: * Inclusion of 8G firmware version 5.09.00. * Inclusion of 4G firmware version 5.09.00. * 8.05.00.00.xx.y-k (RHEL6.x and SLES11.x) * Enhancements to support ISPFx00. * 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. * Don't 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 adapter 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.xx.y-k (RHEL 6.x, SLES 11.x, UEK and Citrix) * Correct loop_id_map allocation-size and usage. * 8.04.00.07.xx.y-k * Prefix qla2xxx with the dump file name. * Delay for legacy interrupts not required for all boards for ISP83xx. * Use correct logger path in udev scripts. * Allow MSI interrupt registration for ISP82xx. * Don't toggle RISC interrupt bits after IRQ lines are attached. * Fix for legacy interrupts for ISP83xx. * Restrict nic core reset to one function for mctp. * Update to Implementation of the mctp. * Enable fw attributes for ISP24xx and above. * Get fcal position map should not be called for p2p topology. * Set Maximum Read Request Size to 4K. * Enclose adapter related calls in adapter check in failed state handler. * Fix for handling some error conditions in loopback. * Fix description of qla2xmaxqdepth parameter. * Set idc version if function is first one to come.- * Do not restrict the number of NPIV ports for ISP83xx. * Do PCI fundamental reset for 83xx. * Fail initialization if unable to load RISC code. * Ensure PLOGI is sent to Fabric Management-Server upon request. * Remove setting Scsi_host->this_id during adapter probe. * Use #defines instead of hardcoded values for intr status. V2632 (RHEL 6.x, SLES 11.x and UEK): * Remove dumping fw on timeout for bidirectional commands. * T10 DIF - ISP83xx changes. * Fix incorrect status reporting on DIF errors. * Change log messages to dbg and remove dumping fw on timeout for bidirectional. * Use the right field for container_of. SLES10.x: * Correct implementation of qla2x00_get_idma_speed. * Remove check for ISPs other than ISP81xx from qla81xx_set_port_config RHEL5.x: * Add stubs for edc and edc_status interface. * 8.04.00.06.xx.y-k * Don't call nic restart firmware if it is already active and running. * Wrong PCIe (2.5Gb/s x8) speed in the kernel message for ISP82xx. * Perform ROM mbx cmd access only after ISP soft-reset during f/w recovery. * Fix rval may be used uninitialized in this function warning. * Implement beacon support for ISP83xx CNA. * Fix for continuous rescan attempts in arbitrated loop topology. * Only enable link up on the correct interrupt event. * Update the driver license. * Don't register legacy interrupts for ISP82xx. * Add bit to identify Sensei card for thermal temp. * Implementation of MCTP. * IDC implementation for ISP83xx. * Add FW DUMP SIZE sysfs attribute. * Implementation of bidirectional. * Use bitmap to store loop_id's for fcports. * Display mailbox failure by default. * Remove redundant NULL check before release_firmware() call. * Add check in qla82xx_watchdog for failed hardware state. * Add I2C BSG interface. * Use dracut to rebuild the initramfs on RHEL 6 in build.sh. * Don't call failed handler for default case. * Add hilda fc fcoe entries in the udev rules file. * 8.04.00.05.xx.y-k * Display proper firmware version when new minidump template is gathered for ISP82xx. * Properly check for current state after the fabric-login request. * Proper completion to scsi-ml for scsi status task_set_full and busy. * Don't capture minidump for ISP82xx on flash update from application. * Avoid losing any fc ports when loop id's are exhausted. * Optimize existing port name server query matching. * Remove mirrored field vp_idx from struct fc_port. * Display proper supported speeds for 16G FC adapters. * Fix reset time out as qla2xxx not ack to reset request. * Stats should be different from physical and virtual ports. * Block flash access from application when device is initialized for ISP82xx. * Handle interrupt registration failures more gracefully. * Logic to detect overheat condition and fail ISP82xx. * Remove unneeded DPC wakeups from qla82xx_watchdog. * RHEL 5.x/SLES 10.x * Revert : IO failure during ISP82xx reset. * Revert : Avoid depending on SCSI host_lock in queuecommand function. * 8.04.00.04.55.6-k * 8.04.00.04.32.1-k * ISP83xx(16G FC) support for Xenserver 6.0 and Oracle UEK. * 8.04.00.04.xx.y-k * Remove resetting memory during device initialization for ISP82xx. * Proper detection of firmware abort error code for ISP82xx. * SLES10 SPx: Add udev script, udev rules file, kmdtool. * SLES10 SPx: Proper notification of device udev event for automatic gathering of firmware dump. * 8.04.00.03.xx.y-k * Correct link-reset regressions introduced during 83xx porting. * Avoid invalid request queue dereference for bad response packets. * Stop iteration after first failure in *_id functions. * Fix incorrect register access in qla2x00_start_iocbs(). * Fix to update proper command completion upon command retries. * Hard code the number of loop entries at 128. * Reference proper scsi_qla_host structure for processing non-scsi SRB commands. * Handle device mapping changes due to device logout. * Fix wrong decrement, null sp access. * Initialize the command done routine. * Avoid losing any fc ports when loop id's are exhausted. * Complete mailbox command timedout to avoid initialization failures during next reset cycle. * Add ha->max_fibre_devices to keep track of the maximum number of targets. * Cache swl during fabric discovery. * Remove EDC sysfs interface. * Perform firmware dump procedure on mailbox command timeout. * Change the log message when previous dump is available to retrieve for ISP82xx. * Remove check for null fcport from host reset handler. * Correct out of bounds read of ISP2200 mailbox registers. * Remove errant clearing of MBX_INTERRUPT flag during CT-IOCB processing. * Reduce mbx-command timeout for Login/Logout requests. * Clear options-flags while issuing stop-firmware mbx command. * Add an "is reset active" helper. * Prep zero-length BSG data-transfer requests. * Perform implicit logout during rport tear-down. * Handle failure cases during fabric_login * Increase speed of flash access in ISP82xx adapters to improve firmware load speed. * Add check for null fcport references in qla2xxx_queuecommand. * Handle change notifications based on switch scan results. * Use consistent DL mask for ELS/CT passthru requests. * Consolidation of SRB processing. 2. Known Issues * Helga Currently Unsupported Features: * AER. * Beacon. * Thermal. 3. 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. 4. Contacting Support For further assisance, contact QLogic Technical Support at: http://support.qlogic.com Trademarks Accelera, Accelerating Cluster Performance, InfiniCon Systems, InfiniNIC, InfiniPath, InfiniView, QLA, QLogic, the QLogic logo, ReadyPath, SANdoctor, SANsurfer, and SilverStorm are registered trademarks of QLogic Corporation. All other brand and product names are trademarks or registered trademarks of their respective owners. (c) Copyright 2016. 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.