git: c42b04d3af7e - stable/12 - xhci(4): Tweak USB port speed checks to allow newer super speed generations.

From: Hans Petter Selasky <hselasky_at_FreeBSD.org>
Date: Tue, 10 May 2022 08:08:09 UTC
The branch stable/12 has been updated by hselasky:

URL: https://cgit.FreeBSD.org/src/commit/?id=c42b04d3af7e10c304111a1cca48cc6afa501d0a

commit c42b04d3af7e10c304111a1cca48cc6afa501d0a
Author:     Hans Petter Selasky <hselasky@FreeBSD.org>
AuthorDate: 2022-05-03 20:20:27 +0000
Commit:     Hans Petter Selasky <hselasky@FreeBSD.org>
CommitDate: 2022-05-10 08:07:06 +0000

    xhci(4): Tweak USB port speed checks to allow newer super speed generations.
    
    This allows setting the U1 and U2 port timeout values.
    
    MFC after:      1 week
    Sponsored by:   NVIDIA Networking
    
    (cherry picked from commit a1c0442b418b39e57d287750147b0aeae5140766)
---
 sys/dev/usb/controller/xhci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c
index 5da51efd9dca..579ccf1a21e1 100644
--- a/sys/dev/usb/controller/xhci.c
+++ b/sys/dev/usb/controller/xhci.c
@@ -3635,7 +3635,7 @@ xhci_roothub_exec(struct usb_device *udev,
 
 		switch (value) {
 		case UHF_PORT_U1_TIMEOUT:
-			if (XHCI_PS_SPEED_GET(v) != 4) {
+			if (XHCI_PS_SPEED_GET(v) < XHCI_PS_SPEED_SS) {
 				err = USB_ERR_IOERROR;
 				goto done;
 			}
@@ -3646,7 +3646,7 @@ xhci_roothub_exec(struct usb_device *udev,
 			XWRITE4(sc, oper, port, v);
 			break;
 		case UHF_PORT_U2_TIMEOUT:
-			if (XHCI_PS_SPEED_GET(v) != 4) {
+			if (XHCI_PS_SPEED_GET(v) < XHCI_PS_SPEED_SS) {
 				err = USB_ERR_IOERROR;
 				goto done;
 			}