Commit 6bfe3347 authored by Mika Westerberg's avatar Mika Westerberg

thunderbolt: Retry USB4 block read operation

Especially when accessing retimers over USB4 sideband operations the
possibility to get read errors seems to be higher so make the
usb4_do_read_data() retry a couple of times if it sees any other error
than -ENODEV (device is gone). We can only do this for read side because
it carries the offset as part of metadata (as opposed to writes).
Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent 7e72846b
......@@ -115,11 +115,8 @@ static int usb4_do_read_data(u16 address, void *buf, size_t size,
ret = read_block(read_block_data, dwaddress, data, dwords);
if (ret) {
if (ret == -ETIMEDOUT) {
if (retries--)
continue;
ret = -EIO;
}
if (ret != -ENODEV && retries--)
continue;
return ret;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment