Re: [PATCH v2] USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub

From: Alan Stern
Date: Fri Oct 19 2018 - 10:05:56 EST


On Fri, 19 Oct 2018, Kai-Heng Feng wrote:

> Devices connected under Terminus Technology Inc. Hub (1a40:0101) may
> fail to work after the system resumes from suspend:
> [ 206.063325] usb 3-2.4: reset full-speed USB device number 4 using xhci_hcd
> [ 206.143691] usb 3-2.4: device descriptor read/64, error -32
> [ 206.351671] usb 3-2.4: device descriptor read/64, error -32
>
> Info for this hub:
> T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 4
> D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=1a40 ProdID=0101 Rev=01.11
> S: Product=USB 2.0 Hub
> C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
> I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
>
> Some expirements indicate that the USB devices connected to the hub are
> innocent, it's the hub itself is to blame. The hub needs extra delay
> time after it resets its port.
>
> Hence wait for extra delay, if the device is connected to this quirky
> hub.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> ---
> v2:
> - Use hub->hdev to check quirk.
> - Merge the delay with TRSTRCY.

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>