Patch Name: PHNE_22522 Patch Description: s700_800 10.20 2.40.0[012] X.25/ACC Accessory (EISA/PCI) Creation Date: 01/01/10 Post Date: 01/03/14 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: Z7436AA_APZ B.02.40.00; Z7436AA_APZ B.02.40.01; Z7436AA_APZ B.02.40.02; Z7401A_APZ B.02.40.00; Z7401A_APZ B.02.40.01; Z7401A_APZ B.02.40.02 Filesets: ACC-X25ST.ACC-X25ST-KRN,B.02.40.00,B.02.40.01,B.02.40.02 ACC-X25ST.ACC-X25ST-RUN,B.02.40.00,B.02.40.01,B.02.40.02 X25PAD.X25PAD-RUN,B.10.20.00 X25BSD.X25BSD-KRN,B.10.20.00 X25CORE.X25CORE-KRN,B.10.20.00 X25IP.X25IP-KRN,B.10.20.00 Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_22522: PANIC PHNE_18719: PANIC Path Name: /hp-ux_patches/s700_800/10.X/PHNE_22522 Symptoms: PHNE_22522: SR 8606125245 / CR JAGac40636: System panic with spinlock deadlock when extreme inbound interrupt traffic occurs. SR 8606126154 / CR JAGac56719: System panic in sohasoutofbandevent() under heavy inbound out-of-band data packets. SR 8606127758 / CR JAGac78559: Running "x25stat -f" does not report the correct L2 statistics. SR 8606171991 / CR JAGad41254: System panic due to spinlock deadlock. SR None / CR JAGab73855: System panic in asm_spinlock/XSY_F_plp_callback on x25init. PHNE_18719: X25 init fails with ENOSPC error when x25stop/x25init is issued followed by x25stop on a large number of x25 Links that have not been initialised. JAGab66255: X25init fails with with errno=28 when multiple PVC are defined for IP usage. SR 1653301580 / DTS TPO0h02760 While padem is run with aprof command, core dump occurs. SR 4701427237 / DTS TPO0h02760 x29printd - Failed to work DTS TPO0h02824 system panics , stack trace shows the sleep was issued on ICS DTS TPO0h02787 X25 driver panics on inbound VC RESET or Interrupt data DTS TPO0h02802 When configuring an X.25 link with more VCs than the ACC card can support, the error message logged in nettl.LOG00 does not indicate clearly what the problem is. DTS TPO0h02819 An error message references the location of a file for HP-UX 9.0 DTS TPO0h02808 IP traffic over PVC does not work sometimes. DTS TPO0h02671 Add nettl L3 tracing for X.25 to the B.02.39/B.02.40 releases. DTS TPO0h02610 Add Q4 support for the 10.X release. DTS TPO0h02243 The X.25 link is shutdown after the LAP-B SABM collision DTS TPO0h02244: "No available idle ZLUs" error occurred when running test on a K220 system. DTS TPO0h02248: The ISDN L2 and L3 terms were not disabled after the link is disconnected. DTS TPO0h02448 x25check fails on some links after x25stop and x25init if all the previous cards and their ports are not initialised. PHNE_15363: DTS TPO0h02089 Write completion length mismatch messages in ZCOM log file. The could be other random symptoms being generated by the ACC physical driver. PHNE_13996: SR 1653234476 / DTS TPO0h01652 Enhancement request for ITU/T 1988 Throughput class support Defect Description: PHNE_22522: SR: 8606125245 CR: JAGac40636 A system panic can occur when there is extreme inbound OOB packets arriving. This can occur because the inbound axin driver function for handling the inbound interrupt packets holds spl5 too long. The inbound events are arriving so rapidly that the function always has another event to process after it finishes the one it is currently working on and this does not allow the function to return to netisr. Resolution: The fix is to temporarily restore the spl level after processing each event and to immediately re-aquire spl5. This allows other threads to execute and thereby corrects the problem. SR: 8606126154 CR: JAGac56719 A system panic can occur when there is heavy inbound OOB packets arriving and the socket is closed. The problem was determined to be a race condition between the socket close code and the OOB data queuing code. Resolution: A check for the socket about to be closed has been added to the OOB queuing code which corrects the race condition. SR: 8606127758 CR: JAGac78559 There was a change in the format of the control write request processing in the firmware for retrieving the L2 statistics that is causing the axin driver's request to fail. Specifically, the firmware now expects a length of four instead of a length of three. This resulted in the firmware not sending up the statistics value which means there were no values for the axin driver to give to x25stat. Please note that ACC cards do not maintain the number of transmitted or received level 2 RR packets or frames receieved that were too long. These three counter values will always be zero. Resolution: The axin driver has been updated to use a length of four in the control write which corrects the problem. SR: 8606171991 CR: JAGad41254 splx() calls were not handled correctly. SPL for the processor was not lowered. Resolution: splx() calls that were not done properly in the code are now done. Without these changes, the system could panic with spinlock deadlock message. SR: None CR: JAGab73855 The problem was caused by walking off the end of the zx25_pda_infotbl and axin_zlu_tables when the VC ZLU is greater than the size of these tables. This corrupted random areas of system memory leading to the above panic. The drivers walked off the end of the tables due to incorrect or missing array bounds checks. Resolution: Array bounds checks have been added or corrected wherever neccessary and an appropriate error message added to instruct the user to increase the size of these tables through the documented kernel tunable parameter. PHNE_18719: X25init fails with ENOSPC error.When the X25 (axin) driver is opened for an operation that is not for "x25init" the l2pda->axin_init field is not initilised correctly and thereby fails an assertion in the close path. Due to this failure the driver entry in IFPTR table is not freed. Eventually this leads to no more free entries and returns ENOSPC on x25init/x25close. JAGab66255: X25init fails with with errno=28 when multiple PVC are defined for IP usage. This happens due to a bug in x25init that tries to update the driver with X25_WR_IPMAPTABLE command for each interface on every x25init. Instead it should do "X25_WR_IPMAPTABLE" only for the interface that is being initialised. SR 1653301580 / DTS TPO0h02760 Old version of this product was shipped SR 4701427237 / DTS TPO0h02760 Old version of this product was shipped DTS TPO0h02824 When Axin driver runs out of free pool of buffers it tries to allocate new buffers and waits (sleeps) until they are allocated. This is OK if the routine is called in process context but when called on ICS it panics. DTS TPO0h02787 The OOB queue is not handled correctly and this lead to causing data corruption and Panic. DTS TPO0h02802 The driver has been modified to log an appropriate message that clearly states that too many virtual circuits were requested. DTS TPO0h02819 An error message logged by the AXIN driver was not updated when the product was released for the HP-UX 10.X operating system release. This message has been corrected. DTS TPO0h02808 IP traffic over PVC fails with Network down problem even when the Link is UP and PVCs are UP. DTS TPO0h02671 There is a commitment to provide X.25 nettl level 3 tracing in the ACC B.02.39 and B.02.40 releases. DTS TPO0h02610 There is a commitment to provide Q4 support for the ACC B.02.39 and B.02.40 releases. DTS TPO0h02243 This problem was caused by the axin driver did not check the link state when the LAP-B SABM collision occurred. The axin driver was modified to check the link state. If the state is not UP, then the axin driver will not notify the isdnconfd to shutdown the link. DTS TPO0h02244 This problem was caused by the "RESTART IND" event came in before the "VC_ENABLE_REQED" event. The fix of this problem is to reorder the processing in Axin_Enable_ZLUs to enable the VC ZLUs before the link terminal. This would ensure the "VC_ENABLE_REQED" event occur before the link is restarted. DTS TPO0h02248 This problem was caused by some of the VCs were not properly enabled before the link is shutdown. The fix of this problem is to wait for all VCs are enabled then disconnecting the link. DTS TPO0h02448 At the x25stop and "zmasterd stop" , when the links are marked down, the interface name field in the ifptr->x25ifconfig is not reset to NULL. This results in getting a wrong ifptr for a given link and leads to the above problem. PHNE_15363: DTS TPO0h02089 Under extremely high loads, the ACC DAM can sometimes be reentered while it is currently executing on the ICS. The ACC DAM is not designed to be reentrant (it is MP SAFE). The AXIN driver was lowering the interrupt level when it should not have been allowing the ACC DAM to be reentered. The AXIN driver was modified to maintain a high SPL level when executing on the ICS. PHNE_13996: SR 1653234476 / DTS TPO0h01652 Configure 64K Throughput Class doesn't get accepted SR: 8606125245 8606126154 8606127758 8606171991 1653234476 1653301580 4701427237 Patch Files: /usr/conf/lib/libx25ip.a /usr/conf/lib/libx25ipsyms.o /usr/conf/lib/libx25pa.a /usr/conf/lib/libx25pasyms.o /usr/conf/lib/libx25.a /usr/conf/lib/libx25syms.o /usr/conf/master.d/x25 /usr/sbin/padem /usr/sbin/x29printd /usr/conf/lib/libaxinsyms.o /usr/conf/master.d/axin /usr/conf/lib/libaxin.a /opt/acc/bin/zx25init /usr/conf/acc/axin.msgs what(1) Output: /usr/conf/lib/libaxin.a: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib axin.a /usr/conf/lib/libaxinsyms.o: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib axinsyms.o /usr/conf/lib/libx25.a: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib x25.a /usr/conf/lib/libx25syms.o: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib x25syms_pci.o /usr/conf/lib/libx25pa.a: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib x25pa.a /usr/conf/lib/libx25pasyms.o: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib x25pasyms_pci.o /usr/conf/lib/libx25ip.a: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib x25ip.a /usr/conf/lib/libx25ipsyms.o: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_22522 lib x25ipsyms_pci.o /usr/conf/master.d/x25: None /usr/sbin/padem: X.25 PAD Services $Revision: 10.32 $ 28_Jan_99_18:23 /usr/sbin/x29printd: X.25 PAD Services $Revision: 10.32 $ 28_Jan_99_18:23 /usr/conf/master.d/axin: None /opt/acc/bin/zx25init: ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_18719 zx2 5init /usr/conf/acc/axin.msgs: None cksum(1) Output: 2685402132 6003 /usr/conf/master.d/x25 843732451 118784 /usr/sbin/padem 2536207429 151552 /usr/sbin/x29printd 337405979 3379 /usr/conf/master.d/axin 1116460882 86281 /opt/acc/bin/zx25init 4078698317 139872 /usr/conf/lib/libaxin.a 1836188886 264832 /usr/conf/lib/libaxinsyms.o 799488034 15943 /usr/conf/acc/axin.msgs 3587118662 182030 /usr/conf/lib/libx25.a 3115834007 210044 /usr/conf/lib/libx25syms.o 4022602782 63496 /usr/conf/lib/libx25pa.a 1010078653 117236 /usr/conf/lib/libx25pasyms.o 759289468 29096 /usr/conf/lib/libx25ip.a 1918720563 107572 /usr/conf/lib/libx25ipsyms.o Patch Conflicts: None Patch Dependencies: s700: 10.20: PHNE_23034 s800: 10.20: PHNE_23034 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_13996 PHNE_15363 PHNE_18719 Equivalent Patches: None Patch Package Size: 1540 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_22522 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_22522.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_22522. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHNE_22522.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_22522.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None.