This Change History is for the IBM System Storage DS4000 Fibre Channel Host Bus Adapters(HBA) Linux kernel 2.4 non-failover device driver version 7.07.61. Last Update: 05/23/2006 Version 7.07.61 dated 5/23/2006 - Fixed the problem with ISP23XX NVRAM not being saved corretly on PPC. - Extend driver cmd timer logic handling I/O with RISC to non tape device as well. - Added support for new FLASH used by ISP24XX - Updated the IS24XX firmware to 4.00.20 - Dont hold hw_lock during ISP24XX flash update. - Fixed the issue of flash write protection not being restored. - Added the code for ISP24XX to log back in non fabric mode. - Consolidated to 3 FW Images. - Added the ql2xoperationmode cmd line param for ISP24XX. - Enable the operation mode 6 for ISP24XX by default. - Correct loading of ISP24XX risc code to right address. - Fixed compile warnings on IA64. - Update serial-number /proc display code. - Corrected the handling of underrun for good completion. - Fixed the panic for SPIFFI devices during failover. - Correct additional posting issues during NVRAM accesses. - Added logic to retry lun resets. - Dropped the IO count check on the target LUNs. - Added the missing logic for ISP24xx lun reset. - Correct PCI posting issues after initiating an ISP soft-reset. - Fixed the bus/host reset for failover mode. - Updated the Readme to add the new cmd line parameters. - Correct setting of path-preference while load-balancing. - Dont pause the ISP24XX RISC anymore for nvram/flash updates. - Enable the write protection after flash updates for ISP24XX. - Correct additional posting issues during NVRAM accesses. - Correct ISP24XX cmd abort issue during loop-down state. - Dont mark the port dead if fabric login fails with unrecovrable errors etc and let the port down timer handle it. - Extend the max paths support to 64. - Dont allow autorestore for Active/Passive Device. - Issue lun reset on failback to clear reservation if any. - Included the fix to not failover controller lun - Added the "ql2xautorestore" cmd line to enable auto failback. - Incorporated the fixes for loop in transition issues when mulitple initiators are coming up in loop topology. - Added the command line param - ql2xfwloadbin to load the firmware from the flash. Default behaviour is to load whats embedded in the driver. - If firmware is being downloaded from the flash, reset both the functions when the flash is updated for the current firmware to take affect. - Added code to failover on certain hardware check-conditions. - Correct LED scheme definition. - Fixed DS400 handling of check conditions. - Fixed the controller lun being incorrectly displayed in proc as being registered with the OS. - Added the suuport for ISP24XX VPD update. - Added the code to relogin during device discovery process. - Added the support for ISP24XX. Version 7.05.00 dated 5/18/2005 - Updated ISP23XX firmware to v3.03.11 - Tape fix - Export tape devices across all visible paths. Since tapes are not failover devices, they need to be exported on all visible paths, otherwise the tape becomes inaccessible if the current path becomes unavailable. Do not perform any failover operations on tape storage. - Changes for active/active failover support to support DS400 subsystem - Added storage subsystem specific support for delays during Target Port Group commands to avoid failover failures while waiting for the subsystem to respond - Add fix to report the correct target port group based on state - Add fix to address the panic for devices which does not support Tgt Port Group(TPG) -- initialize the TPG List irrespective whether devices support TPG or not - Add fix to handle the transition wait time from standby to active state for DS400 storage during the execution of the set_target_port_grp() - Added the support for storage subsystems which support Target Port Group - Added the "ql2xexcludemodel" cmd line param to exclude storage subsystem models from being marked as failover capable - Added the support for aliasing of hba portname. - Flag to reset the lun_q fo_retry_cnt upon succesful completion of an I/O and clear it during the next failed path. Version 7.03.00 dated 03/22/2005 - Updated ISP23XX firmware to v3.03.06 - Reset the loop_down_timer when Port update - 0x8014 is ignored. - Use vmalloc instead of kmalloc to allocate memory for 1Mbyte flash image. - Fixed the issue of lun queue memory not being freed. - Increment the fo_retry_cnt for each path when the path can't be switched in the front end (lq->fclun) when the port is dead. - Track the fo_information using void pointer in the lun struct. - Add support for new swing/emphasis/sensitivity settings. - Add support for new LED scheme. - Added the logic to track failover retry count on all the paths on per lun basis. - Fixed the issue of trying to relogin with NO_LOOP_ID. - Define QL_CONFIG_COMPAT macro in exioctln.h file for ioctl cmd code to be evaluated correctly for x86_64 or ppc64 platform. - Check for LOOP_DEAD state while processing PORT_UPDATE(0x8014). - Reset the ISP if get_adapter_id() fails. - Added the additional checking of sense data of 04/02 when we cant access port. - Fixed the compilation issue on AS 2.1 - thread_pid variable undefined - Fixed the redefined QL_IOCTL_BASE compliation warning on x86_64 platform. - Fixed the issue where dpc thread could get stuck in a tight loop whenever configure_local_loop() failed or loop is in a transition state. - Fixed the hang if failed to create kernel_thread. - Fixed extraneous pci posting for ioport. - Fixed panic in debug mode for failover driver. - Dont retry fabric login for QLA200 for unsupported FL port. - Added logic to retry fabric_login() when it fails with 0x4005. Synchronised the login retry when fabric login fails and the driver recieves 0x8014 (Port Update) for device logo. - Dont reinitialize the HBA if firmware clearly indiciates an unrecovrable hardware error - system error (mbx[0] = 0x8002) and mbx[1] = 0. - Fixed the incorrect checking of handle count for RIO type 1 and 2 iocb to display the message. - Perform a make clean before buidling the driver. - Added the logic to retry for login when the driver recieves aen - 0x8014 (Port Update) which is not global and device logged out. Earlier assumption of ignoring 0x8014 waiting for RSCN to come in incorrect. - Fixed return code for fabric_login(). Version 7.01.01 dated 03/22/2005 - Updated ISP23XX firmware to v3.03.01 - Change the MAX_FAILBACKTIME value in the qla_settings.h file from 5 to 240 to support FAStT storage servers with SATA drives. - Change the required setting of ql2xsuspendcount to 70. - Change the required setting of ql2xretrycount to 60. - Added support for RHEL 3.0 - Added extended interface for 16 bit loop id support. - Improved fabric discovery logic. - Added RPM support for installing and updating driver. - Added support to change dynamic parameters without reload. - Change license of HBA API to be GPL. - Added hot add support for failover luns. - Added support for optional FDMI registration. - Added commandline parameter: "ql2xioctltimeout" to change the default ioctl pass-thur timeout and change default t0 66 sec. - Added commandline parameter: "ql2xmaxsectors" and "ql2xmaxsgs". - Added selective failover support for non-failover devices. - Added support for AMD Opteron, and x86_64 platforms. - Added support to initiate a pseudo LIP via the /proc interface. - Added cmd line parameter - ql2xprocessnotready. - Added the semaphore to protect failover database updation - Fixed logic to honor "ConfigRequired=1" in non-failover mode. - Fixed PortID binding. - Fixed panic while loading firmware on 2100/2200. - Fixed handling of tape commands during LIPs - Fixed flushing logic for START_STOP commands - Back-out PLUG-TIMER and scsi-affine 'performace patches' - Fixed DMA double allocation bug on retries. - Fixed PCI posting issues. - Fixed endianess issues. - Fixed recursive issue in ZIO logic. - Fixed IA64 /proc alinment issue. - Fixed compilation issue with SLES 8 SP3. - Fixed ER36592. - Fixed FCP protocol error checking. - Set the firmware options for swing/emphasis before init_fw.