Patch Name: PHNE_25603

Patch Description: s700_800 11.00 Cumulative Mux and Pty Patch

Creation Date: 01/11/30

Post Date: 01/12/06

Hardware Platforms - OS Releases:
	s700: 11.00
	s800: 11.00

Products: N/A

Filesets:
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP

Automatic Reboot?: Yes

Status: General Release

Critical:
	No (superseded patches were critical)
	PHNE_25346: HANG
	PHNE_21257: HANG
	PHNE_20431: PANIC
	PHNE_13801: HANG PANIC

Category Tags:
	defect_repair hardware_enablement enhancement
	general_release critical panic halts_system

Path Name: /hp-ux_patches/s700_800/11.X/PHNE_25603

Symptoms:
	PHNE_25603:
	"ioscan -f" reports UNCLAIMED for the "S/W State" field and
	 UNKNOWN for the "H/W Type" field.
	For example: # ioscan -fnC tty
	Class    I H/W Path Drvr   S/W State H/W  Type Description
	==========================================================
	unknown -1 0/0/4/0 UNCLAIMED UNKNOWN PCIBaseSystem(103c128d)
	tty   0 0/0/4/1 asio0 CLAIMED INTERFACE PCI Serial(103c1048)

	PHNE_25346:
	System hangs due to proc table filling up, it happens when
	wakeup occurs before sleep can be called in the console
	driver.

	PHNE_23930:
	Enhance the pty() master write to support the O_NONBLOCK
	option.  This change is to prevent ied() from hanging.

	PHNE_21897:
	Enhance the system console to work with new (to be released)
	L-Class and N-Class servers.

	PHNE_21257:
	mux2 driver's block mode read, when times out hangs the
	system.

	PHNE_20431:
	1) Data memory protection fault panic when there is framing
	error in the data received in mux card.
	2) System panic when using BSD ptys.

	PHNE_20150:
	B1000, C3000, J5000, and J7000 workstations do not run on
	HPUX 11.00.  HP 9000 N-Class servers hang dialing out over
	the remote console.

	PHNE_18272:
	Added GSP console support to the asio0 driver.

	PHNE_13801:
	1 System may hang during reboot due to pty and mux2
	deadlock.

	2 VTIME parameter is not working correctly when non-blocking
	select()'s are used in a loop.

	3 Data page fault panic on 64 bit system with mux4 card
	when hardware bus error detected.

Defect Description:
	PHNE_25603:
	( SR:8606200932 CR:JAGad70108 )
	When ioscan is done on all the present platforms, an
	UNKNOWN/CLAIMED entry will be found in the ioscan output
	for function 0 device on CoreIO as there was no driver
	presently to claim it

	Resolution:
	A new driver has been provided to claim the unknown device
	on the CoreIO card.

	PHNE_25346:
	In Console driver, wakeup could be called under some
	conditions before it sleeps and due to this wakeup miss it
	would sleep for ever. This would be acquired by init and the
	proc table fills up along with other zombies and results in
	system hang.

	Resolution:
	Console driver is preventing such situations in its flow by
	protecting it with locks.

	PHNE_23930:
	Existing pty() master write did not support the O_NONBLOCK
	option.

	PHNE_21897:
	Existing HP-UX 11.00 console driver does not support new
	(to be released) L-Class and N-Class systems.

	Resolution:
	Console driver enhanced to support new (to be released)
	L-Class and N-class systems.

	PHNE_21257:
	mux2 driver could get into infinite sleep state if a command
	issued from ttyisr context

	Resolution:
	In mux2 driver, if a command is issued from timeout routine
	called by ttisr, AND if mux firmware is busy, mux2_docmdx()
	may have a chance to get a cleared ready bit after issuing
	the command. So the mux2_docmd() has to check for ttisr
	context and issue a mux2_icscmd() instead.

	PHNE_20431:
	1) The panic happens because a counter in tterase() of line
	discipline code is not interpreted correctly.
	2) System panic when trying to use beyond maximum available
	BSD pty drivers.

	Resolution:
	1) The counter in tterase() was of type unsigned int.
	The code tried to use 0xffff to compare it to -1. The
	fix is to change counter to type int.
	2) The fix enforce get_device() to check the minor # with
	the boudary limit of available pty devices.

	PHNE_20150:
	SuperIO console support was not part of the HPUX Extension
	Pack (May 1999).  Merged SuperIO console support from
	HPUX 10.20.

	SR: 8606105374 CR: JAGab73405
	When the Diva chips FIFO is reset with characters in it,
	the Diva clears the FIFO and the LSR register but fails to
	clear the IIR register.  As a result the asio0 interupt
	routine hangs trying to read a character that is not there.
	The fix was to check that the LSR register is set before
	entering the read FIFO loop.  This is easily reproduced by
	using the SAS to enable and then disable the remote console
	and then using cu to enable a modem connected to the remote
	console port.

	PHNE_18272:
	This is an enhancement request to support a new console for
	a new platform.

	Resolution:
	Enhancement.

	PHNE_13801:
	1 System may hang during reboot due to pty and mux2
	deadlock.

	2 VTIME parameter is not working correctly when non-blocking
	select()'s are used in a loop, because each call to select()
	may cancel a previous inter-character timer.

	3 64 bit system with mux4 card panicked when hardware
	error detected because of a 64 bit address truncation to
	32 bits and trying to access the invalid address.

SR:
	5003399733 5003403055 1653255174 4701406538 8606105374
	8606107507 8606107058 1653306845 1653298406 8606131476
	8606144076 8606186148 8606206183 8606200932

Patch Files:
	
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
	/usr/conf/lib/libhp-ux.a(hptt0.o)
	/usr/conf/lib/libhp-ux.a(mux2.o)
	/usr/conf/lib/libhp-ux.a(mux4.o)
	/usr/conf/lib/libhp-ux.a(mux5.o)
	/usr/conf/lib/libhp-ux.a(tty_pty.o)
	/usr/conf/lib/libhp-ux.a(asio0.o)
	/usr/conf/lib/libhp-ux.a(ttycomn.o)
	/usr/conf/lib/libhp-ux.a(sastty.o)
	/usr/conf/lib/libhp-ux.a(func0.o)
	/usr/conf/master.d/func0

	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
	/usr/conf/lib/libhp-ux.a(hptt0.o)
	/usr/conf/lib/libhp-ux.a(mux2.o)
	/usr/conf/lib/libhp-ux.a(mux4.o)
	/usr/conf/lib/libhp-ux.a(mux5.o)
	/usr/conf/lib/libhp-ux.a(tty_pty.o)
	/usr/conf/lib/libhp-ux.a(asio0.o)
	/usr/conf/lib/libhp-ux.a(ttycomn.o)
	/usr/conf/lib/libhp-ux.a(sastty.o)
	/usr/conf/lib/libhp-ux.a(func0.o)
	/usr/conf/master.d/func0

what(1) Output:
	
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
	/usr/conf/lib/libhp-ux.a(asio0.o):
		PATCH_11.00: asio0.o  1.10.118.22  09/20/01 PHNE_253
			46
	/usr/conf/lib/libhp-ux.a(hptt0.o):
		PATCH_11.00: hptt0.o  1.12.118.12  99/11/18  PHNE_20
			431
	/usr/conf/lib/libhp-ux.a(mux2.o):
		PATCH_11.00: mux2.o  1.10.118.13  00/03/15  PHNE_212
			57
	/usr/conf/lib/libhp-ux.a(mux4.o):
		PATCH_11.00: mux4.o  1.8.118.6  98/03/04  PHNE_13801
	/usr/conf/lib/libhp-ux.a(mux5.o):
		PATCH_11.00: mux5.o  1.6.118.2  98/03/04  PHNE_13801
	/usr/conf/lib/libhp-ux.a(sastty.o):
		PATCH_11.00: sastty.o   1.1.118.6  04/15/99  PHNE_18
			272
	/usr/conf/lib/libhp-ux.a(tty_pty.o):
		tty_pty.c $Date: 2001/05/16 15:43:39 $Revision: r11r
			os/3 PATCH_11.00 (PHNE_23930)
	/usr/conf/lib/libhp-ux.a(ttycomn.o):
		PATCH_11.00: ttycomn.o   1.14.106.5  04/15/99 PHNE_1
			8272
	/usr/conf/lib/libhp-ux.a(func0.o):
		PATCH_11.00: func0.o 2001/11/29 PHNE_25603
	/usr/conf/master.d/func0:
		func0 $Date: 2001/11/29 16:57:37  PATCH_11.00 (PHNE_
			25603)

	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
	/usr/conf/lib/libhp-ux.a(asio0.o):
		PATCH_11.00: asio0.o  1.10.118.22  09/20/01 PHNE_253
			46
	/usr/conf/lib/libhp-ux.a(hptt0.o):
		PATCH_11.00: hptt0.o  1.12.118.12  99/11/18  PHNE_20
			431
	/usr/conf/lib/libhp-ux.a(mux2.o):
		PATCH_11.00: mux2.o  1.10.118.13  00/03/15  PHNE_212
			57
	/usr/conf/lib/libhp-ux.a(mux4.o):
		PATCH_11.00: mux4.o  1.8.118.6  98/03/04  PHNE_13801
	/usr/conf/lib/libhp-ux.a(mux5.o):
		PATCH_11.00: mux5.o  1.6.118.2  98/03/04  PHNE_13801
	/usr/conf/lib/libhp-ux.a(sastty.o):
		PATCH_11.00: sastty.o   1.1.118.6  04/15/99  PHNE_18
			272
	/usr/conf/lib/libhp-ux.a(tty_pty.o):
		tty_pty.c $Date: 2001/05/16 15:43:39 $Revision: r11r
			os/3 PATCH_11.00 (PHNE_23930)
	/usr/conf/lib/libhp-ux.a(ttycomn.o):
		PATCH_11.00: ttycomn.o   1.14.106.5  04/15/99 PHNE_1
			8272
	/usr/conf/lib/libhp-ux.a(func0.o):
		PATCH_11.00: func0.o 2001/11/29 PHNE_25603
	/usr/conf/master.d/func0:
		func0 $Date: 2001/11/29 16:57:37  PATCH_11.00 (PHNE_
			25603)

