Commit 3e0b83ee authored by David Howells's avatar David Howells
Browse files

rxrpc: Parse received packets before dealing with timeouts



Parse the received packets before going and processing timeouts as the
timeouts may be reset by the reception of a packet.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
parent 49489bb0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -358,6 +358,9 @@ bool rxrpc_input_call_event(struct rxrpc_call *call, struct sk_buff *skb)
	if (skb && skb->mark == RXRPC_SKB_MARK_ERROR)
		goto out;

	if (skb)
		rxrpc_input_call_packet(call, skb);

	/* If we see our async-event poke, check for timeout trippage. */
	now = jiffies;
	t = call->expect_rx_by;
@@ -417,9 +420,6 @@ bool rxrpc_input_call_event(struct rxrpc_call *call, struct sk_buff *skb)
		resend = true;
	}

	if (skb)
		rxrpc_input_call_packet(call, skb);

	rxrpc_transmit_some_data(call);

	if (skb) {