Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8022c4b9 authored by David Howells's avatar David Howells
Browse files

afs: Differentiate abort due to unmarshalling from other errors



Differentiate an abort due to an unmarshalling error from an abort due to
other errors, such as ENETUNREACH.  It doesn't make sense to set abort code
RXGEN_*_UNMARSHAL in such a case, so use RX_USER_ABORT instead.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent d2abfa86
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -572,13 +572,17 @@ static void afs_deliver_to_call(struct afs_call *call)
		case -ENODATA:
		case -EBADMSG:
		case -EMSGSIZE:
		default:
			abort_code = RXGEN_CC_UNMARSHAL;
			if (state != AFS_CALL_CL_AWAIT_REPLY)
				abort_code = RXGEN_SS_UNMARSHAL;
			rxrpc_kernel_abort_call(call->net->socket, call->rxcall,
						abort_code, ret, "KUM");
			goto local_abort;
		default:
			abort_code = RX_USER_ABORT;
			rxrpc_kernel_abort_call(call->net->socket, call->rxcall,
						abort_code, ret, "KER");
			goto local_abort;
		}
	}