cksum(1) Output:
	
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
	2651164030 25488 /usr/conf/lib/libhp-ux.a(asio0.o)
	3843065860 44528 /usr/conf/lib/libhp-ux.a(hptt0.o)
	2379069232 48928 /usr/conf/lib/libhp-ux.a(mux2.o)
	2250921814 39380 /usr/conf/lib/libhp-ux.a(mux4.o)
	802086535 2464 /usr/conf/lib/libhp-ux.a(mux5.o)
	780187552 18200 /usr/conf/lib/libhp-ux.a(sastty.o)
	1818089565 25144 /usr/conf/lib/libhp-ux.a(tty_pty.o)
	1549866544 14472 /usr/conf/lib/libhp-ux.a(ttycomn.o)
	2577780923 2052 /usr/conf/lib/libhp-ux.a(func0.o)
	305695634 719 /usr/conf/master.d/func0

	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
	89440531 49224 /usr/conf/lib/libhp-ux.a(asio0.o)
	2250103047 80656 /usr/conf/lib/libhp-ux.a(hptt0.o)
	2337968314 105664 /usr/conf/lib/libhp-ux.a(mux2.o)
	742439636 82024 /usr/conf/lib/libhp-ux.a(mux4.o)
	3723030316 5752 /usr/conf/lib/libhp-ux.a(mux5.o)
	2154821199 38120 /usr/conf/lib/libhp-ux.a(sastty.o)
	479888647 61864 /usr/conf/lib/libhp-ux.a(tty_pty.o)
	600510415 29120 /usr/conf/lib/libhp-ux.a(ttycomn.o)
	3457529368 4952 /usr/conf/lib/libhp-ux.a(func0.o)
	305695634 719 /usr/conf/master.d/func0

Patch Conflicts: None

Patch Dependencies: None

Hardware Dependencies: None

Other Dependencies:
	The latest version of F/W must be upgraded.

Supersedes:
	PHNE_13801 PHNE_18272 PHNE_20150 PHNE_20431 PHNE_21257 PHNE_21897
	PHNE_23930 PHNE_25346

Equivalent Patches: None

Patch Package Size: 00 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_25603

	5. Run swinstall to install the patch:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -s /tmp/PHNE_25603.depot

	By default swinstall will archive the original software in 
	/var/adm/sw/save/PHNE_25603.  If you do not wish to retain a
	copy of the original software, include the patch_save_files
	option in the swinstall command above:

		-x patch_save_files=false

	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_25603.text file is 
	available in the product readme:

		swlist -l product -a readme -d @ /tmp/PHNE_25603.depot

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHNE_25603.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions: None

