Patch-ID# 109896-03
Keywords: security USB usb_mid usba USB_SUCCESS usb_pipe_close scsa2usb
Synopsis: SunOS 5.8: USB patch
Date: Oct/19/2000

Solaris Release: 8

SunOS release: 5.8

Unbundled Product: 

Unbundled Release: 

Topic: SunOS 5.8: USB patch

	NOTE:	Refer to Special Install Instructions section for 
		IMPORTANT specific information on this patch.

BugId's fixed with this patch: 4179082 4207634 4257491 4278766 4282084 4284408 4284481 4288456 4290035 4290038 4290048 4297451 4297991 4298047 4299321 4299711 4301110 4302435 4303153 4303369 4303371 4304019 4304060 4304250 4304253 4304383 4304968 4305437 4305467 4305645 4305649 4305819 4306676 4307085 4308510 4308511 4309328 4309368 4309566 4309916 4311023 4312163 4312381 4314164 4314166 4317503 4317522 4317527 4317528 4320410 4323024 4328542 4329325 4329560 4330021 4331700 4332033 4332613 4332707 4336235 4336592 4337149 4337561 4337816 4338525 4339292 4341714 4341839 4342024 4342426 4342488 4343230 4343443 4344107 4344121 4344122 4346249 4346963 4347288 4349013 4349282 4350113 4350901 4351268 4351426 4351707 4352101 4353264 4369166 

Changes incorporated in this version: 4369166

Relevant Architectures: sparc

Patches accumulated and obsoleted by this patch: 109314-05 

Patches which conflict with this patch: 

Patches required with this patch: 108528-03 108979-08 109883-01 (or newer)

Obsoleted by: 

Files included with this patch:

/etc/format.dat
/kernel/drv/hid
/kernel/drv/ohci
/kernel/drv/scsa2usb
/kernel/drv/sparcv9/hid
/kernel/drv/sparcv9/ohci
/kernel/drv/sparcv9/scsa2usb
/kernel/drv/sparcv9/usb_mid
/kernel/drv/sparcv9/usbprn
/kernel/drv/usb_mid
/kernel/drv/usbprn
/kernel/misc/sparcv9/usba
/kernel/misc/usba
/kernel/strmod/sparcv9/usbkbm
/kernel/strmod/sparcv9/usbms
/kernel/strmod/usbkbm
/kernel/strmod/usbms
/usr/include/sys/usb/clients/printer/usb_printer.h
/usr/include/sys/usb/usba.h
/usr/include/sys/usb/usbai.h
/usr/lib/adb/hubd
/usr/lib/adb/ohci_ed
/usr/lib/adb/ohci_hcca
/usr/lib/adb/ohci_pipe_private
/usr/lib/adb/ohci_regs
/usr/lib/adb/ohci_root_hub
/usr/lib/adb/ohci_td
/usr/lib/adb/ohci_trans_wrapper
/usr/lib/adb/ohci_usb_dev
/usr/lib/adb/openhci_state
/usr/lib/adb/scsa2usb_cmd
/usr/lib/adb/scsa2usb_state
/usr/lib/adb/sparcv9/hubd
/usr/lib/adb/sparcv9/ohci_ed
/usr/lib/adb/sparcv9/ohci_hcca
/usr/lib/adb/sparcv9/ohci_pipe_private
/usr/lib/adb/sparcv9/ohci_regs
/usr/lib/adb/sparcv9/ohci_root_hub
/usr/lib/adb/sparcv9/ohci_td
/usr/lib/adb/sparcv9/ohci_trans_wrapper
/usr/lib/adb/sparcv9/ohci_usb_dev
/usr/lib/adb/sparcv9/openhci_state
/usr/lib/adb/sparcv9/scsa2usb_cmd
/usr/lib/adb/sparcv9/scsa2usb_state
/usr/lib/adb/sparcv9/usb_device
/usr/lib/adb/sparcv9/usbprn_def_arg
/usr/lib/adb/sparcv9/usbprn_power
/usr/lib/adb/sparcv9/usbprn_ps
/usr/lib/adb/sparcv9/usbprn_reset_arg
/usr/lib/adb/sparcv9/usbprn_state
/usr/lib/adb/usb_device
/usr/lib/adb/usbprn_def_arg
/usr/lib/adb/usbprn_power
/usr/lib/adb/usbprn_ps
/usr/lib/adb/usbprn_reset_arg
/usr/lib/adb/usbprn_state
/usr/lib/adb/hcca		(deleted file)
/usr/lib/adb/hc_ed		(deleted file)
/usr/lib/adb/hc_gtd		(deleted file)
/usr/lib/adb/hcr_regs		(deleted file)
/usr/lib/adb/root_hub		(deleted file)
/usr/lib/adb/usb_dev		(deleted file)
/usr/lib/adb/sparcv9/hcca		(deleted file)
/usr/lib/adb/sparcv9/hc_ed		(deleted file)
/usr/lib/adb/sparcv9/hc_gtd		(deleted file)
/usr/lib/adb/sparcv9/hcr_regs		(deleted file)
/usr/lib/adb/sparcv9/root_hub		(deleted file)
/usr/lib/adb/sparcv9/usb_dev		(deleted file)
 


Problem Description:

4369166 I-DEAS F1+Mouse does not work on USB kbds

(from 109896-02)

4346963 ohci_handle_ue shouldn't call debug_enter
4350113 ohci root hub timeout is not restarted under allocb failure
4352101 UHCI_INTR_MASK macro value is wrong
4349282 prtconf hung when a protype Lex Mark printer connected at Plugfest
4314164 Error message "connecting device on port 1 failed" displayed when no devices ar
4308510 panic in uhci mutex_enter: uhci_sendup_td_message
4308511 panic in uhci mutex_enter: uhci_handle_intr_td_errors
4349013 zip driver won't suspend, even after drive is removed from system
4350901 scsa2usb_bulkin reset called after scsa2usb_bulkout reset
4351707 Stop issuing GET_MAX_LUN to USB zip drives
4347288 print a message when a device is in use and a user 'hot removes' it
4344122 usb_get_string_descriptor() can panic the system
4351268 string descriptors not being properly filled in
4351426 usb_dprintf0 adds an extra newline to the message on the console
4344107 panic when usba_clear_print_buf is called from kadb in non-debug kernel
4353264 usb packages : remove "pci108e,1103" entry from add_drv for ohci driver

(from 109896-01)

	This patch revision was generated to accumulate and obsolete
	the feature changes introduced in point patch 109314-05.

