mirror of
https://github.com/torvalds/linux.git
synced 2024-09-29 19:33:13 +00:00
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: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
parent
7e72846bb9
commit
6bfe33473e
|
@ -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);
|
ret = read_block(read_block_data, dwaddress, data, dwords);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
if (ret == -ETIMEDOUT) {
|
if (ret != -ENODEV && retries--)
|
||||||
if (retries--)
|
continue;
|
||||||
continue;
|
|
||||||
ret = -EIO;
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user