rxrpc: Don't send an ACK at the end of service call response transmission
authorDavid Howells <dhowells@redhat.com>
Fri, 23 Sep 2016 11:39:23 +0000 (12:39 +0100)
committerDavid Howells <dhowells@redhat.com>
Fri, 23 Sep 2016 12:23:09 +0000 (13:23 +0100)
Don't send an IDLE ACK at the end of the transmission of the response to a
service call.  The service end resends DATA packets until the client sends an
ACK that hard-acks all the send data.  At that point, the call is complete.

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/recvmsg.c

index 6ba4af5a8d95cc6a7d558df5dd76140d076897b4..99e4c0ae30f1cdb2a405014035a00d07ef233589 100644 (file)
@@ -143,8 +143,6 @@ static void rxrpc_end_rx_phase(struct rxrpc_call *call)
        if (call->state == RXRPC_CALL_CLIENT_RECV_REPLY) {
                rxrpc_propose_ACK(call, RXRPC_ACK_IDLE, 0, 0, true, false);
                rxrpc_send_call_packet(call, RXRPC_PACKET_TYPE_ACK);
-       } else {
-               rxrpc_propose_ACK(call, RXRPC_ACK_IDLE, 0, 0, false, false);
        }
 
        write_lock_bh(&call->state_lock);