summaryrefslogtreecommitdiffstats
path: root/net/rxrpc/input.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-10-06 08:11:49 +0100
committerDavid Howells <dhowells@redhat.com>2016-10-06 08:11:49 +0100
commita9f312d98affab387557e2795d4e11ad82a4e4e8 (patch)
tree25a856ab14f16c87c5c626096c7967ccfae2b348 /net/rxrpc/input.c
parent7212a57e8eaa2572481398532d7be0c2685362b9 (diff)
downloadblackbird-op-linux-a9f312d98affab387557e2795d4e11ad82a4e4e8.tar.gz
blackbird-op-linux-a9f312d98affab387557e2795d4e11ad82a4e4e8.zip
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/input.c')
-rw-r--r--net/rxrpc/input.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c
index 3ad9f75031e3..103d2b0d4690 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);
OpenPOWER on IntegriCloud