Patch Name: PHKL_22902 Patch Description: s700_800 11.04 (VVOS) Superio Parallel driver fixes Creation Date: 00/12/07 Post Date: 01/03/17 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: No Category Tags: defect_repair hardware_enablement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHKL_22902 Symptoms: PHKL_22902: Port HP-UX patch PHKL_21276 (Superio Parallel driver fixes) to VVOS. Based on HP-UX patch PHKL_21276: (SR: 8606127257 CR: JAGac68803) On a system with a superio parallel interface, and a valid device driver, but with no cable hooked to the interface, output to the device will have to be aborted. On the first reboot following the abort, disks may fail to be synced, and fsck may run on the file system as the system reboots. (SR: 8606129243 CR: JAGac86789) If an open is attempted on a character device special file which has the same major number as the SCentIf device file (typically /dev/c1t0d0_lp), and whose minor number differs from that of /dev/c1t0d0_lp in only the 2nd hex digit (eg. 0x020002 instead of 0x010002), there is a possibility of a system panic. This would normally require deliberately creating a bad device file. Based on HP-UX patch PHKL_20153: ( SR: 8606107507 DTS: JAGab77743 ) This patch enables new functionality, namely the SuperIO parallel port interface, on B1000, C3000, and J5000 workstations for HP-UX 11.00. Defect Description: PHKL_22902: Port HP-UX patch PHKL_21276 (Superio Parallel driver fixes) to VVOS. NOTE: PHKL_22902 requires that base SuperIO functionality delivered by the patch PHKL_22821 be present on the system in order for the parallel port to work. The driver delivered by this patch will not function on these systems unless the core SuperIO patch (PHKL_22821 or its superseding patch) is also present. However, if this patch is installed on the system without the core SuperIO patch also being installed, absolutely no change will occur to the system. Based on HP-UX patch PHKL_21276: (SR: 8606127257 CR: JAGac68803) The defect is that there are paths through the code where spinunlock could be called twice in succession on the same lock. This would leave the processor at a high "SPL" level and effectively block the interrupts needed to sync the disks at reboot time. Resolution: spinunlock statement have been removed or reordered at two places in the code, so that they can only be called once per lock. (SR: 8606129243 CR: JAGac86789) At open time, the dev number is not adequately checked to insure that the device was scanned and claimed, prior to using the data structures for the device, resulting in a NULL dereference which led to the panic. Resolution: A more robust check was implemented in the open routine. NOTE: Both PHKL_21276 and PHKL_20153 (superceded by 21276) require that base SuperIO functionality delivered by the patch PHKL_20152 be present on the system in order for the parallel port to work. Based on HP-UX patch PHKL_20153: ( SR: 8606107507 DTS: JAGab77743 ) This patch delivers new functionality to support SuperIO functionality on the B1000, C3000, and J5000 workstations as well as future HP-UX 11.00 workstations which support the SuperIO interface. This patch provides the SuperIO Parallel functionality. The driver delivered by this patch will not function on these systems unless the core SuperIO patch (PHKL_20152 or its superseding patch) is also present. However, if this patch is installed on the system without the core SuperIO patch also being installed, absolutely no change will occur to the system. Resolution: The objects necessary to support this function have been added to the kernel SR: 8606107507 8606127257 8606129243 Patch Files: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libpci.a(ecp_isr.o) /usr/conf/lib/libpci.a(ecp_strategy.o) /usr/conf/lib/libpci.a(ecp_utils.o) /usr/conf/lib/libpci.a(superio_centif.o) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/master.d/SCentIf what(1) Output: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libpci.a(ecp_isr.o): ecp_isr.c $Date: 2000/03/10 12:05:11 $Revision: r11r os/2 PATCH_11.00 (PHKL_21276) /usr/conf/lib/libpci.a(ecp_strategy.o): ecp_strategy.c $Date: 1999/11/04 08:55:42 $Revision: r11ros/1 PATCH_11.00 (PHKL_20153) /usr/conf/lib/libpci.a(ecp_utils.o): ecp_utils.c $Date: 1999/11/04 08:55:42 $Revision: r1 1ros/1 PATCH_11.00 (PHKL_20153) /usr/conf/lib/libpci.a(superio_centif.o): superio_centif.c $Date: 2000/03/10 12:05:11 $Revisio n: r11ros/2 PATCH_11.00 (PHKL_21276) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/master.d/SCentIf: SCentIf $Date: 1999/11/04 08:55:42 $Revision: r11ros /1 PATCH_11.00 (PHKL_20153) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 1775812905 9352 /usr/conf/lib/libpci.a(ecp_isr.o) 3088529935 10032 /usr/conf/lib/libpci.a(ecp_strategy.o) 1145152933 9192 /usr/conf/lib/libpci.a(ecp_utils.o) 3435861316 21176 /usr/conf/lib/libpci.a(superio_centif.o) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 4024163646 4263 /usr/conf/master.d/SCentIf Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHKL_21276: s700: 11.00 Patch Package Size: 90 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 PHKL_22902 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_22902.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_22902. 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/PHKL_22902.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 PHKL_22902.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_22902.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_22902.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: Special Installation Instructions: In order for the SuperIO Parallel driver to function, the core SuperIO patch (PHKL_22821 or its superseding patch) must also be installed on the system. The SuperIO Parallel driver is only required on the B1000, C3000, and J5000 workstations, as well as future HP-UX 11.04 workstations which support the SuperIO interface.