diff options
author | David Howells <dhowells@redhat.com> | 2024-02-29 17:46:21 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2024-03-06 00:35:24 +0100 |
commit | 3e0b83ee535d44befddb3f0a6c75a531cf47f869 (patch) | |
tree | 28a07f33a880d0aa7fd5b5514791c02469f8c82b | |
parent | rxrpc: Do zerocopy using MSG_SPLICE_PAGES and page frags (diff) | |
download | linux-3e0b83ee535d44befddb3f0a6c75a531cf47f869.tar.xz linux-3e0b83ee535d44befddb3f0a6c75a531cf47f869.zip |
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: David 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
-rw-r--r-- | net/rxrpc/call_event.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/rxrpc/call_event.c b/net/rxrpc/call_event.c index e19ea54dce54..58826710322d 100644 --- a/net/rxrpc/call_event.c +++ b/net/rxrpc/call_event.c @@ -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) { |