QLogic Driver Release Notes QLogic Corporation All rights reserved Table of Contents 1. Change History 2. Known Issues 3. Notices 4. Contacting Support 1. Change History This section contains: * 1.1 Hardware Support * 1.2 Software Component * 1.3 Bug Fixes 1.1 Hardware Support Initial Drop 1.1.1.0: * Support for 2400/2500/2600 Series Fibre Channel adapters * Support for 8100/8200/8300 Series Converged Network Adapters Between versions 1.1.1.0 and 1.1.2.0: * None Between versions 1.1.2.0 and 1.1.3.0: * 10xxx support. Between versions 1.1.3.0 and 1.1.15.0: * None Between versions 1.1.15.0 and 1.1.16.0: * Support for 8044 Series 10Gb Converged Network Adapters Between versions 1.1.16.0 and 1.1.20.0: * None. Between versions 1.1.20.0 and 1.1.21.0: * Support for 2700 Series Fibre Channel Adapters Between versions 1.1.21.0 and 1.1.26.0: * None. Between versions 1.1.26.0 and 1.1.27.0: * Remove support for 8044 adapter. This harware will not be productised. Between versions 1.1.27.0 and 1.1.29.0: * None. 1.2 Software Components Between versions 1.1.1.0 and 1.1.2.0: * VMK API Management Support for FCoE adapters Between versions 1.1.2.0 and 1.1.3.0: * None Between versions 1.1.3.0 and 1.1.4.0: * Built with devkit that includes fix for vibname (qlnativefc instead of vmware-esx-qlnativefc) Between version 1.1.4.0 and 1.1.5.0 * 10xxx pass-thru IOCTL support. Between version 1.1.5.0 and 1.1.6.0 * Loopback support for all CNAs. Between version 1.1.6.0 and 1.1.7.0 * None. Between version 1.1.7.0 and 1.1.8.0 * Add BPM support for 2500 Series Fibre Channel adapters. Between version 1.1.8.0 and 1.1.9.0 * Update ISP24XX and ISP25XX fw to version 7.00.01 Between version 1.1.9.0 and 1.1.10.0 * Update ISP24XX and ISP25XX fw to version 7.00.02 Between version 1.1.10.0 and 1.1.15.0 * None. Between version 1.1.15.0 and 1.1.16.0 * Add 8044 series 10Gb Converged Network Adapter support. Between version 1.1.16.0 and 1.1.17.0 * None. Between version 1.1.17.0 and 1.1.18.0 * Update ISP24XX and ISP25XX fw to version 7.01.00 Between version 1.1.18.0 and 1.1.20.0 * None. Between versions 1.1.20.0 and 1.1.21.0: * Support for 2700 Series Fibre Channel Adapters Between versions 1.1.21.0 and 1.1.22.0: * None. Between versions 1.1.22.0 and 1.1.23.0: * Update ISP24XX and ISP25XX fw to version 7.02.00 Between versions 1.1.23.0 and 1.1.26.0: * None. Between versions 1.1.26.0 and 1.1.27.0: * Remove support for 8044 series adapter. Between versions 1.1.27.0 and 1.1.28.0: * Update ISP24XX and ISP25XX fw to version 7.03.00 Between versions 1.1.28.0 and 1.1.29.0: * None. 1.3 Bug Fixes Between versions 1.1.1.0 and 1.1.2.0: * None Between versions 1.1.2.0 and 1.1.3.0: * Problem Description: None; Improvement: * Solution: It would be best to have two api interfaces with separate signatures for maintaining the common apis and the cna specific extention apis. This would also help us maintain a single API library which can attach to both inbox as well as out-of-box driver. * Problem Description: CNA information (vlan-id, vn-port-mac-address) were not displayed using vmkmgmt key-value pair mechanism. * Solution: Fix the display buffer "length" to be calulated correctly for cna specific fields. * Problem Description: Get FCET dump callback would fail due to insufficient buffer size error. * Solution: Fix the FCET dump size to be about 4 * FCET_SIZE i.e. 4 * 64K which is sufficient enough to accomodate the organized fcet data buffer. Also fixed the fcet-length calculation while building fcet buffer. * Problem Description: Core dump fails on SAN lun. * Solution: Implemented the proper handler needed for the Coredump on SAN for QLA81XX, QLA82XX and QLA83XX. * Problem Description: Improvment * Solution: In order to have a common solution we removed "mode" field from the hba-port callback structure. "mode" was being derived from "topology" which was already supplied in get-hba-port. Hence it will be now handled by api and we no longer need to provide the same from driver. Between versions 1.1.3.0 and 1.1.4.0: * Problem Description: PSOD during IO's running from 4 VMs. * Solution: Need to protect the fclun list with a lock. * Problem Description: None; Improvement: * Solution: It would be best to have two api interfaces * Problem Description: QLA82XX do not receive any interrupts in legacy intx mode. Some minor improvement in interrupt handler. * Solution: Checks for nx_legacy_intr.int_vec_bit and ISR_IS_LEGACY_INTR_TRIGGERED in 1st level interrupt handler instead of 2nd level interrupt handler. Change the name values in msix_entries from "qla2xxx" to "qlnativefc". Between versions 1.1.4.0 and 1.1.5.0: * Problem Descriptiong: Hitting a psod while running vport creation/deletion. * Solution: Destroy the scsi_scan world before freeing the scsi adapter. Also wait for the scsi_scan world to be destroyed. * Problem Description: Calling alloc_fcport function and then freeing the fcport was not destroying the fcluns list spinlock. * Solution: VMware had created a qla2x00_free_fcport function for the ESX 5.5 inbox driver with the intention of properly destroying the fcluns_list_lock. This change was brought into this patch. * Problem Description: In our standerd log message, we use the value of vmk_ScsiGetAdapterName which returns "Invalid" until the PSA driver is online. Then we see vmhbaX. * Solution: Replaced "Invalid" with nothing when vmhba is not available. * Problem Description: Set Parameters MB Cmd 59h was using the mb regs method for sending down driver version for all chip types. * Solution: The correct method for ISP chips is to pass down the driver version in a host memory buffer and pass down the DMA address. * Problem Description: In a single CPU system, periodic PSOD and IOMMU issues were seen * Solution: Make sure on a unsupported system, cpu affinity setup does not take place. Also, clean up some of the log messages to not confuse matters. * Problem Description: On a rescan over 10xxx connected to a target with a large # of LUNs, error entries are reported in the response queue. * Solution: Limit sg entries per IO to 128 (Mt.R's limit) Introduce mod params for sg count and max xfer size. Cleanup abort code to use ref counts (as qla_os.c does) * Problem Description: Register Host Info code review, no problem. * Solution: register_host_info needs to be populted with correct values. * Problem Description: Target lun info could not be acquired using scsi-passthrough apis. Solution: Correctly handle data-buffer allocations for control cmds (size=0). Also make sure we return "success" status on passthrough cmd completion. * Problem Description: Previous checkin with mod params (qlfxmaxxfersize) did not set hostMaxSectors using the mod param. * Solution: This checkin sets hostMaxSectors based on the mod param configured. Between versions 1.1.5.0 and 1.1.6.0: * Problem Description: Firmware dump file created during a system crash sometimes is of zero size. * Solution: Do not create the qlnativefc_dump file incase of no firmware dump is collected. * Problem Description: Large IO support in 10xxx needs to be enabled only if f/w is capable of supporting it. * Solution: Use fw attribute to determine Large IO support in 10xxx. * Problem Description: Code improvement * Solution: Add code to support MPI reset for CNA. * Problem Description: Code improvement * Solution: 1.Change debug log message to common format debug log message for qlfx00. 2. Fixed compilation error and minor indentation changes. * Problem Description: P3P adapter load flash takes > 30 seconds. * Solution: Sleeps for 100 micros in the code path were taking 4 millis. This was being done for every 4 bytes of data read resulting the in 30 sec duration. Fix was to use vmk_WorldYield instead of vmk_WorldSleep. * Problem Description: Restart adapter resulted in targets not getting reported. Driver startup with f/w with boot bios enabled failed. * Solution: AEN events were getting missed during restart adapter. Check for timeout was incorrect after driver shutdown was issued. * Problem Description: 10xxx: Target links flapping results in erratic behavior * Solution: Call vmk_ScsiNotifyPathStateChangeAsync after a target comes back online. Re-use vmk_psa_tgt_id when a target comes back online. * Problem Description: FDMI information (host_name) on switch not being populated. * Solution: Populate host name using WWNN of the HBA. * Problem Description: P3P handling of peg halt was incorrect. * Solution: Set ISP ABORT NEEDED bit in dpc_flags when driver detects a recoverable error. Between versions 1.1.6.0 and 1.1.7.0: * Problem Descrption: PSOD during P3P peg halt testing. * Solution: Correctly pass the address of internal structure to vmk pci api to prevent stack corruption. Between versions 1.1.7.0 and 1.1.8.0: * Problem Description: Recursive panic while performing core dump on SAN for Mt. Rainer. * Solution: Do not hold lock while executing BH Handler for core dump. * Problem Description: get-aen vmkMgmt API would always fail. * Solution: Correctly comparing the buffer size passed by application layer. * Problem Description: Mt. Rainer - do not re-init if f/w is already been initialized. * Solution: Check pseudo-aen register to confirm if initialization is already done. * Problem Description: New target added into the fc zone is not getting recognized. * Solution: Driver should enable link up, and thus fabric resync, for Port Update async events that are global or pertinent login state change. * Problem Description: Lun reset timeout would cause all subsequent lun resets to fail. * Solution: Send Marker IOCB even after a timeout Lun Reset IOCB. * Problem Description: PSOD screen showing "DiskDUmp: Failed". * Solution: Return good status from dump routine and log any error messages. * Problem Description: Mt. Rainer - After a reboot, node name of VMware Host not getting populated. * Solution: Only register host info with f/w once the system has completed bootup process. Between versions 1.1.8.0 and 1.1.9.0: * Problem Description: Seen timeout error messages whiel updating Boot/HBA parameters for 82XX adapters. * Solution: Introduce 10 usec delay every 100 iterations before we can perform next 'status register read' operation. * Problem Description: Continual ISP resets could be encountered when get loop id fails. Solution: To avoid continually doing ISP resets when get loop id fails to obtain the adapter loop id, first try to do a link initialization. * Problem Description: Code review. * Solution: Add handling of 8200 async event for Hilda MCTP capable adapters. Between versions 1.1.9.0 and 1.1.10.0: * Problem Description: CNA flash f/w info not being read. * Solution: Reading the CNA flash f/w info for both 82XX and 8031. * Problem Description: Driver has stale flash version after a f/w update. * Solution: Added new ioctl, that would enable driver to refresh the flash version. * Problem Description: With P3P card, PSOD seen while running all three traffic with FW reset and driver load/unload in parallel. * Solution: Only check Firmware status, only when reset required. * Problem Description: Changing the VLAN ID through the management app on P3P adapters caused the FCoE link to never come up. * Solution: Pass the new VLAN ID to the f/w. Between versions 1.1.10.0 and 1.1.11.0: * Problem Description: Encountering PSOD when ioctl cmd times out. * Solution: Correctly handle the timing logic during the execution of ioctl. Between versions 1.1.11.0 and 1.1.12.0: * Problem Description: Duplicate target entries would remain agter long run of switch port toggle test. * Solution: In case of SNS discovery failure, bailout and fallback to GA_NXT method of target discovery. * Problem Description: Serdes operation support for QLA2031. * Solution: Add interface for read/write serdes register. * Problem Description: While performing FW reset and recovery, QLA82xx fails to restart. * Solution: In interrupt polling mode, only clear host interrupt status in case of a actual event and not always. * Problem Description: In case of congestion in the san network, IO's from VM would hang and VM would freeze. * Solution: Remove LUN queue management from driver. This is removed as scsi layer already manages LUN queue lenght. * Problem Description: Mt. Rainer - PSOD while rebooting the server after driver installation. * Solution: Do a graceful exit when driver is unable to attach to Mt. Rainer adapter. Between versions 1.1.12.0 and 1.1.13.0: * Problem Description: Beaconing feature not working for 83xx adapters. * Solution: Correctly invoke beacon blink from dpc thread. Between versions 1.1.13.0 and 1.1.14.0: * Problem Description: During FW reset testing on P3P, driver fails to rediscover targets. * Solution: Correctly check if rediscovery attempt is need with LOOP_RESYNC_NEEDED flag when re-initializing adapter. Between versions 1.1.14.0 and 1.1.15.0: * Problem Description: FW Dump extraction for QLA82XX not working. * Solution: Send Fw Dump in chunk of 256 bytes to the application layer. * Problem Description: Memory leak during FW dump extraction. * Solution: Correctly free the memory once FW dump is complete. * Problem Description: Mt. Rainer - Change in warm reset procedure. * Solution: Update the warm reset sequence for Qlogic 10000 adapters. * Problem Description: In low memory servers, could encounter PSOD. * Solution: Disable Extended Trace before freeing up the appropriate memory. * Problem Description: For QLA82XX, minidump collection fails. * Solution: Correctly set the mailbox registers to collect the minidump template. * Problem Description: PSOD while performing adapter restart on some ocassions. * Solution: Correctly remove any unnecessary freeing of irqs and performs only disabling and enabling of interrupts during warm reset. * Problem Description: In certain setups, extended buffer to buffer credits settings might not work as expected. * Solution: Correctly pass the extended buffer to buffer setting to the firmware. Between versions 1.1.15.0 and 1.1.16.0: * Problem: 8044 in legacy interrupt mode would be non-functional and result in a PSOD. * Solution: Implement 8044 ack handler for legacy interrupt mechanism. * Improvement: 8044: Improve fcoe function re-attach fix. Earlier we were re-initing fcoe from timer context which can violate scheduling in an interrupt context rule. In case of pci function forced to detach form IDC, a better way to comeback is to wait for f/w recovery to complete and allow fcoe re-init to happen within nic-core-reset dpc context. Between versions 1.1.16.0 and 1.1.17.0: * Problem Description: ql2xoperationmode not getting enforced for ISP81XX, ISP25xx and ISP83XX adapters. * Solution: Corrently set the zio mode setting to the f/w when ql2xoperationmode is set to zero. Between versions 1.1.17.0 and 1.1.18.0: * Problem Description: While performing IO with NPIV enabled, failure in vmkmgmt API error messages are seen in the vmkernel log. No functionality impact experienced. * Solution: Increase the debug level of the vmkapi error message. Between versions 1.1.18.0 and 1.1.19.0: * Problem Description: Driver initialization would fail if NVRAM region read fails. * Solution: Fall back to default nvram configuration and try to initialize the adapater. * Problem Description: 8044: In certain cases, firmware dumps total size is not being reported correctly. * Solution: Driver should skip any minidump template entry that driver does not understands. Between versions 1.1.19.0 and 1.1.20.0: * Improvement: Add support for new opcodes (RDDFE, RDMDIO, POLLWR) for QLA8044 minidump. Between versions 1.1.20.0 and 1.1.21.0: * Problem Description: Driver not replying back to firmware about the IDC ack request. * Solution: Correctly use the work queue in order to perform operations. * Problem Description: Ethernet Serdes operation support for QLA8044 adapter. * Solution: Add interface for read/write ethernet serdes register. Between versions 1.1.21.0 and 1.1.22.0: * Improvement: Separate out the module parameter to set capture_mask for QLA8044 and QLA82xx. * Problem Description: PSOD seen when repetitive "Invalid status handle" responses is encountered. * Solution: Correctly initiate reset recovery when driver encounter "Invalid status handle". * Problem Description: Observing spurious interrupt on ISP25XX adapters with MSIX enabled. * Solution: For ISP25XX and ISP26XX continue in polling mode. * Problem Description: P3P and Helga adapters are not able to discover targets. * Solution: During init time, correctly fill the port number field. * Problem Description: PSOD while printing the vmk mgmt key-val pair. * Solution: Removing the use of a invalid/null pointer. Between versions 1.1.22.0 and 1.1.23.0: * None. Between versions 1.1.23.0 and 1.1.24.0: * Problem Description: For vmkmgmt_keyval information driver display wrong FC target port list for NPIV ports. * Solution: Display correct FC target port list for NPIV ports. * Improvement: Create separate heap pool to avoid any kind of failure for dump memory allocation. Between versions 1.1.24.0 and 1.1.25.0: * Problem Description: PSOD is observed while running IO on a ISP25XX adapter. * Solution: In certain circumstances, driver should be scheduling the scsi cmd done and not calling it directly. * Improvement: Implemented the driver unload feature. Between versions 1.1.25.0 and 1.1.26.0: * Problem Description: PSOD is observed while running IO on a ISP25XX adapter. * Solution: After discussion with VMware, appropriate changes in the scons files were made. Between versions 1.1.26.0 and 1.1.27.0: * Problem Description: PSOD when setting the vmkmgmt value for QLE10500 adapter. * Solution: Make call to appropriate function based on adapter type. * Improvement: For ISPFX00 adapter, change in warm reset sequence. * Improvement: Improve FW Init code for QLE10500. * Improvement: Protect fcluns list for QLE10500 adapter. Between versions 1.1.27.0 and 1.1.28.0: * Problem Description: FC ELS passthrough commands not working. * Solution: Correctly handle the ELS passthrough commands response. * Problem Description: In certain circumstances, System would PSOD after running IO's. * Solution: Correctly handle the scenario where scsi check condition is set and sense key is set to recovered error. Between versions 1.1.28.0 and 1.1.29.0: * Improvement: Provide support for FDMI-2. * Improvement: Collect firmware dump in case the mailbox command times out. * Problem Description: For CNA adapters, FCoE context reset fails. * Solution: Correctly handle the FCoE context reset request from the application. 2. Known Issues None 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 2014. 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.