diff options
| author | David S. Miller <davem@davemloft.net> | 2019-04-12 16:57:23 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2019-04-12 16:57:23 -0700 |
| commit | 9e550f015303a99a9395a838743bbeff94d4d49c (patch) | |
| tree | adec0da77205b01e590914e28aca0930926f9949 /net/rxrpc/ar-internal.h | |
| parent | 1dc2b3d65523780ed1972d446c76e62e13f3e8f5 (diff) | |
| parent | 1a2391c30c0b9d041bc340f68df81d49c53546cc (diff) | |
| download | linux-9e550f015303a99a9395a838743bbeff94d4d49c.tar.gz linux-9e550f015303a99a9395a838743bbeff94d4d49c.tar.bz2 linux-9e550f015303a99a9395a838743bbeff94d4d49c.zip | |
Merge branch 'rxrpc-fixes'
David Howells says:
====================
rxrpc: Fixes
Here is a collection of fixes for rxrpc:
(1) rxrpc_error_report() needs to call sock_error() to clear the error
code from the UDP transport socket, lest it be unexpectedly revisited
on the next kernel_sendmsg() call. This has been causing all sorts of
weird effects in AFS as the effects have typically been felt by the
wrong RxRPC call.
(2) Allow a kernel user of AF_RXRPC to easily detect if an rxrpc call has
completed.
(3) Allow errors incurred by attempting to transmit data through the UDP
socket to get back up the stack to AFS.
(4) Make AFS use (2) to abort the synchronous-mode call waiting loop if
the rxrpc-level call completed.
(5) Add a missing tracepoint case for tracing abort reception.
(6) Fix detection and handling of out-of-order ACKs.
====================
Tested-by: Jonathan Billings <jsbillin@umich.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rxrpc/ar-internal.h')
| -rw-r--r-- | net/rxrpc/ar-internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h index 4b1a534d290a..062ca9dc29b8 100644 --- a/net/rxrpc/ar-internal.h +++ b/net/rxrpc/ar-internal.h @@ -654,6 +654,7 @@ struct rxrpc_call { u8 ackr_reason; /* reason to ACK */ u16 ackr_skew; /* skew on packet being ACK'd */ rxrpc_serial_t ackr_serial; /* serial of packet being ACK'd */ + rxrpc_serial_t ackr_first_seq; /* first sequence number received */ rxrpc_seq_t ackr_prev_seq; /* previous sequence number received */ rxrpc_seq_t ackr_consumed; /* Highest packet shown consumed */ rxrpc_seq_t ackr_seen; /* Highest packet shown seen */ |
