Patch Name: PHNE_15537 Patch Description: s700_800 11.00 Fibre Channel cumulative patch Creation Date: 98/09/01 Post Date: 98/10/07 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP HSCFibreCh.FCHSC-INIT,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_15537: PANIC PHNE_14453: PANIC PHNE_13417: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHNE_15537 Symptoms: PHNE_15537: 1. "Freeing free mbuf" panic. 2. Data page fault panic in fcgsc_els_xmit_completer(). 3. On a cable reconnect (following a cable disconnect), the hardware state reported by lanscan(1M) may sometimes toggle continuously (between UP and DOWN). 4. Panic due to kernel stack overflow while freeing mbuf. 5. An update from HP-UX 10.20 to HP-UX 11.00 on a machine with the Fibre Channel product causes many swverify(1M) errors. 6. Under certain heavy load conditions (like multiple instances of ftp(1) run simultaneously), the Fibre Channel interface stops transmitting frames after some time. 7. Machine performance degrades drastically when heavy network traffic is generated across two Fibre Channel cards on the same machine. 8. fcutil(1M) command fails with the error message "error opening device file: No such device". 9. ioctl(2) call with FCLWP_INSTANCE_INFO request type returns NULL IP address. PHNE_14453: 1. "Lock already held" panic in fcgsc_clean_ocq(). 2. fcutil command output indicates a steady increase in "Number of Active Outbound Exchanges" count. PHNE_13417: 1. Data page fault panic in fcgsc_send_broadcast_pkt(). 2. Data page fault panic in fcgsc_baacc_to_abts_timer(). 3. The Fibre Channel network hangs after about 3.5 hours of normal operation in an NEC Fibre Channel switch environment. 4. Data page fault panic in fc_arp_do_outbound(). 5. "Lock already held" panic in fcgsc_isr(). 6. Data page fault panic in fcgsc_isr(). 7. Data page fault panic in fcgsc_free_outb_esb_timer(). 8. Panic in sbflush() when Informix/XPS is run over Fibre Channel. 9. Fibre Channel cards are not claimed in certain T600 configurations. 10. Interrupt stack overflow panic. 11. Fibre Channel initialization takes too long. 12. 64 bit systems panic when the fcutil(1M) loopback test option is used. Defect Description: PHNE_15537: 1. A dangling pointer reference resulted in the driver attempting to free an already freed mbuf. 2. This panic was due to an internal driver data structure access with a wrong index. 3. The continuous toggling of hardware state was due to an error in the driver's topology detection code. 4. The driver was looping back packets even when no loopback option was set. 5. The Fibre Channel product was not getting obsoleted during the update. 6. The Fibre Channel driver was not freeing the sequence identifiers used for frame transmission in certain error paths. 7. Distribution of interrupts was not implemented correctly. All Fibre Channel cards were interrupting the first CPU (CPU 0). This resulted in heavy loading of the first CPU. 8. The device file minor number should be specified as a hexadecimal value. The Fibre Channel initialization script was specifying it in decimal. 9. Support for the ioctl was inadvertently removed from the Fibre Channel ARP module. PHNE_14453: 1. When fcgsc_clean_ocq() is invoked the login_lock should not be locked. build_cd_and_clean_ocq() invoked fcgsc_clean_ocq() with the login_lock locked and this resulted in a panic in fcgsc_clean_ocq(). 2. In fcgsc_els_xmit_completer(), the outb_xchg array fields were not cleared when the corresponding Exchange Status Block (ESB) was freed. PHNE_13417: 1. An attempt to use an uninitialized stack variable resulted in a panic in fcgsc_send_broadcast_pkt(). 2. An incorrect argument to mp_timeout(KER3) to schedule the execution of fcgsc_baacc_to_abts_timer() resulted in a panic when the function was invoked. 3. Memory leaks in the driver error paths resulted in resources becoming unavailable after about 3.5 hours of operation. 4. fc_arp_do_outbound() was called with a freed buffer and this resulted in a panic. 5. An error path was not unlocking the login_lock when it should have. 6. Improper resource cleanup during a topology change resulted in a panic in the interrupt service routine. 7. Exchange Status Block (ESB) related timeouts were not canceled through untimeout()'s before freeing the blocks. This resulted in panics when the timer routines were scheduled to run. 8. The Light Weight Protocol (LWP) detach routine did not free the receive data buffers that it created. This resulted in a panic when the socket was closed. 9. The driver's dependency on the WSIO subsystem was not specified in the /usr/conf/master.d/fcgsc master file. 10. fcgsc_isr() uses more than 2000 bytes of interrupt stack space. 11. The /sbin/init.d/hpfc initialization script calls ioscan(1M) with -F option instead of -kF option. 12. A defect fix to the 32-bit loopback path was not propagated to the 64-bit code. SR: 1653262733 1653247460 1653250084 1653250100 Patch Files: HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libfcgsc.a /usr/conf/master.d/fcgsc HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libfcgsc.a /usr/conf/master.d/fcgsc HSCFibreCh.FCHSC-INIT,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /sbin/init.d/hpfc OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(fc_gsc.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(fc_gsc.o) what(1) Output: HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libfcgsc.a: fc_arp.c for PHNE_15537 $Date: 98/09/18 16:20:57 $ $ Revision: 1.1.118.11 $ fclwp_so.c $Date: 97/09/29 10:31:46 $ fclwp.c for PHNE_13417 $Date: 98/03/05 02:07:20 $ $R evision: 1.2.118.6 $ fcgsc_xmit.c for PHNE_15537 $Date: 98/09/18 16:22:04 $ $Revision: 1.2.118.11 $ fcgsc_timers.c for PHNE_15537 $Date: 98/09/18 16:21: 59 $ $Revision: 1.2.118.12 $ fcgsc_err.c for PHNE_15537 $Date: 98/09/18 16:21:54 $ $Revision: 1.2.118.9 $ fcgsc_ctrl.c for PHNE_15537 $Date: 98/09/18 16:21:48 $ $Revision: 1.2.118.11 $ FILESET FC-HSC: libfcgsc.a: Version: B.11.00 PHNE_15 537 fcgsc.c for PHNE_15537 $Date: 98/09/18 16:21:18 $ $R evision: 1.2.118.26 $ fc4le.c for PHNE_15537 $Date: 98/09/18 16:20:14 $ $R evision: 1.3.118.18 $ /usr/conf/master.d/fcgsc: PHNE_15537 $Revision: 1.4.118.9 $ HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libfcgsc.a: fc_arp.c for PHNE_15537 $Date: 98/09/18 16:20:57 $ $ Revision: 1.1.118.11 $ fclwp_so.c $Date: 97/09/29 10:31:46 $ fclwp.c for PHNE_13417 $Date: 98/03/05 02:07:20 $ $R evision: 1.2.118.6 $ fcgsc_xmit.c for PHNE_15537 $Date: 98/09/18 16:22:04 $ $Revision: 1.2.118.11 $ fcgsc_timers.c for PHNE_15537 $Date: 98/09/18 16:21: 59 $ $Revision: 1.2.118.12 $ fcgsc_err.c for PHNE_15537 $Date: 98/09/18 16:21:54 $ $Revision: 1.2.118.9 $ fcgsc_ctrl.c for PHNE_15537 $Date: 98/09/18 16:21:48 $ $Revision: 1.2.118.11 $ FILESET FC-HSC: libfcgsc.a: Version: B.11.00 PHNE_15 537 fcgsc.c for PHNE_15537 $Date: 98/09/18 16:21:18 $ $R evision: 1.2.118.26 $ fc4le.c for PHNE_15537 $Date: 98/09/18 16:20:14 $ $R evision: 1.3.118.18 $ /usr/conf/master.d/fcgsc: PHNE_15537 $Revision: 1.4.118.9 $ HSCFibreCh.FCHSC-INIT,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /sbin/init.d/hpfc: hpfc for PHNE_15537 $Revision: 1.1.119.7 $ $Date: 98 /09/21 11:48:17 $ OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(fc_gsc.o): None OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(fc_gsc.o): None cksum(1) Output: HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 2829274307 645148 /usr/conf/lib/libfcgsc.a 2207186814 3504 /usr/conf/master.d/fcgsc HSCFibreCh.FCHSC2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 61158796 364660 /usr/conf/lib/libfcgsc.a 2207186814 3504 /usr/conf/master.d/fcgsc HSCFibreCh.FCHSC-INIT,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: 260999548 2244 /sbin/init.d/hpfc OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 220084592 311040 /usr/conf/lib/libhp-ux.a(fc_gsc.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 2864489204 219320 /usr/conf/lib/libhp-ux.a(fc_gsc.o) Patch Conflicts: None Patch Dependencies: s700: 11.00: PHNE_14279 s800: 11.00: PHNE_14279 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_13417 PHNE_14453 Equivalent Patches: None Patch Package Size: 1560 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHNE_15537 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_15537.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_15537. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHNE_15537.depot WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHNE_15537.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_15537.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_15537.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None