xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay
authorMathias Nyman <mathias.nyman@linux.intel.com>
Fri, 5 Nov 2021 16:00:36 +0000 (18:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Nov 2021 14:41:03 +0000 (15:41 +0100)
commite1959faf085b004e6c3afaaaa743381f00e7c015
tree29e9818b00d9ffa45ac1a050aaa40d299c5ce3ff
parent439b08c57c3fe1df85cfe9d00accdf9b62cb3275
xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay

Some USB 3.1 enumeration issues were reported after the hub driver removed
the minimum 100ms limit for the power-on-good delay.

Since commit 90d28fb53d4a ("usb: core: reduce power-on-good delay time of
root hub") the hub driver sets the power-on-delay based on the
bPwrOn2PwrGood value in the hub descriptor.

xhci driver has a 20ms bPwrOn2PwrGood value for both roothubs based
on xhci spec section 5.4.8, but it's clearly not enough for the
USB 3.1 devices, causing enumeration issues.

Tests indicate full 100ms delay is needed.

Reported-by: Walt Jr. Brake <mr.yming81@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Fixes: 90d28fb53d4a ("usb: core: reduce power-on-good delay time of root hub")
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20211105160036.549516-1-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-hub.c