Re: USB3.0 regression on ipq806x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 22.03.2017 19:18, Thomas Reifferscheid wrote:
Am 08.03.2017 um 12:14 schrieb Thomas Reifferscheid:
[...]
 > ] usb 3-1: new high-speed USB device number 2 using xhci-hcd
 > ] usb 4-1: new SuperSpeed USB device number 2 using xhci-hcd

Things have changed with 4.9 kernel. The thumbdrive is no longer getting recognized as high-speed and super-speed device both at the same time. Instead it's getting recognized as high-speed device only and then just as before the host controller gets halted.

[    4.558036] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[   14.638023] xhci-hcd xhci-hcd.1.auto: xHCI host not responding to stop endpoint command.
[   14.638073] xhci-hcd xhci-hcd.1.auto: Assuming host is dying, halting host.
[   14.671970] xhci-hcd xhci-hcd.1.auto: Host not halted after 16000 microseconds.
[   14.672009] xhci-hcd xhci-hcd.1.auto: Non-responsive xHCI host is not halting.
[   14.678091] xhci-hcd xhci-hcd.1.auto: Completing active URBs anyway.
[   14.685502] xhci-hcd xhci-hcd.1.auto: HC died; cleaning up
[   14.692118] usb usb4-port1: couldn't allocate usb_device
[   14.692127] usb usb3-port1: couldn't allocate usb_device

When increasing HUB_ROOT_RESET_TIME to 150ms it just works.

[    5.359669] usb 4-1: new SuperSpeed USB device number 2 using xhci-hcd

How to fix this properly and without touching timeouts in drivers/usb/core/hub.c?


The xhci driver first adds the USB2 hcd, then USB3 hcd during probe.
Seems that the pendrive enumerates with the USB2 hcd before USB3
hcd is added and ready, and then switches to USB3 hcd later on the fly.

Tuning the timeouts doesn't seem like a proper fix.

Options could be making sure xHC hw doesn't really start until
both hcds are added and ready. (need to check driver, don't remember by heart)

Or then order could be swapped to first add USB3 hcd, and then USB2 hcd, but
current code relies on the old ordering so that needs to be checked carefully

-Mathias

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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux