* quirks
         */
        struct device           *dev = hcd->self.sysdev;
+       unsigned int            minor_rev;
        int                     retval;
 
        /* Accept arbitrarily long scatter-gather lists */
                 */
                hcd->has_tt = 1;
        } else {
-               /* Some 3.1 hosts return sbrn 0x30, can't rely on sbrn alone */
-               if (xhci->sbrn == 0x31 || xhci->usb3_rhub.min_rev >= 1) {
-                       xhci_info(xhci, "Host supports USB 3.1 Enhanced SuperSpeed\n");
+               /*
+                * Some 3.1 hosts return sbrn 0x30, use xhci supported protocol
+                * minor revision instead of sbrn
+                */
+               minor_rev = xhci->usb3_rhub.min_rev;
+               if (minor_rev) {
                        hcd->speed = HCD_USB31;
                        hcd->self.root_hub->speed = USB_SPEED_SUPER_PLUS;
                }
+               xhci_info(xhci, "Host supports USB 3.%x %s SuperSpeed\n",
+                         minor_rev,
+                         minor_rev ? "Enhanced" : "");
+
                /* xHCI private pointer was set in xhci_pci_probe for the second
                 * registered roothub.
                 */