Patch Name: PHKL_22906 Patch Description: s700_800 11.04 (VVOS) Audio driver repair and support patch Creation Date: 00/12/07 Post Date: 01/03/17 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: N/A Filesets: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_22906: PANIC Based on PHKL_21750: PANIC Based on PHKL_20899: PANIC Based on PHKL_20158: PANIC Audio application, mpeg3play, can cause kernel to panic. Also kernel panics on 710/705 machines. PHKL_19145: PANIC CORRUPTION Based on PHKL_18503: PANIC CORRUPTION Category Tags: defect_repair hardware_enablement general_release critical panic corruption Path Name: /hp-ux_patches/s700_800/11.X/PHKL_22906 Symptoms: PHKL_22906: Port HP-UX patch PHKL_21750 (Audio driver repair and support) to VVOS Based on HP-UX patch PHKL_21750: Under certain circumstances, the audio driver could cause an HPMC. The console and PIM output may show something like this pointing to the audio device: "A Data I/O Fetch Timeout occurred while CPU 0 was requesting information from a device at the path 10/0/15/1 (built-in PCI device)" Based on HP-UX patch PHKL_20899: ( SR: 8606124950 DTS: JAGac40342 ) Under some circumstances, the audio driver could cause a data page fault. Since this is dependent on the address of a buffer, it would not occur for all users. Based on HP-UX patch PHKL_20158: ( SR: 8606107870 DTS: JAGab78174 ) No audio support on B1000, C3000, J5000 and J7000 ( SR: 8606105699 DTS: JAGab73929 ) install kernel panic's on a 710/705 ( SR: 8606106631 DTS: JAGab75904 ) Audio application, mpeg3play, causes kernel panic PHKL_19145: Ported HP-UX patch PHKL_18503 for VVOS. Based on PHKL_18503: (SR: 4701423210 DTS: JAGaa95627 ) System panic playing audio files on 64-bit kernels. Defect Description: PHKL_22906: Port HP-UX patch PHKL_21750 (Audio driver repair and support) to VVOS Based on HP-UX patch PHKL_21750: The problem was that if all the data fit into one DMA buffer it was possible that the "next" DMA buffer information was set for a buffer which had since been deallocated. If that happened, an HPMC would occur when the current DMA buffer was completed. Resolution: The "next" DMA buffer will always be set up, even if all of the data will fit into one buffer. Based on HP-UX patch PHKL_20899: ( SR: 8606124950 DTS: JAGac40342 ) When audio3 support was added to HP-UX 11.00, a fix from HP-UX 10.20 was inadvertently omitted. In addition, under some circumstances the driver would access a buffer using incorrect pointer logic. Resolution: Restore the missing HP-UX 10.20 fix, and rework the logic that uses the buffer pointers to always use the correct pointers. Based on HP-UX patch PHKL_20158: ( SR: 8606107870 DTS: JAGab78174 ) B1000, C3000, J5000 and J7000 use a new audio chip which is not supported by the audio driver. Resolution: Add code to support the Analog devices chip. ( SR: 8606105699 DTS: JAGab73929 ) There is a missing break statement in the code which causes audio2 driver code to be run on a machine that uses audio1 driver. Resolution: Add the missing break statement. ( SR: 8606106631 DTS: JAGab75904 ) Incorrect pointer being passed to a routine causes a bad pointer dereference. Resolution: Correct the parameters being passed to the routine. PHKL_19145: Ported HP-UX patch PHKL_18503 for VVOS. Based on PHKL_18503: ( SR: 4701423210 DTS: JAGaa95627 ) When a play underflow was received, 64-bit pointer arithmetic was done incorrectly, causing a memory corruption. Resolution: Cast the pointer value to the correct data type. SR: 4701423210 8606105699 8606106631 8606107870 8606124950 8606139774 Patch Files: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/include/sys/audio.h OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libhp-ux.a(audio.o) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libhp-ux.a(audio.o) what(1) Output: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/include/sys/audio.h: audio.h $Date: 1999/10/27 16:27:41 $Revision: r11ros /3 PATCH_11.00 (PHKL_20158) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libhp-ux.a(audio.o): $Source: kern/wsio/audio.c, hpuxsysio, vvos_rose, ro se0110 $ $Date: 00/12/07 16:06:05 $ $Revisio n: 1.20 PATCH_11.04 (PHKL_22906) $ OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libhp-ux.a(audio.o): $Source: kern/wsio/audio.c, hpuxsysio, vvos_rose, ro se0110 $ $Date: 00/12/07 16:06:05 $ $Revisio n: 1.20 PATCH_11.04 (PHKL_22906) $ cksum(1) Output: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: 3420635919 34493 /usr/include/sys/audio.h OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: 4102846234 76468 /usr/conf/lib/libhp-ux.a(audio.o) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 1253829952 132656 /usr/conf/lib/libhp-ux.a(audio.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_19145 Equivalent Patches: PHKL_21750: s700: 11.00 s800: 11.00 PHKL_21724: s700: 10.20 PHKL_21725: s800: 10.20 Patch Package Size: 270 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_22906 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_22906.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_22906. 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_22906.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_22906.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_22906.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_22906.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None