Patch-ID# 108984-08 Keywords: QLC ISP2200 buffer PCI FibreChannel FCode CPR PM Synopsis: SunOS 5.8: /kernel/drv/qlc driver patch Date: Mar/22/2001 Solaris Release: 8 SunOS Release: 5.8 Unbundled Product: Unbundled Release: Xref: Topic: SunOS 5.8: qlc patch NOTE: Refer to Special Install Instructions section for IMPORTANT specific information on this patch. Relevant Architectures: sparc BugId's fixed with this patch: 4264323 4278254 4300470 4300943 4300953 4302087 4304897 4319582 4324126 4324180 4324192 4324478 4326893 4327991 4328447 4330730 4334838 4335949 4336664 4336665 4336667 4337688 4344845 4353138 4353797 4353806 4353815 4353831 4353855 4355029 4357943 4360096 4360591 4360623 4363212 4364558 4366910 4367402 4368073 4369500 4375320 4377554 4377565 4380799 4394478 Changes incorporated in this version: 4394478 Patches accumulated and obsoleted by this patch: 110190-01 Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: /etc/driver_aliases /etc/driver_classes /etc/name_to_major /kernel/drv/qlc /kernel/drv/qlc.conf /kernel/drv/sparcv9/qlc /usr/include/sys/fibre-channel/fca/qlc.h /usr/include/sys/fibre-channel/fca/qlc_debug.h /usr/include/sys/fibre-channel/fca/qlc_ioctl.h /usr/lib/adb/qlc_adapter_stat /usr/lib/adb/qlc_atio /usr/lib/adb/qlc_cmd_a32 /usr/lib/adb/qlc_cmd_a64 /usr/lib/adb/qlc_ctio /usr/lib/adb/qlc_dev /usr/lib/adb/qlc_device_stat /usr/lib/adb/qlc_enable_lun /usr/lib/adb/qlc_head /usr/lib/adb/qlc_icb /usr/lib/adb/qlc_imm_notify /usr/lib/adb/qlc_ip_a32 /usr/lib/adb/qlc_ip_a64 /usr/lib/adb/qlc_ip_icb /usr/lib/adb/qlc_ip_rcv /usr/lib/adb/qlc_ip_rcv_cont /usr/lib/adb/qlc_link /usr/lib/adb/qlc_mark /usr/lib/adb/qlc_notify_ack /usr/lib/adb/qlc_nvram /usr/lib/adb/qlc_port_db /usr/lib/adb/qlc_srb /usr/lib/adb/qlc_state /usr/lib/adb/qlc_tgt_cmd /usr/lib/adb/sparcv9/qlc_adapter_stat /usr/lib/adb/sparcv9/qlc_atio /usr/lib/adb/sparcv9/qlc_cmd_a32 /usr/lib/adb/sparcv9/qlc_cmd_a64 /usr/lib/adb/sparcv9/qlc_ctio /usr/lib/adb/sparcv9/qlc_dev /usr/lib/adb/sparcv9/qlc_device_stat /usr/lib/adb/sparcv9/qlc_enable_lun /usr/lib/adb/sparcv9/qlc_head /usr/lib/adb/sparcv9/qlc_icb /usr/lib/adb/sparcv9/qlc_imm_notify /usr/lib/adb/sparcv9/qlc_ip_a32 /usr/lib/adb/sparcv9/qlc_ip_a64 /usr/lib/adb/sparcv9/qlc_ip_icb /usr/lib/adb/sparcv9/qlc_ip_rcv /usr/lib/adb/sparcv9/qlc_ip_rcv_cont /usr/lib/adb/sparcv9/qlc_link /usr/lib/adb/sparcv9/qlc_mark /usr/lib/adb/sparcv9/qlc_notify_ack /usr/lib/adb/sparcv9/qlc_nvram /usr/lib/adb/sparcv9/qlc_port_db /usr/lib/adb/sparcv9/qlc_srb /usr/lib/adb/sparcv9/qlc_state /usr/lib/adb/sparcv9/qlc_tgt_cmd Problem Description: 4394478 Qlc takes >5 mnts for the commands to timeout even after offlining the LUNS (from 108984-07) 4380799 40.5 drivers cause increase in time for lbf test to complete (from 108984-06) 4375320 degraded diamond throughput between qlc driver v35 and qlc driver v40.3 (from 108984-05) 4364558 QLC-CPR: (sp->flags & (SRB_IN_DEVICE_QUEUE SRB_IN_TOKEN_ARRAY)) == 0, qlc.c 34 4360623 Assertion panic in fcptm: (fpkt->pkt_flags & FPKT_FLG_SEND_STAUS) != 0 4367402 qlc: Interrupt thread hangs in Fabric topology 4368073 qlc: fp_detach() hung in qlc_ub_free() 4357943 qlc: FW fails mbox commands corresponding to diag ioctls as invalid command. 4366910 OFFLINE timeout during heavy i/o and lip test. 4360591 qlc, fcptm: Load/Stress tests and forcelips causes target mode qlc to return Qfu 4377565 qlc, fcp, fctl: More fixes for target mode operation 4377554 qlc: Abort failures and Offline timeout fixes 4369500 qlc, fcip: Cleanup Abort handling 4360096 FCIO_LINK_STATUS ioctl failing on qlogic 2202 (from 108984-04) This patch revision was generated to accumulate and obsolete the feature changes introduced in point patch 110190-01. 4344845 qlc driver causes hang in cpr suspend 4353815 qlc:Enabling fcp2 changes 4353797 qlc: Passing lesser buffer for mbox_cmd_t shouldn't panic system 4353831 qlc: Indefinite hang with DR under error conditions 4353806 qlc: qlc driver causes dump/sync hang under heavy I/O to boot disk 4353855 qlc:Cpr support needed in qlc 4353138 PCI code path more expensive than SBus 4363212 adding patch Q108984-04 causes failure in luxadm... (from 108984-03) 4336664 qlc: support for automatic F/W core dump 4336665 qlc: I/O hangs after FCODE download until reboot 4336667 qlc: support NVRAM feature programming in solaris 4337688 qlc: Integrate ISP 2202 f/w 2.01.110 4330730 qlc: interrupt level 4 not serviced 4328447 qlc: Too many knobs exposed in qlc.conf 4334838 luxadm remove failed at "FCIO_RESET_LINK ioctl" on qlc driver 4327991 sunvts/qlc testing seemed to hang, no obvious indications to user of problem 4335949 qlc driver panics in vmem code on second attach attempt 4326893 new platform with qlc adapter hangs during cpr suspend 4319582 isp 2200 need to support power management 4355029 qlc: disable Power Management (from 108984-02) 4278254 System panic: (SW workaround: Byte hole error) kernel heap corruption detected. 4324478 qlc: cleanup lip recovery failures and abort panics 4324126 qlc: Need to support IP shutdown 4324180 qlc: cleanup target mode code 4324192 qlc : Add code to harden driver 4300953 ses uscsi not working with qlc driver 4300943 Need completed driver functionality for qlctest SunVTS 4264323 FCode download ioctls failing for 2200 Sol 8 Qlogic ISP 2200/2202 Fibre Channel device driver (from 108984-01) 4300470 Need qlc driver in Solaris 4302087 qlc: Modify driver to attach only to ISP2200 (1 port) adapters 4304897 qlc: Need to support endian clean Unsolicited Buffers for IP (from 110190-01) 4344845 qlc driver causes hang in cpr suspend 4353815 qlc:Enabling fcp2 changes 4353797 qlc: Passing lesser buffer for mbox_cmd_t shouldn't panic system 4353831 qlc: Indefinite hang with DR under error conditions 4353806 qlc: qlc driver causes dump/sync hang under heavy I/O to boot disk 4353855 qlc:Cpr support needed in qlc 4353138 PCI code path more expensive than SBus 4363212 adding patch Q108984-04 causes failure in luxadm... Patch Installation Instructions: -------------------------------- For Solaris 2.0-2.6 releases, refer to the Install.info file and/or the README within the patch for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. For Solaris 7-8 releases, refer to the man pages for instructions on using 'patchadd' and 'patchrm' scripts provided with Solaris. Any other special or non-generic installation instructions should be described below as special instructions. The following example installs a patch to a standalone machine: example# patchadd /var/spool/patch/104945-02 The following example removes a patch from a standalone system: example# patchrm 104945-02 For additional examples please see the appropriate man pages. Special Install Instructions: ----------------------------- NOTE1: Minimum requirement : Solaris 8 Update 1 NOTE2: Due to versioning introduced in the drivers, the latest revision of the two following patches *MUST* also be installed prior to rebooting the system. Failure to install *ALL* the required patches will cause the drivers to not load. 108983-08 (or newer) fcip adb macros patch 108982-08 (or newer) fcp/fctl/fp driver patch Reboot the system after installing the above patches. README -- Last modified date: Tuesday, April 24, 2001