summaryrefslogtreecommitdiffstats
path: root/net/rxrpc/input.c
diff options
context:
space:
mode:
authorDavid Howells2018-03-30 22:04:43 +0200
committerDavid Howells2018-03-30 22:04:43 +0200
commit03877bf6a30cca7d4bc3ffabd3c3e9464a7a1a19 (patch)
tree5592f86c9ada53d5c46d2653f91b50714c939dee /net/rxrpc/input.c
parentrxrpc: Fix a bit of time confusion (diff)
downloadkernel-qcow2-linux-03877bf6a30cca7d4bc3ffabd3c3e9464a7a1a19.tar.gz
kernel-qcow2-linux-03877bf6a30cca7d4bc3ffabd3c3e9464a7a1a19.tar.xz
kernel-qcow2-linux-03877bf6a30cca7d4bc3ffabd3c3e9464a7a1a19.zip
rxrpc: Fix Tx ring annotation after initial Tx failure
rxrpc calls have a ring of packets that are awaiting ACK or retransmission and a parallel ring of annotations that tracks the state of those packets. If the initial transmission of a packet on the underlying UDP socket fails then the packet annotation is marked for resend - but the setting of this mark accidentally erases the last-packet mark also stored in the same annotation slot. If this happens, a call won't switch out of the Tx phase when all the packets have been transmitted. Fix this by retaining the last-packet mark and only altering the packet state. Fixes: 248f219cb8bc ("rxrpc: Rewrite the data and ack handling code") Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/input.c')
0 files changed, 0 insertions, 0 deletions