Skip to content
Snippets Groups Projects
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
No related branches found
No related tags found
No related merge requests found
......@@ -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)
return ret;
else if (ret == width)
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) {
return 0;
}
usleep_range(1000, 2000);
} while (ktime_before(ktime_get(), timeout));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment