Subject: kern/10197: kue USB device fails to download firmware, then panics
To: None <gnats-bugs@gnats.netbsd.org>
From: Hubert Feyrer <feyrer@smaug.fh-regensburg.de>
List: netbsd-bugs
Date: 05/24/2000 17:20:11
>Number:         10197
>Category:       kern
>Synopsis:       kue USB device fails to download firmware, then panics
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 24 17:21:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Hubert Feyrer
>Release:        20000524
>Organization:
Hubert Feyrer <hubertf@channel.regensburg.org>
>Environment:
Toshiba Satellite 2140 XCDS running 1.4Y as of 20000524.
The machine's USB devices are found as:

ohci0 at pci0 dev 11 function 0: NEC USB Host Controller (rev. 0x02)
ohci0: interrupting at irq 11
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered


>Description:

Using a Toshiba Satellite 2140 XCDS and a 3COM usb->ethernet adapter I
get:


kue0 at uhub0 port 1
kue0: 3COM 3COM HomeConnect Ethernet USB Adapter (3C460), rev 1.00/0.05,
addr 2
kue0: cold boot, downloading firmware
kue0: failed to load code segment: TIMEOUT
kue0: loading firmware failed

The machine has USB on a ohci.  The same device has worked before on
another Toshiba machine (Satellite 2640XDVD) that had USB on a uhci.


Worse now, unplugging the device:

uhub0: port error, restarting port 1
kue0: at uhub0 port 1 (addr 2) disconnected
kue0 detached
usb_transfer_complete: bad dequeue 0xc058b800 != 0x0
panic: ohci_add_done: addr 0x01b42710 not found

Stopped at     cpu_Debugger+0x4:    leave


Stack trace (ten finger dump):

cpu_Debugger)(
panic()
ohci_add_done()
ohci_intr1
ohci_intr
Xintr11()
--- interrupt ---
idle()
bpendtsleep()
usbd_transfer()
usbd_sync_transfer()
usbd_do_request_flags()
usbd_do_request()
usbd_get_string_desc()
usbd_get_string()
usbd_devinfo_vp()
usbd_fill_deviceinfo()
usbd_add_dev_event()
usb_disconnect_port()
uhub_explore() 
usb_discover()
usb_event_thread()
Bad frame pointer: 0xc041ee9c
db>


>How-To-Repeat:
	 * Plug in kue USB->Ethernet adapter (3COM)
	 * Note failure to download firmware
	 * Unplug device
	 * See a panic
	 * Scratch head.

>Fix:
	no idea.
>Release-Note:
>Audit-Trail:
>Unformatted: