Patch Name: PHKL_21276

Patch Description: s700_800 11.00 Superio Parallel driver fixes

Creation Date: 00/03/13

Post Date: 00/03/13

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_64,v=HP
	OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_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_21276

Symptoms:
	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.

	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_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.

	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.00,fa=HP-UX_B.11.00_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.00,fa=HP-UX_B.11.00_64,v=HP:
	/usr/conf/master.d/SCentIf

what(1) Output:
	
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_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.00,fa=HP-UX_B.11.00_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.00,fa=HP-UX_B.11.00_64,v=HP:
	1775812905 9352 /usr/conf/lib/libpci.a(ecp_isr.o)
	1259069856 10032 /usr/conf/lib/libpci.a(ecp_strategy.o)
	1145152933 9192 /usr/conf/lib/libpci.a(ecp_utils.o)
	91570983 21216 /usr/conf/lib/libpci.a(superio_centif.o)

	OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
	4024163646 4263 /usr/conf/master.d/SCentIf

Patch Conflicts: None

Patch Dependencies: None

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHKL_20153 

Equivalent Patches:
	PHKL_21099:
	s700: 10.20

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_21276

	5. Run swinstall to install the patch:

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

	By default swinstall will archive the original software in 
	/var/adm/sw/save/PHKL_21276.  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_21276.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_21276.text file is 
	available in the product readme:

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

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

		dd if=/tmp/PHKL_21276.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_20152 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.00 workstations
	which support the SuperIO interface.

