afs: Check for fatal error when in waiting for ack state

When it's in the waiting-for-ACK state, the AFS filesystem needs to check
the result of rxrpc_kernel_recv_data() any time it is notified to see if it
is indicating a fatal error.  If this is the case, it needs to mark the
call completed otherwise the call just sits there and never goes away.

Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
David Howells 2016-10-06 08:11:50 +01:00
parent cf69207afa
commit 9008f998a2

View File

@ -418,7 +418,7 @@ static void afs_deliver_to_call(struct afs_call *call)
&call->abort_code);
if (ret == -EINPROGRESS || ret == -EAGAIN)
return;
if (ret == 1) {
if (ret == 1 || ret < 0) {
call->state = AFS_CALL_COMPLETE;
goto done;
}