Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d01dc4c3 authored by David Howells's avatar David Howells
Browse files

rxrpc: Fix the parsing of soft-ACKs



The soft-ACK parser doesn't increment the pointer into the soft-ACK list,
resulting in the first ACK/NACK value being applied to all the relevant
packets in the Tx queue.  This has the potential to miss retransmissions
and cause excessive retransmissions.

Fix this by incrementing the pointer.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 78883793
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -384,7 +384,7 @@ static void rxrpc_input_soft_acks(struct rxrpc_call *call, u8 *acks,

	for (; nr_acks > 0; nr_acks--, seq++) {
		ix = seq & RXRPC_RXTX_BUFF_MASK;
		switch (*acks) {
		switch (*acks++) {
		case RXRPC_ACK_TYPE_ACK:
			call->rxtx_annotations[ix] = RXRPC_TX_ANNO_ACK;
			break;