Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f8f0cf2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
parents 9125aeb3 9be427ef
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -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
};

+1 −7
Original line number Diff line number Diff line
@@ -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)
+2 −2
Original line number Diff line number Diff line
@@ -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.
+3 −3
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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
Loading