Commit 434da42d authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'thunderbolt-for-v6.15-rc1' of...

Merge tag 'thunderbolt-for-v6.15-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next

Mika writes:

thunderbolt: Changes for v6.15 merge window

This includes following USB4/Thunderbolt changes for the v6.15 merge
window:

  - Move retimer scanning to happen bit later to work better with
    Pluggable USB4 devices.
  - No need to add non-active NVM for retimers if NVM upgrade is not
    supported.
  - Cleanup for tb_tunnel_alloc_usb3().
  - MAINTAINERS update.

All these have been in linux-next with no reported issues.

* tag 'thunderbolt-for-v6.15-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt:
  thunderbolt: Do not add non-active NVM if NVM upgrade is disabled for retimer
  thunderbolt: Scan retimers after device router has been enumerated
  thunderbolt: Make tb_tunnel_alloc_usb3() error paths consistent with the rest
  MAINTAINERS: Use my kernel.org address for USB4/Thunderbolt work
parents 3a85c101 ad79c278
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -23633,7 +23633,7 @@ F: drivers/thunderbolt/dma_test.c
THUNDERBOLT DRIVER
M:	Andreas Noever <andreas.noever@gmail.com>
M:	Michael Jamet <michael.jamet@intel.com>
M:	Mika Westerberg <mika.westerberg@linux.intel.com>
M:	Mika Westerberg <westeri@kernel.org>
M:	Yehezkel Bernat <YehezkelShB@gmail.com>
L:	linux-usb@vger.kernel.org
S:	Maintained
@@ -23644,7 +23644,7 @@ F: include/linux/thunderbolt.h
THUNDERBOLT NETWORK DRIVER
M:	Michael Jamet <michael.jamet@intel.com>
M:	Mika Westerberg <mika.westerberg@linux.intel.com>
M:	Mika Westerberg <westeri@kernel.org>
M:	Yehezkel Bernat <YehezkelShB@gmail.com>
L:	netdev@vger.kernel.org
S:	Maintained
+5 −3
Original line number Diff line number Diff line
@@ -93,9 +93,11 @@ static int tb_retimer_nvm_add(struct tb_retimer *rt)
	if (ret)
		goto err_nvm;

	if (!rt->no_nvm_upgrade) {
		ret = tb_nvm_add_non_active(nvm, nvm_write);
		if (ret)
			goto err_nvm;
	}

	rt->nvm = nvm;
	dev_dbg(&rt->dev, "NVM version %x.%x\n", nvm->major, nvm->minor);
+14 −2
Original line number Diff line number Diff line
@@ -1305,11 +1305,15 @@ static void tb_scan_port(struct tb_port *port)
		goto out_rpm_put;
	}

	tb_retimer_scan(port, true);

	sw = tb_switch_alloc(port->sw->tb, &port->sw->dev,
			     tb_downstream_route(port));
	if (IS_ERR(sw)) {
		/*
		 * Make the downstream retimers available even if there
		 * is no router connected.
		 */
		tb_retimer_scan(port, true);

		/*
		 * If there is an error accessing the connected switch
		 * it may be connected to another domain. Also we allow
@@ -1359,6 +1363,14 @@ static void tb_scan_port(struct tb_port *port)
	upstream_port = tb_upstream_port(sw);
	tb_configure_link(port, upstream_port, sw);

	/*
	 * Scan for downstream retimers. We only scan them after the
	 * router has been enumerated to avoid issues with certain
	 * Pluggable devices that expect the host to enumerate them
	 * within certain timeout.
	 */
	tb_retimer_scan(port, true);

	/*
	 * CL0s and CL1 are enabled and supported together.
	 * Silently ignore CLx enabling in case CLx is not supported.
+8 −8
Original line number Diff line number Diff line
@@ -2224,19 +2224,15 @@ struct tb_tunnel *tb_tunnel_alloc_usb3(struct tb *tb, struct tb_port *up,

	path = tb_path_alloc(tb, down, TB_USB3_HOPID, up, TB_USB3_HOPID, 0,
			     "USB3 Down");
	if (!path) {
		tb_tunnel_put(tunnel);
		return NULL;
	}
	if (!path)
		goto err_free;
	tb_usb3_init_path(path);
	tunnel->paths[TB_USB3_PATH_DOWN] = path;

	path = tb_path_alloc(tb, up, TB_USB3_HOPID, down, TB_USB3_HOPID, 0,
			     "USB3 Up");
	if (!path) {
		tb_tunnel_put(tunnel);
		return NULL;
	}
	if (!path)
		goto err_free;
	tb_usb3_init_path(path);
	tunnel->paths[TB_USB3_PATH_UP] = path;

@@ -2253,6 +2249,10 @@ struct tb_tunnel *tb_tunnel_alloc_usb3(struct tb *tb, struct tb_port *up,
	}

	return tunnel;

err_free:
	tb_tunnel_put(tunnel);
	return NULL;
}

/**