Commit 761ad26c authored by Sagi Grimberg's avatar Sagi Grimberg Committed by Keith Busch

nvme-tcp: break from io_work loop if recv failed

If we failed to receive data from the socket, don't try
to further process it, we will for sure be handling a queue
error at this point. While no issue was seen with the
current behavior thus far, its safer to cease socket processing
if we detected an error.
Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
parent 5ff4e112
...@@ -1074,6 +1074,8 @@ static void nvme_tcp_io_work(struct work_struct *w) ...@@ -1074,6 +1074,8 @@ static void nvme_tcp_io_work(struct work_struct *w)
result = nvme_tcp_try_recv(queue); result = nvme_tcp_try_recv(queue);
if (result > 0) if (result > 0)
pending = true; pending = true;
else if (unlikely(result < 0))
break;
if (!pending) if (!pending)
return; return;
......
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