USB fixes for 4.6-rc7
Here are some last-remaining fixes for USB drivers to resolve issues that have shown up in testing. And 2 new device ids as well. All of these have been in linux-next with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlcuJqEACgkQMUfUDdst+yl07wCeMMXyn3ZgOgpxiAAFUjBiHN5P 86gAn2Kh/eihIFYwPRrHypbE67RO+yTx =QYaR -----END PGP SIGNATURE----- Merge tag 'usb-4.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are some last-remaining fixes for USB drivers to resolve issues that have shown up in testing. And two new device ids as well. All of these have been in linux-next with no reported issues" * tag 'usb-4.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: Revert "USB / PM: Allow USB devices to remain runtime-suspended when sleeping" usb: musb: jz4740: fix error check of usb_get_phy() Revert "usb: musb: musb_host: Enable HCD_BH flag to handle urb return in bottom half" usb: musb: gadget: nuke endpoint before setting its descriptor to NULL USB: serial: cp210x: add Straizona Focusers device ids USB: serial: cp210x: add ID for Link ECU
This commit is contained in:
Коммит
3f8f0cf2ed
|
@ -249,18 +249,12 @@ static int usb_port_runtime_suspend(struct device *dev)
|
|||
|
||||
return retval;
|
||||
}
|
||||
|
||||
static int usb_port_prepare(struct device *dev)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct dev_pm_ops usb_port_pm_ops = {
|
||||
#ifdef CONFIG_PM
|
||||
.runtime_suspend = usb_port_runtime_suspend,
|
||||
.runtime_resume = usb_port_runtime_resume,
|
||||
.prepare = usb_port_prepare,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
@ -312,13 +312,7 @@ static int usb_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
|
|||
|
||||
static int usb_dev_prepare(struct device *dev)
|
||||
{
|
||||
struct usb_device *udev = to_usb_device(dev);
|
||||
|
||||
/* Return 0 if the current wakeup setting is wrong, otherwise 1 */
|
||||
if (udev->do_remote_wakeup != device_may_wakeup(dev))
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
return 0; /* Implement eventually? */
|
||||
}
|
||||
|
||||
static void usb_dev_complete(struct device *dev)
|
||||
|
|
|
@ -83,9 +83,9 @@ static int jz4740_musb_init(struct musb *musb)
|
|||
{
|
||||
usb_phy_generic_register();
|
||||
musb->xceiv = usb_get_phy(USB_PHY_TYPE_USB2);
|
||||
if (!musb->xceiv) {
|
||||
if (IS_ERR(musb->xceiv)) {
|
||||
pr_err("HS UDC: no transceiver configured\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(musb->xceiv);
|
||||
}
|
||||
|
||||
/* Silicon does not implement ConfigData register.
|
||||
|
|
|
@ -1164,12 +1164,12 @@ static int musb_gadget_disable(struct usb_ep *ep)
|
|||
musb_writew(epio, MUSB_RXMAXP, 0);
|
||||
}
|
||||
|
||||
musb_ep->desc = NULL;
|
||||
musb_ep->end_point.desc = NULL;
|
||||
|
||||
/* abort all pending DMA and requests */
|
||||
nuke(musb_ep, -ESHUTDOWN);
|
||||
|
||||
musb_ep->desc = NULL;
|
||||
musb_ep->end_point.desc = NULL;
|
||||
|
||||
schedule_work(&musb->irq_work);
|
||||
|
||||
spin_unlock_irqrestore(&(musb->lock), flags);
|
||||
|
|
|
@ -2735,7 +2735,7 @@ static const struct hc_driver musb_hc_driver = {
|
|||
.description = "musb-hcd",
|
||||
.product_desc = "MUSB HDRC host driver",
|
||||
.hcd_priv_size = sizeof(struct musb *),
|
||||
.flags = HCD_USB2 | HCD_MEMORY | HCD_BH,
|
||||
.flags = HCD_USB2 | HCD_MEMORY,
|
||||
|
||||
/* not using irq handler or reset hooks from usbcore, since
|
||||
* those must be shared with peripheral code for OTG configs
|
||||
|
|
|
@ -109,6 +109,7 @@ static const struct usb_device_id id_table[] = {
|
|||
{ USB_DEVICE(0x10C4, 0x826B) }, /* Cygnal Integrated Products, Inc., Fasttrax GPS demonstration module */
|
||||
{ USB_DEVICE(0x10C4, 0x8281) }, /* Nanotec Plug & Drive */
|
||||
{ USB_DEVICE(0x10C4, 0x8293) }, /* Telegesis ETRX2USB */
|
||||
{ USB_DEVICE(0x10C4, 0x82F4) }, /* Starizona MicroTouch */
|
||||
{ USB_DEVICE(0x10C4, 0x82F9) }, /* Procyon AVS */
|
||||
{ USB_DEVICE(0x10C4, 0x8341) }, /* Siemens MC35PU GPRS Modem */
|
||||
{ USB_DEVICE(0x10C4, 0x8382) }, /* Cygnal Integrated Products, Inc. */
|
||||
|
@ -118,6 +119,7 @@ static const struct usb_device_id id_table[] = {
|
|||
{ USB_DEVICE(0x10C4, 0x8418) }, /* IRZ Automation Teleport SG-10 GSM/GPRS Modem */
|
||||
{ USB_DEVICE(0x10C4, 0x846E) }, /* BEI USB Sensor Interface (VCP) */
|
||||
{ USB_DEVICE(0x10C4, 0x8477) }, /* Balluff RFID */
|
||||
{ USB_DEVICE(0x10C4, 0x84B6) }, /* Starizona Hyperion */
|
||||
{ USB_DEVICE(0x10C4, 0x85EA) }, /* AC-Services IBUS-IF */
|
||||
{ USB_DEVICE(0x10C4, 0x85EB) }, /* AC-Services CIS-IBUS */
|
||||
{ USB_DEVICE(0x10C4, 0x85F8) }, /* Virtenio Preon32 */
|
||||
|
@ -141,6 +143,8 @@ static const struct usb_device_id id_table[] = {
|
|||
{ USB_DEVICE(0x10C4, 0xF004) }, /* Elan Digital Systems USBcount50 */
|
||||
{ USB_DEVICE(0x10C5, 0xEA61) }, /* Silicon Labs MobiData GPRS USB Modem */
|
||||
{ USB_DEVICE(0x10CE, 0xEA6A) }, /* Silicon Labs MobiData GPRS USB Modem 100EU */
|
||||
{ USB_DEVICE(0x12B8, 0xEC60) }, /* Link G4 ECU */
|
||||
{ USB_DEVICE(0x12B8, 0xEC62) }, /* Link G4+ ECU */
|
||||
{ USB_DEVICE(0x13AD, 0x9999) }, /* Baltech card reader */
|
||||
{ USB_DEVICE(0x1555, 0x0004) }, /* Owen AC4 USB-RS485 Converter */
|
||||
{ USB_DEVICE(0x166A, 0x0201) }, /* Clipsal 5500PACA C-Bus Pascal Automation Controller */
|
||||
|
|
Загрузка…
Ссылка в новой задаче