|
@@ -618,8 +618,9 @@ int rxrpc_kernel_send_data(struct socket *sock, struct rxrpc_call *call,
|
|
|
ret = rxrpc_send_data(rxrpc_sk(sock->sk), call, msg, len);
|
|
|
break;
|
|
|
case RXRPC_CALL_COMPLETE:
|
|
|
- /* It's too late for this call */
|
|
|
- ret = -ESHUTDOWN;
|
|
|
+ read_lock_bh(&call->state_lock);
|
|
|
+ ret = -call->error;
|
|
|
+ read_unlock_bh(&call->state_lock);
|
|
|
break;
|
|
|
default:
|
|
|
/* Request phase complete for this client call */
|