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

Commit 24d5b287 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB fixes from Greg KH:
 "Here are a number of small USB fixes for 4.18-rc5.

  Nothing major here, just the normal set of new device ids, xhci fixes,
  and some typec fixes. The typec fix required some tiny changes in an
  i2c driver, which that maintainer acked to come through my tree.

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'usb-4.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  USB: yurex: fix out-of-bounds uaccess in read handler
  usb: quirks: add delay quirks for Corsair Strafe
  xhci: xhci-mem: off by one in xhci_stream_id_to_ring()
  usb/gadget: aspeed-vhub: add USB_LIBCOMPOSITE dependency
  docs: kernel-parameters.txt: document xhci-hcd.quirks parameter
  USB: serial: mos7840: fix status-register error handling
  USB: serial: keyspan_pda: fix modem-status error handling
  USB: serial: cp210x: add another USB ID for Qivicon ZigBee stick
  USB: serial: ch341: fix type promotion bug in ch341_control_in()
  i2c-cht-wc: Fix bq24190 supplier
  typec: tcpm: Correctly report power_supply current and voltage for non pd supply
  usb: xhci: dbc: Don't decrement runtime PM counter if DBC is not started
parents f1454959 f1e255d6
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -4846,3 +4846,8 @@
	xirc2ps_cs=	[NET,PCMCIA]
			Format:
			<irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]

	xhci-hcd.quirks		[USB,KNL]
			A hex value specifying bitmask with supplemental xhci
			host controller quirks. Meaning of each bit can be
			consulted in header drivers/usb/host/xhci.h.
+2 −1
Original line number Diff line number Diff line
@@ -234,7 +234,8 @@ static const struct irq_chip cht_wc_i2c_irq_chip = {
	.name			= "cht_wc_ext_chrg_irq_chip",
};

static const char * const bq24190_suppliers[] = { "fusb302-typec-source" };
static const char * const bq24190_suppliers[] = {
	"tcpm-source-psy-i2c-fusb302" };

static const struct property_entry bq24190_props[] = {
	PROPERTY_ENTRY_STRING_ARRAY("supplied-from", bq24190_suppliers),
+4 −0
Original line number Diff line number Diff line
@@ -378,6 +378,10 @@ static const struct usb_device_id usb_quirk_list[] = {
	/* Corsair K70 RGB */
	{ USB_DEVICE(0x1b1c, 0x1b13), .driver_info = USB_QUIRK_DELAY_INIT },

	/* Corsair Strafe */
	{ USB_DEVICE(0x1b1c, 0x1b15), .driver_info = USB_QUIRK_DELAY_INIT |
	  USB_QUIRK_DELAY_CTRL_MSG },

	/* Corsair Strafe RGB */
	{ USB_DEVICE(0x1b1c, 0x1b20), .driver_info = USB_QUIRK_DELAY_INIT |
	  USB_QUIRK_DELAY_CTRL_MSG },
+1 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
config USB_ASPEED_VHUB
	tristate "Aspeed vHub UDC driver"
	depends on ARCH_ASPEED || COMPILE_TEST
	depends on USB_LIBCOMPOSITE
	help
	  USB peripheral controller for the Aspeed AST2500 family
	  SoCs supporting the "vHub" functionality and USB2.0
+8 −4
Original line number Diff line number Diff line
@@ -508,16 +508,18 @@ static int xhci_do_dbc_start(struct xhci_hcd *xhci)
	return 0;
}

static void xhci_do_dbc_stop(struct xhci_hcd *xhci)
static int xhci_do_dbc_stop(struct xhci_hcd *xhci)
{
	struct xhci_dbc		*dbc = xhci->dbc;

	if (dbc->state == DS_DISABLED)
		return;
		return -1;

	writel(0, &dbc->regs->control);
	xhci_dbc_mem_cleanup(xhci);
	dbc->state = DS_DISABLED;

	return 0;
}

static int xhci_dbc_start(struct xhci_hcd *xhci)
@@ -544,6 +546,7 @@ static int xhci_dbc_start(struct xhci_hcd *xhci)

static void xhci_dbc_stop(struct xhci_hcd *xhci)
{
	int ret;
	unsigned long		flags;
	struct xhci_dbc		*dbc = xhci->dbc;
	struct dbc_port		*port = &dbc->port;
@@ -556,9 +559,10 @@ static void xhci_dbc_stop(struct xhci_hcd *xhci)
		xhci_dbc_tty_unregister_device(xhci);

	spin_lock_irqsave(&dbc->lock, flags);
	xhci_do_dbc_stop(xhci);
	ret = xhci_do_dbc_stop(xhci);
	spin_unlock_irqrestore(&dbc->lock, flags);

	if (!ret)
		pm_runtime_put_sync(xhci_to_hcd(xhci)->self.controller);
}

Loading