Merge 5.2-rc6 into usb-next
We need the USB fixes in here too. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -1466,6 +1466,10 @@ static int xhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, gfp_t mem_flag
|
||||
xhci_dbg(xhci, "urb submitted during PCI suspend\n");
|
||||
return -ESHUTDOWN;
|
||||
}
|
||||
if (xhci->devs[slot_id]->flags & VDEV_PORT_ERROR) {
|
||||
xhci_dbg(xhci, "Can't queue urb, port error, link inactive\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (usb_endpoint_xfer_isoc(&urb->ep->desc))
|
||||
num_tds = urb->number_of_packets;
|
||||
@@ -3754,6 +3758,7 @@ static int xhci_discover_or_reset_device(struct usb_hcd *hcd,
|
||||
}
|
||||
/* If necessary, update the number of active TTs on this root port */
|
||||
xhci_update_tt_active_eps(xhci, virt_dev, old_active_eps);
|
||||
virt_dev->flags = 0;
|
||||
ret = 0;
|
||||
|
||||
command_cleanup:
|
||||
@@ -5062,16 +5067,26 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
|
||||
} else {
|
||||
/*
|
||||
* Some 3.1 hosts return sbrn 0x30, use xhci supported protocol
|
||||
* minor revision instead of sbrn
|
||||
* minor revision instead of sbrn. Minor revision is a two digit
|
||||
* BCD containing minor and sub-minor numbers, only show minor.
|
||||
*/
|
||||
minor_rev = xhci->usb3_rhub.min_rev;
|
||||
if (minor_rev) {
|
||||
minor_rev = xhci->usb3_rhub.min_rev / 0x10;
|
||||
|
||||
switch (minor_rev) {
|
||||
case 2:
|
||||
hcd->speed = HCD_USB32;
|
||||
hcd->self.root_hub->speed = USB_SPEED_SUPER_PLUS;
|
||||
hcd->self.root_hub->rx_lanes = 2;
|
||||
hcd->self.root_hub->tx_lanes = 2;
|
||||
break;
|
||||
case 1:
|
||||
hcd->speed = HCD_USB31;
|
||||
hcd->self.root_hub->speed = USB_SPEED_SUPER_PLUS;
|
||||
break;
|
||||
}
|
||||
xhci_info(xhci, "Host supports USB 3.%x %s SuperSpeed\n",
|
||||
xhci_info(xhci, "Host supports USB 3.%x %sSuperSpeed\n",
|
||||
minor_rev,
|
||||
minor_rev ? "Enhanced" : "");
|
||||
minor_rev ? "Enhanced " : "");
|
||||
|
||||
xhci->usb3_rhub.hcd = hcd;
|
||||
/* xHCI private pointer was set in xhci_pci_probe for the second
|
||||
|
Reference in New Issue
Block a user