diff options
author | David Howells <dhowells@redhat.com> | 2016-10-06 08:11:49 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2016-10-06 08:11:49 +0100 |
commit | a9f312d98affab387557e2795d4e11ad82a4e4e8 (patch) | |
tree | 25a856ab14f16c87c5c626096c7967ccfae2b348 /net/rxrpc | |
parent | 7212a57e8eaa2572481398532d7be0c2685362b9 (diff) | |
download | op-kernel-dev-a9f312d98affab387557e2795d4e11ad82a4e4e8.zip op-kernel-dev-a9f312d98affab387557e2795d4e11ad82a4e4e8.tar.gz |
rxrpc: Only ping for lost reply in client call
When a reply is deemed lost, we send a ping to find out the other end
received all the request data packets we sent. This should be limited to
client calls and we shouldn't do this on service calls.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc')
-rw-r--r-- | net/rxrpc/input.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c index 3ad9f75..103d2b0 100644 --- a/net/rxrpc/input.c +++ b/net/rxrpc/input.c @@ -847,7 +847,8 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb, if (call->rxtx_annotations[call->tx_top & RXRPC_RXTX_BUFF_MASK] & RXRPC_TX_ANNO_LAST && - summary.nr_acks == call->tx_top - hard_ack) + summary.nr_acks == call->tx_top - hard_ack && + rxrpc_is_client_call(call)) rxrpc_propose_ACK(call, RXRPC_ACK_PING, skew, sp->hdr.serial, false, true, rxrpc_propose_ack_ping_for_lost_reply); |