4179082 Remove RIO specific code from ohci driver after RIO pass2
4207634 usb packages : remove "pci108e,1103" entry from /etc/driver_aliases
usb packages: undo fix for 4207634
4278766 assertion failed: ph->p_sync_result.p_done == 0 with usb_bobo
4282084 Need a mechanism to specify different timeouts for each command sent out on USB
4284481 uhci_cleanup refers to freed memory, panics DEBUG kernel
4297991 Beep goes non-stop  during console kbd/ms hotplug
4305437 driver needs to put device in low power at detach time
4312163 cleanup minor nits in usb files
4314166 usba: redundant check in usb_pipe_sync_close/usb_pipe_release on valid pipe
4323024 Extra device node created for Epson printer.
4329325 System panics on x86 with the usbprn driver on on81 gate
4329560 warlock.usb fails with errors on on81
4330021 GET_MAX_LUN bRequest and bmRequestType are in reverse order
4331700 usb_get_string_descriptor() panics in scsa2usb as len is less
4332033 usba/parser.c: none of the functions check for "ret_buf_len"
4332613 cybex hid device needs workaround to support multiple report id
4332707 need a function to figure out different alternate interfaces.
4336592 Castlewood ORB 2.2 GB drive does not work on x86
4337149 ohci: NULL pointer dereference during cpr on new platform
4337561 enable attaching Imation's USB LS-120 drive to scsa2usb
4338525 running label (under format) on zip100 returns error message
4339292 possible TRAP in ohci.c
4341839 Remove RIO1 specific code in ohci driver
4328542 hubd set feature port enable need to distinguish between root hub vs regular hub
4307085 USB printer support required on Solaris
4309566 64 bytes data loss problem with Lexmark Optra 310 when paper out
4312381 ohci should return whatever data received under data overrun condition
4317503 usb_mid: always enable PM
4317522 usba: eliminate assert on prop function's return value
4317527 hub driver needs to raise power level at attach time, lower at detach
4317528 usb_mid driver needs to raise power level at attach time, lower at detach
4257491 ohci cannot do 8k transfer per TD
4284408 usb_mid/hid need some clean up with respect to states
4288456 assertion failed: rval == USB_SUCCESS, file: ../../common/io/usb/usba/hubdi.c,
4290035 Workaround needed for Microsoft IntelliMouse & keyboard
4290038 root hub interrupt events must be emulated correctly
4290048 hubd may need to handle disconnect/reconnect
4297451 USB Power Management is incorrectly disabled on RIO Pass 2
4298047 Hangs on booting; also prtconf hangs
4299321 assertion in usb_mid regards mi_dev_state
4299711 assert caught while doing USB suspend/resume on PPX with rio 2.0
4301110 Add kadb macros to UHCI
4302435 USB_SHORT_XFER_OK instead of USB_FLAGS_SHORT_XFER_OK in usbai.h
4303153 ch11 tests fail with timeouts on UHCI
4303371 ohci code cleanup
4304019 get_max_lun request to hagiwara's flash gate device confuses it w/ ohci
4304060 ohci data structures and adb macros must have driver prefixes
4304250 Data under run case is not handled properly
4304253 Bulk Performance on UHCi is not good
4304383 cleanup usb_mid event posting mechanism
4304968 usb_pipe_close doesn't check if the pipe handle is NULL.
4305467 Bulk devices starve for the execution
4305645 ohci should return number of bytes transmitted when send command fails
4309916 hub enumeration fails on UHCI
4303369 Data toggle mismatch across pipe open/close and pipe reset between host & device
4305649 ohci TD  fields and definitions names must be changed appropriately
4305819 ohci incorrectly reports 4096 for min PCI clock
4306676 usba_impl.h should not be included in client drivers
4309328 memory leak in scsa2usb_bulk_only_transport()
4309368 usba_hcdi_soft_intr() uses PRINT_MASK_HCDI which is wrong
4311023 usba_destroy_pipe_handle() must wait for sync cmds to complete
4320410 /devices entries for USB devices have wrong permissions
4336235 Hid needs to power manage the new mouse
4342024 usb pipe policy changes need to be rev'ed
4342426 memory leak in usba_async_request_raise_power()
4342488 Move debug_enter code under ifdef DEBUG
4343443 for all usb devices check if they are bound to a driver; and report error if not
4341714 warn user that no driver has been found
4344121 memory leak in hid_default_pipe_exception_callback()
4337816 hubd panic during hotplug with hid tests
4343230 memory leak in usbms_wput()
4346249 usb packages: undo fix for 4207634

(from 109314-05)

4336235 Hid needs to power manage the new mouse
4342024 usb pipe policy changes need to be rev'ed
4342426 memory leak in usba_async_request_raise_power()
4342488 Move debug_enter code under ifdef DEBUG
4343443 for all usb devices check if they are bound to a driver; and report error if not
4341714 warn user that no driver has been found
4344121 memory leak in hid_default_pipe_exception_callback()
4337816 hubd panic during hotplug with hid tests
4343230 memory leak in usbms_wput()

(from 109314-04)

4346249 usb packages: undo fix for 4207634

(from 109314-03)

4179082 Remove RIO specific code from ohci driver after RIO pass2
4207634 usb packages : remove "pci108e,1103" entry from /etc/driver_aliases
4278766 assertion failed: ph->p_sync_result.p_done == 0 with usb_bobo
4282084 Need a mechanism to specify different timeouts for each command sent out on USB
4284481 uhci_cleanup refers to freed memory, panics DEBUG kernel
4297991 Beep goes non-stop  during console kbd/ms hotplug
4305437 driver needs to put device in low power at detach time
4312163 cleanup minor nits in usb files
4314166 usba: redundant check in usb_pipe_sync_close/usb_pipe_release on valid pipe
4323024 Extra device node created for Epson printer.
4329325 System panics on x86 with the usbprn driver
4329560 warlock.usb fails with errors 
4330021 GET_MAX_LUN bRequest and bmRequestType are in reverse order
4331700 usb_get_string_descriptor() panics in scsa2usb as len is less
4332033 usba/parser.c: none of the functions check for "ret_buf_len"
4332613 cybex hid device needs workaround to support multiple report id
4332707 need a function to figure out different alternate interfaces.
4336592 Castlewood ORB 2.2 GB drive does not work on x86
4337149 ohci: NULL pointer dereference during cpr on new platform
4337561 enable attaching Imation's USB LS-120 drive to scsa2usb
4338525 running label (under format) on zip100 returns error message
4339292 possible TRAP in ohci.c
4341839 Remove RIO1 specific code in ohci driver
4328542 hubd set feature port enable need to distinguish between root hub vs regular hub

(from 109314-02)

	This patch revision was generated to remove rem_devlink code
	from the USB patch.

(from 109314-01)

4307085 USB printer support required on Solaris
4309566 64 bytes data loss problem with Lexmark Optra 310 when paper out
4312381 ohci should return whatever data received under data overrun condition
4317503 usb_mid: always enable PM
4317522 usba: eliminate assert on prop function's return value
4317527 hub driver needs to raise power level at attach time, lower at detach
4317528 usb_mid driver needs to raise power level at attach time, lower at detach
4257491 ohci cannot do 8k transfer per TD
4284408 usb_mid/hid need some clean up with respect to states
4288456 assertion failed: rval == USB_SUCCESS, file: ../../common/io/usb/usba/hubdi.c,
4290035 Workaround needed for Microsoft IntelliMouse & keyboard
4290038 root hub interrupt events must be emulated correctly
4290048 hubd may need to handle disconnect/reconnect
4297451 USB Power Management is incorrectly disabled on RIO Pass 2
4298047 Hangs on booting; also prtconf hangs
4299321 assertion in usb_mid regards mi_dev_state
4299711 assert caught while doing USB suspend/resume on PPX with rio 2.0
4301110 Add kadb macros to UHCI
4302435 USB_SHORT_XFER_OK instead of USB_FLAGS_SHORT_XFER_OK in usbai.h
4303153 ch11 tests fail with timeouts on UHCI
4303371 ohci code cleanup
4304019 get_max_lun request to hagiwara's flash gate device confuses it w/ ohci
4304060 ohci data structures and adb macros must have driver prefixes
4304250 Data under run case is not handled properly
4304253 Bulk Performance on UHCi is not good
4304383 cleanup usb_mid event posting mechanism
4304968 usb_pipe_close doesn't check if the pipe handle is NULL.
4305467 Bulk devices starve for the execution
4305645 ohci should return number of bytes transmitted when send command fails
4309916 hub enumeration fails on UHCI
4303369 Data toggle mismatch across pipe open/close and pipe reset between host & device
4305649 ohci TD  fields and definitions names must be changed appropriately
4305819 ohci incorrectly reports 4096 for min PCI clock
4306676 usba_impl.h should not be included in client drivers
4309328 memory leak in scsa2usb_bulk_only_transport()
4309368 usba_hcdi_soft_intr() uses PRINT_MASK_HCDI which is wrong
4311023 usba_destroy_pipe_handle() must wait for sync cmds to complete
4320410 /devices entries for USB devices have wrong permissions

Patch Installation Instructions:
--------------------------------

For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch.

For Solaris 7-8 releases, refer to the man pages for instructions
on using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:

       example# patchadd /var/spool/patch/104945-02

The following example removes a patch from a standalone system:

       example# patchrm 104945-02

For additional examples please see the appropriate man pages.

Special Install Instructions: 

----------------------------- 

	NOTE:	To get the full support for logical device namespace for 
                printers and new printer minor node type, one needs to
                install the following patches:

		108528-03 (or newer)    kernel update patch
		108979-08 (or newer)    devfsadm, platform nexus, I2C and 
					Netra ct patch
		109880-01 (or newer)    forthdebug patch
		109883-01 (or newer)    ecppsys.h patch
		109892-01 (or newer)    ecpp patch
		109893-01 (or newer)    stc patch
		109894-01 (or newer)    bpp patch
		109877-01 (or newer)    dma_i8237A.h patch
		109890-01 (or newer)    pmserver.jar patch
		109896-01 (or newer)    USB patch
