USB3: ERROR no room on ep ring

From: Markus
Date: Sat Jan 22 2011 - 09:19:43 EST


Hello!

This computer has some usb2 ports and two usb3 ports.
Its a NEC usb3-chip and is detected correctly.
But when I plug in my headset its not working as expected (although usb3
should be downwards compatible to usb2 and usb1).

In dmesg I read the following:
usb 1-3: new full speed USB device using xhci_hcd and address 3
xhci_hcd 0000:04:00.0: WARN: Stalled endpoint
xhci_hcd 0000:04:00.0: WARN: Stalled endpoint
xhci_hcd 0000:04:00.0: WARN: Stalled endpoint
xhci_hcd 0000:04:00.0: WARN: short transfer on control ep
xhci_hcd 0000:04:00.0: WARN: short transfer on control ep
xhci_hcd 0000:04:00.0: WARN: short transfer on control ep
usb 1-3: New USB device found, idVendor=1395, idProduct=0020
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-3: Product: Sennheiser USB headset
usb 1-3: Manufacturer: Sennheiser Communication
usb 1-3: ep 0x83 - rounding interval to 128 microframes, ep desc says
240 microframes
xhci_hcd 0000:04:00.0: WARN: short transfer on control ep
xhci_hcd 0000:04:00.0: WARN: short transfer on control ep
xhci_hcd 0000:04:00.0: WARN: Stalled endpoint
3:1:1: cannot get freq at ep 0x4
xhci_hcd 0000:04:00.0: WARN: Stalled endpoint
3:1:2: cannot get freq at ep 0x4
xhci_hcd 0000:04:00.0: WARN: Stalled endpoint
3:2:1: cannot get freq at ep 0x84
xhci_hcd 0000:04:00.0: ERROR no room on ep ring
=> 54 more times
generic-usb: probe of 0003:1395:0020.0007 failed with error -12

The rounding from 240 to 128 looks pretty strange, but I am not very
common with that ;)

For comparison the output when I connect the very same headset on an
usb2 port:
usb 3-9: new full speed USB device using ohci_hcd and address 9
usb 3-9: New USB device found, idVendor=1395, idProduct=0020
usb 3-9: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-9: Product: Sennheiser USB headset
usb 3-9: Manufacturer: Sennheiser Communication
9:1:1: cannot get freq at ep 0x4
9:1:2: cannot get freq at ep 0x4
9:2:1: cannot get freq at ep 0x84
input: Sennheiser Communication Sennheiser USB headset as
/devices/pci0000:00/0000:00:02.0/usb3/3-9/3-9:1.3/input/input7
generic-usb 0003:1395:0020.0008: input: USB HID v1.11 Device [Sennheiser
Communication Sennheiser USB headset] on usb-0000:00:02.0-9/input3

This output is from a 2.6.38-rc1.

I knew from ehci that [uo]hci must be loaded before, so ehci claims the
hardware and can pass usb1x device to the [uo]hci driver. It seems xhci
is doing everything on its own? Or is just something broken?

Is this a known problem that is worked on?
Anything more I can contribute?


Thanks,
Markus

PS: Please CC me.
--
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/