Re: Crash of ehci_hcd after several USB enumeration cycles

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

 



On Mon, 27 Feb 2012, Adrien Decostre wrote:

> Dear all,
> 
> I am currently doing some tests to communicate with an USB HID device
> by means of the HIDAPI and libusb libraries on a Linux x64
> distribution.
> One of these tests consists basically of successive enumeration cycles:
> -��opening the hid device
> -��exchanging some data between the host and the device
> -��at some point, closing the communication with the hid device
> -��wait a few second and reiterate the above steps
> 
> This test runs correctly a few times and then suddenly crashes.
> Apparently, this crash happens in a random way.
> 
> The strange point is that after this crash, the file system in RAM is
> "corrupted": some folders like �etc� have disappeared and I have to
> reboot the kernel.

I have no idea what could be causing that corruption, unless the 
filesystems in question reside on a USB drive.

> The crash has been seen on 2 different machines:
> - on x64 Ubuntu 2.6.35 based kernel (Ubuntu 10.10)
> - on x64 Angstr�.6.39 based kernel (the log given below have been
> obtained on this machine). On this last machine, the crash happens
> only on the 2nd usb bus. When the test usb device is connected to the
> 1st bus usb, I have not seen any problem up to now.
> 
> When looking to the dmesg output, the crash seems to be caused by the
> kworker process. The crash log starts with a crash of the ehci driver
> (see below for a complete dmesg log):
> ehci_hcd 0000:00:13.2: force halt; handshake ffffc90000070024 00004000
> 00000000 -> -110
> ehci_hcd 0000:00:13.2: HC died; cleaning up
> usb 2-4: usbfs: usb_submit_urb returned -110
> usb 2-3: USB disconnect, device number 2
> 
> In the past days, I have been looking for a possible bug in my test
> application or in the HIDAPI / libusb libraries (cf.
> http://libusb.6.n5.nabble.com/Application-using-HIDAPI-and-libusb-causes-file-system-corruption-td5508578.html)
> but I am now wondering if this could be related to a known issue in
> the kernel.

It's a known bug in the EHCI hardware in quite a few different 
platforms.  Here's an experimental patch to work around it:

	http://marc.info/?l=linux-usb&m=132440828606642&w=2

You may have to do some hand editing to get that patch to apply, 
because you're using some old kernels.

> Has someone already seen a similar issue with any application?
> Could a bug in an userspace application cause this kernel crash?

Most unlikely.

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