Commit b5beaa44 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB / Thunderbolt fixes from Greg KH:
 "Here are some small USB and Thunderbolt driver fixes for 6.10-rc4.
  Included in here are:

   - thunderbolt debugfs bugfix

   - USB typec bugfixes

   - kcov usb bugfix

   - xhci bugfixes

   - usb-storage bugfix

   - dt-bindings bugfix

   - cdc-wdm log message spam bugfix

  All of these, except for the last cdc-wdm log level change, have been
  in linux-next for a while with no reported problems. The cdc-wdm
  bugfix has been tested by syzbot and proved to fix the reported cpu
  lockup issues when the log is constantly spammed by a broken device"

* tag 'usb-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages
  xhci: Handle TD clearing for multiple streams case
  xhci: Apply broken streams quirk to Etron EJ188 xHCI host
  xhci: Apply reset resume quirk to Etron EJ188 xHCI host
  xhci: Set correct transferred length for cancelled bulk transfers
  usb-storage: alauda: Check whether the media is initialized
  usb: typec: ucsi: Ack also failed Get Error commands
  kcov, usb: disable interrupts in kcov_remote_start_usb_softirq
  dt-bindings: usb: realtek,rts5411: Add missing "additionalProperties" on child nodes
  usb: typec: tcpm: Ignore received Hard Reset in TOGGLING state
  usb: typec: tcpm: fix use-after-free case in tcpm_register_source_caps
  USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected
  usb: typec: ucsi: glink: increase max ports for x1e80100
  Revert "usb: chipidea: move ci_ulpi_init after the phy initialization"
  thunderbolt: debugfs: Fix margin debugfs node creation condition
parents 6efc63a8 22f00812
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ patternProperties:
    description: The hard wired USB devices
    type: object
    $ref: /schemas/usb/usb-device.yaml
    additionalProperties: true

required:
  - peer-hub
+3 −2
Original line number Diff line number Diff line
@@ -943,8 +943,9 @@ static void margining_port_init(struct tb_port *port)
	debugfs_create_file("run", 0600, dir, port, &margining_run_fops);
	debugfs_create_file("results", 0600, dir, port, &margining_results_fops);
	debugfs_create_file("test", 0600, dir, port, &margining_test_fops);
	if (independent_voltage_margins(usb4) ||
	    (supports_time(usb4) && independent_time_margins(usb4)))
	if (independent_voltage_margins(usb4) == USB4_MARGIN_CAP_0_VOLTAGE_HL ||
	    (supports_time(usb4) &&
	     independent_time_margins(usb4) == USB4_MARGIN_CAP_1_TIME_LR))
		debugfs_create_file("margin", 0600, dir, port, &margining_margin_fops);
}

+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ obj-$(CONFIG_USB_R8A66597_HCD) += host/
obj-$(CONFIG_USB_FSL_USB2)	+= host/
obj-$(CONFIG_USB_FOTG210_HCD)	+= host/
obj-$(CONFIG_USB_MAX3421_HCD)	+= host/
obj-$(CONFIG_USB_XEN_HCD)	+= host/

obj-$(CONFIG_USB_C67X00_HCD)	+= c67x00/

+4 −4
Original line number Diff line number Diff line
@@ -1084,6 +1084,10 @@ static int ci_hdrc_probe(struct platform_device *pdev)
		return -ENODEV;
	}

	ret = ci_ulpi_init(ci);
	if (ret)
		return ret;

	if (ci->platdata->phy) {
		ci->phy = ci->platdata->phy;
	} else if (ci->platdata->usb_phy) {
@@ -1138,10 +1142,6 @@ static int ci_hdrc_probe(struct platform_device *pdev)
		goto ulpi_exit;
	}

	ret = ci_ulpi_init(ci);
	if (ret)
		return ret;

	ci->hw_bank.phys = res->start;

	ci->irq = platform_get_irq(pdev, 0);
+5 −0
Original line number Diff line number Diff line
@@ -68,6 +68,11 @@ int ci_ulpi_init(struct ci_hdrc *ci)
	if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI)
		return 0;

	/*
	 * Set PORTSC correctly so we can read/write ULPI registers for
	 * identification purposes
	 */
	hw_phymode_configure(ci);

	ci->ulpi_ops.read = ci_ulpi_read;
	ci->ulpi_ops.write = ci_ulpi_write;
Loading