Merge 4.19-rc4 into usb-next
We need the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -515,8 +515,6 @@ static int resume_common(struct device *dev, int event)
|
||||
event == PM_EVENT_RESTORE);
|
||||
if (retval) {
|
||||
dev_err(dev, "PCI post-resume error %d!\n", retval);
|
||||
if (hcd->shared_hcd)
|
||||
usb_hc_died(hcd->shared_hcd);
|
||||
usb_hc_died(hcd);
|
||||
}
|
||||
}
|
||||
|
@@ -1341,6 +1341,11 @@ void usb_enable_interface(struct usb_device *dev,
|
||||
* is submitted that needs that bandwidth. Some other operating systems
|
||||
* allocate bandwidth early, when a configuration is chosen.
|
||||
*
|
||||
* xHCI reserves bandwidth and configures the alternate setting in
|
||||
* usb_hcd_alloc_bandwidth(). If it fails the original interface altsetting
|
||||
* may be disabled. Drivers cannot rely on any particular alternate
|
||||
* setting being in effect after a failure.
|
||||
*
|
||||
* This call is synchronous, and may not be used in an interrupt context.
|
||||
* Also, drivers must not change altsettings while urbs are scheduled for
|
||||
* endpoints in that interface; all such urbs must first be completed
|
||||
@@ -1376,6 +1381,12 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate)
|
||||
alternate);
|
||||
return -EINVAL;
|
||||
}
|
||||
/*
|
||||
* usb3 hosts configure the interface in usb_hcd_alloc_bandwidth,
|
||||
* including freeing dropped endpoint ring buffers.
|
||||
* Make sure the interface endpoints are flushed before that
|
||||
*/
|
||||
usb_disable_interface(dev, iface, false);
|
||||
|
||||
/* Make sure we have enough bandwidth for this alternate interface.
|
||||
* Remove the current alt setting and add the new alt setting.
|
||||
|
@@ -105,29 +105,3 @@ usb_of_get_interface_node(struct usb_device *udev, u8 config, u8 ifnum)
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usb_of_get_interface_node);
|
||||
|
||||
/**
|
||||
* usb_of_get_companion_dev - Find the companion device
|
||||
* @dev: the device pointer to find a companion
|
||||
*
|
||||
* Find the companion device from platform bus.
|
||||
*
|
||||
* Takes a reference to the returned struct device which needs to be dropped
|
||||
* after use.
|
||||
*
|
||||
* Return: On success, a pointer to the companion device, %NULL on failure.
|
||||
*/
|
||||
struct device *usb_of_get_companion_dev(struct device *dev)
|
||||
{
|
||||
struct device_node *node;
|
||||
struct platform_device *pdev = NULL;
|
||||
|
||||
node = of_parse_phandle(dev->of_node, "companion", 0);
|
||||
if (node)
|
||||
pdev = of_find_device_by_node(node);
|
||||
|
||||
of_node_put(node);
|
||||
|
||||
return pdev ? &pdev->dev : NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usb_of_get_companion_dev);
|
||||
|
@@ -178,6 +178,10 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||||
/* CBM - Flash disk */
|
||||
{ USB_DEVICE(0x0204, 0x6025), .driver_info = USB_QUIRK_RESET_RESUME },
|
||||
|
||||
/* WORLDE Controller KS49 or Prodipe MIDI 49C USB controller */
|
||||
{ USB_DEVICE(0x0218, 0x0201), .driver_info =
|
||||
USB_QUIRK_CONFIG_INTF_STRINGS },
|
||||
|
||||
/* WORLDE easy key (easykey.25) MIDI controller */
|
||||
{ USB_DEVICE(0x0218, 0x0401), .driver_info =
|
||||
USB_QUIRK_CONFIG_INTF_STRINGS },
|
||||
@@ -406,6 +410,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||||
{ USB_DEVICE(0x2040, 0x7200), .driver_info =
|
||||
USB_QUIRK_CONFIG_INTF_STRINGS },
|
||||
|
||||
/* DJI CineSSD */
|
||||
{ USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM },
|
||||
|
||||
/* INTEL VALUE SSD */
|
||||
{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
|
||||
|
||||
|
Reference in New Issue
Block a user