Re: Question about error from xhci-hcd

From: Sarah Sharp
Date: Sun Oct 30 2011 - 01:05:07 EST

On Sat, Oct 29, 2011 at 12:48:12PM -0500, Larry Finger wrote:
> Sarah,
> Pardon the intrusion, but I'm trying to fix a problem for v4mp, a
> user of the rtl8192cu driver on an Alfa AWUS036NHR. I have one of
> the devices, and it works on a USB 2.0 hub, but fails with 3.0
> hardware with lots of
> xhci_hcd 0000:05:00.0: ERROR no room on ep ring
> messages logged.

The xHCI driver allocates a fixed-size endpoint ring, and only so much
data can fit on it. If the driver is allocating many URBs or many URBs
with a lot of data, then you will see these messages and the URBs will
fail to be submitted. Now if neither of those conditions are true, then
it's possible we just have a bug in the xHCI driver.

There is a patchset in the works to dynamically expand the endpoint
rings, but it's still going through revisions:

It might be done for the 3.3 kernel, but until then the driver is just
going to be broken, sorry. :(

> The device works with an out-of-kernel driver available from the
> Alfa or Realtek web sites, but I want to fix rtl8192cu.
> What condition leads to the above message? The user's dmesg buffer
> has wrapped, thus I don't see the beginning of the failure. He is
> using a canned distro kernel, thus he cannot include any extra
> debugging info such as a stack dump when the errors occur. As he
> uses the compat-wireless package, I think I can incorporate a new
> copy of xhci-hcd with it, but I have not done so yet.

Which distro? Several of the distros are based on 2.6.32, which only
had minimal support for xHCI. Updating just the xHCI driver with a
more recent one isn't going to be possible with that old of a kernel,
since later changes also touched the USB core as well.

Sarah Sharp
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at