[Bug 88746] Re: ehci_hcd module causes I/O errors in USB 2.0 devices

TJ ubuntu at tjworld.net
Fri Mar 20 16:55:17 UTC 2009

Re-assigning to upstream bug "reset high speed USB device using

A comment (#55) there from Alan Stern:

"Your conclusions look right.  And they would explain the disk problems: Many
EHCI controllers have a bug which causes them to temporarily drop data on one
port when a device on a different port disconnects.  I'd say that whatever is
causing the keyboard communications to drop out manages, every so often, to
interfere with the disk traffic.

The computer then tries to reset the disk drive, but many USB drives have a bug
which prevents them from resetting correctly when they're in the middle of an
I/O operation.  As a result, the drive becomes unusable and the system puts it

As for what causes the keyboard problems... I don't know.  It could simply be a
cabling issue.  For example, I've got a USB-to-PS/2 keyboard+mouse converter. 
It doesn't work at all when plugged directly into my computer, but it works
just fine when connected through a USB extension cable.  Try and figure that
one out!

You could try using a different keyboard.  Maybe it wouldn't get all those
communications dropouts when plugged into the DLink hub or the ATEN switch."

Later Alan provides a patch:

"Make EHCI retry transaction errors 32 times

For those of you with problems caused by hubs or KVMs, you can try out this
patch  (which is based on 2.6.28, although it might also work with earlier
kernels).  I have no idea whether it will fix all of your problems, but there's
a good chance it will fix some of them."

When I get a chance I'll add the patch to the Jaunty (2.6.28) kernel and
provide test kernels.

** Changed in: linux
     Bugwatch: Linux Kernel Bug Tracker #11030 => Linux Kernel Bug Tracker #11159
       Status: Invalid => Unknown

** Changed in: linux (Ubuntu Jaunty)
     Assignee: (unassigned) => TJ (intuitivenipple)
       Status: Incomplete => In Progress

ehci_hcd module causes I/O errors in USB 2.0 devices
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to Linux.

More information about the kernel-bugs mailing list