Alan Stern wrote:
David:




Jun  5 20:53:25 ventus kernel: usb-storage: Attempting to get CSW...
Jun  5 20:53:25 ventus kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
Jun  5 20:53:55 ventus kernel: usb-storage: usb_storage_command_abort called
Jun  5 20:53:55 ventus kernel: usb-storage: usb_stor_stop_transport called
Jun  5 20:53:55 ventus kernel: usb-storage: -- cancelling URB
Jun  5 20:53:55 ventus kernel: usb-storage: Status code -104; transferred 0/13
Jun  5 20:53:55 ventus kernel: usb-storage: -- transfer cancelled
Jun  5 20:53:55 ventus kernel: usb-storage: Bulk status result = 3
Jun  5 20:53:55 ventus kernel: usb-storage: -- command was aborted


But the accompanying status bulk-in transfer timed out. Unfortunately, there's no information from the EHCI driver to indicate if anything else happened.

Andras, if you notice distinct pauses, and this is on 2.5 (seems to be), then there's more information available. Basically, the sysfs files for EHCI (enabled with CONFIG_USB_DEBUG) may have relevant information.

Make sure you're running a kernel with the kernel hacking "debug memory
allocations" option enabled.  Then when it pauses, copy the "async"
file for that controller and send it to me.  In fact, just make a
copy of every file in the relevant sysfs directory (it'll be something
like /sys/bus/pci/devices/00:09.2).


Then it asked for a hard device reset, which translates into
usb_reset_device().  The debugging messages added by Andras, which I've
removed here, make it clear that usb_hub_port_wait_reset() eventually
returns 1, indicating a disconnect.

I tend to believe such reports. Why it went away is a question.



I strongly suspect -- but I don't know for certain -- that the device did
not really disconnect itself electrically from the bus. In fact, Andras stated that rebooting without unplugging or powering-off the device got everything working again.

Rebooting tends to do that, regardless. We know the reset_device() code is problematic; reboot does it right, we know that!


Does this suggest any place to start looking in the EHCI driver? Would
turning on the driver's verbose debugging help? Is there anything else to try?

If it's the kind of failure I half suspect, the "async" schedule dump will say what's up.

- Dave







-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to