Alan Stern said:
> This is a problem in uhci-hcd.  A struct urbp (private data structure) is
> being accessed after it has been freed.  More specifically, the list of
> unlinked URBs (uhci->urb_remove_list) has been corrupted: it points to a
> deallocated urbp.  It would be nice to know how this could happen.

CONFIG_DEBUG_SLAB=y

Should I set CONFIG_DEBUG_PAGEALLOC as well? (Sorry, I'm not completely up
to speed on the new memory debugging options.)

> The function uhci_destroy_urb_priv() -- which is the only place these
> things are deallocated -- should print out a warning message if an urbp is
> still on that list.  But that only happens if you have configured USB
> debugging in your kernel.

This is what I see on the console after a number of tests with firmware
loaded:

drivers/usb/misc/usbtest.c: control queue 81.0a, err -121, 31997 left
drivers/usb/host/uhci-hcd.c: uhci_destroy_urb_priv: urb c706ff1c still on
uhci->urb_list or uhci->remove_list
drivers/usb/host/uhci-hcd.c: uhci_destroy_urb_priv: urb c706f3b8 still on
uhci->urb_list or uhci->remove_list
drivers/usb/host/uhci-hcd.c: uhci_destroy_urb_priv: urb c706f34c still on
uhci->urb_list or uhci->remove_list
drivers/usb/host/uhci-hcd.c: uhci_destroy_urb_priv: urb c706f2e0 still on
uhci->urb_list or uhci->remove_list
drivers/usb/host/uhci-hcd.c: uhci_destroy_urb_priv: urb c706fd6c still on
uhci->urb_list or uhci->remove_list
drivers/usb/host/uhci-hcd.c: uhci_destroy_urb_priv: urb c706fc28 still on
uhci->urb_list or uhci->remove_list

Without firmware, the list is similar, but about half as long. I'll try
and turn on USB debugging and see what I come up with.

> If you haven't done that, try running the test again with USB debugging
> on.  Or if you already have, look through the system log for messages from
> the uhci driver.

Will do. Isn't there a sysfs node that correlates the URB addresses with
how they were submitted? Or any other sort of UHCI debugging info? Maybe
I'm imagining things.

I was going to try and eliminate my board construction as one of the
variables, but I can't seem to locate my Keyspan serial adapters at the
moment. Can anyone with a recent 2.5.x/2.6test kernel, a Keyspan adapter
and UHCI try to reproduce this as well?

When I remembered to load the firmware, the worst that happened was that
the usbtest process went out for a long lunch break (but it responded to
signals). The kernel panics happened when I didn't load firmware.

-- 
Charles Lepple <[EMAIL PROTECTED]>
http://www.ghz.cc/charles/


-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to