• Kai-Heng Feng's avatar
    USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub · 781f0766
    Kai-Heng Feng authored
    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: default avatarKai-Heng Feng <kai.heng.feng@canonical.com>
    Cc: stable <stable@vger.kernel.org>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    781f0766
hub.c 171 KB