Re: Continuous stream of small bulk transfers hangs on OHCI-based system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 5 Aug 2012, Tomas Sokorai wrote:

> Hi guys!
> 
> I think I might have hit a bug:
> 
> * Description of the issue *
> Continuous (variable time 1-10 mins) small bulk transfers (between 1-6
> bytes payload) either with libusb, or generic USB serial driver, leaves the
> app in uninterruptible wait state (i.e., hung).
> 
> The kernel hung task stack dump consistently show the USB stack getting stuck:

...

> All the stacks are consistent of getting stuck in usb_kill_urb().
> 
> * Environment *
> 
> This happens only in a OHCI-based system (AMD CPU, nVidia chipset),
> since if I test the same program and USB device in an Intel-based,
> EHCI laptop, I never hit this problem, and what's more interesting:
> the operations are about 5x faster in the EHCI system, even when my
> device is only 12Mbit-capable.
> 
> I can reproduce this issue with a vanilla 3.5.0 kernel.

...

> Any further ideas to shed more light into this issue?

Build a kernel with CONFIG_USB_DEBUG enabled (and also
CONFIG_DEBUG_FS).  When the hang occurs, go into the subdirectory of
/sys/kernel/debug/usb/ohci/ corresponding to the bus the device is
plugged into (0000:00:04.0 if your setup hasn't changed), and post
copies of the "registers" and "async" files.

Alan Stern


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux