Re: Question about error from xhci-hcd

From: Larry Finger
Date: Sun Oct 30 2011 - 11:30:16 EST


On 10/30/2011 12:04 AM, Sarah Sharp wrote:
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:

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

Thanks for the link. I'll look into that patch set and also examine the number of URBs that the driver is submitting.

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

No problem.

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.

He is running the 3.1-rc9 kernel from Ubuntu. We should have no problems updating xHCI. I did add it to the compat-wireless package and sent the code to him, but have not heard back. I will try to add the new patch series to see if that helps.

Thanks for your help,

Larry

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