On Fri, Oct 26, 2012 at 10:36:06PM +0200, Matthias Schniedermeyer wrote:
> On 26.10.2012 12:27, Sarah Sharp wrote:
> > On Wed, Oct 24, 2012 at 08:26:21PM +0200, Matthias Schniedermeyer wrote:
> > > I tried 3.7-rc2 (exactly, i think)
> > >
> > > This isn't the same computer, but the same('oldconfig'ed)
> > > configuration. This computer has a NEC-chip for xhci.
> > >
> > > uname -a:
> > > Linux exp 3.7.0-rc2 #1 SMP Wed Oct 24 19:45:48 CEST 2012 x86_64 GNU/Linux
> > >
> > > First:
> > > Oct 24 20:17:52 localhost kernel: [ 118.531900] usb 4-1: new SuperSpeed
> > > USB device number 2 using xhci_hcd
> > > Oct 24 20:17:52 localhost kernel: [ 118.546081] usb 4-1: Parent hub
> > > missing LPM exit latency info. Power management will be impacted.
> > > Oct 24 20:18:02 localhost kernel: [ 128.518344] usb 4-1: New USB device
> > > found, idVendor=174c, idProduct=5106
> > > Oct 24 20:18:02 localhost kernel: [ 128.519551] usb 4-1: New USB device
> > > strings: Mfr=2, Product=3, SerialNumber=1
> > > Oct 24 20:18:02 localhost kernel: [ 128.520696] usb 4-1: Product: AS2105
> > > Oct 24 20:18:02 localhost kernel: [ 128.521828] usb 4-1: Manufacturer:
> > > ASMedia
> > > Oct 24 20:18:07 localhost kernel: [ 133.507705] usb 4-1: can't set
> > > config #1, error -110
> > >
> > > Command:
> > > echo 1 >/sys/bus/usb/devices/4-1/bConfigurationValue
> > >
> > > Same response as before:
> > > Oct 24 20:18:50 localhost kernel: [ 176.642856] xhci_hcd 0000:04:00.0:
> > > Trying to add endpoint 0x81 without dropping it.
> >
> > I have two hypothesis. Either the USB core's error handling in
> > usb_set_configuration is not resetting the bandwidth after it the
> > endpoints are allocated, or maybe the xHCI host stopped responding to
> > commands all together, and the command to reset the bandwidth timed out.
> >
> > Can you recompile with CONFIG_USB_XHCI_HCD_DEBUGGING turned on, and send
> > me the full dmesg? I'd like to see what happens when the configuration
> > fails, and then you write to the bConfigurationValue file.
>
> Here we go, this is still with 3.7-rc2:
Ok, I think I see the issue:
> [ 34.083530] usb 3-1: New USB device found, idVendor=174c, idProduct=5106
> [ 34.084647] usb 3-1: New USB device strings: Mfr=2, Product=3,
> SerialNumber=1
> [ 34.085703] usb 3-1: Product: AS2105
> [ 34.086751] usb 3-1: Manufacturer: ASMedia
> [ 34.087856] usb 3-1: usb_probe_device
> [ 34.087858] usb 3-1: configuration #1 chosen from 1 choice
> [ 34.087862] xhci_hcd 0000:04:00.0: add ep 0x81, slot id 1, new drop flags
> = 0x0, new add flags = 0x8, new slot info = 0x18400000
> [ 34.087865] xhci_hcd 0000:04:00.0: add ep 0x2, slot id 1, new drop flags =
> 0x0, new add flags = 0x18, new slot info = 0x20400000
> [ 34.087867] xhci_hcd 0000:04:00.0: xhci_check_bandwidth called for udev
> ffff880111aa6000
...
> [ 34.088217] usb 3-1: Successful Endpoint Configure command
...
> [ 39.072627] xhci_hcd 0000:04:00.0: Cancel URB ffff880113177e40, dev 1, ep
> 0x0, starting at offset 0xd7420a10
> [ 39.072632] xhci_hcd 0000:04:00.0: // Ding dong!
> [ 39.072852] xhci_hcd 0000:04:00.0: Removing canceled TD starting at
> 0xd7420a10 (dma).
> [ 39.072857] xhci_hcd 0000:04:00.0: TRB to noop at offset 0xd7420a10
> [ 39.072861] xhci_hcd 0000:04:00.0: TRB to noop at offset 0xd7420a20
> [ 39.072884] usb 3-1: khubd timed out on ep0out len=0/0
> [ 39.072889] xhci_hcd 0000:04:00.0: xhci_check_bandwidth called for udev
> ffff880111aa6000
> [ 39.072894] usb 3-1: can't set config #1, error -110
The USB core isn't dropping the endpoints before it calls
xhci_check_bandwidth. I remember running into this bug a while back,
and I even started on a fix, but then couldn't reproduce the problem.
I found the branch with the old fix on it, but it still needs a bit of
work. I'll send you a patch on Monday.
Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html