Commit 0a2e1667 authored by Mika Westerberg's avatar Mika Westerberg
Browse files

thunderbolt: Ignore port locked error in tb_port_wait_for_link_width()



Sometimes when polling for the port after target link width is changed
we get back port locked notification (because the link actually was
reset and then re-trained). Instead of bailing out we can ignore these
when polling for the width change as this is expected.

Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent 0e14dd5e
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -1168,10 +1168,17 @@ int tb_port_wait_for_link_width(struct tb_port *port, int width,

	do {
		ret = tb_port_get_link_width(port);
		if (ret < 0)
		if (ret < 0) {
			/*
			 * Sometimes we get port locked error when
			 * polling the lanes so we can ignore it and
			 * retry.
			 */
			if (ret != -EACCES)
				return ret;
		else if (ret == width)
		} else if (ret == width) {
			return 0;
		}

		usleep_range(1000, 2000);
	} while (ktime_before(ktime_get(), timeout));