From 4ba228a8b373f64de541baab1f11449448cb7be2 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Fri, 1 May 2020 23:44:46 +0200 Subject: lib: Fix retransmission DRF update The retransmission was always disabling the DRF flag. This caused problems with the loss of the first packet, which of course needs a DRF flag set. The retransmitted packet will now contain a the original DRF flag and an updated ack number. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/lib/rxmwheel.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/lib/rxmwheel.c b/src/lib/rxmwheel.c index dbdd9377..9602c5f9 100644 --- a/src/lib/rxmwheel.c +++ b/src/lib/rxmwheel.c @@ -199,15 +199,11 @@ static void rxmwheel_move(struct rxmwheel * rw) head = shm_du_buff_head(sdb); memcpy(head, r->head, r->tail - r->head); - /* Release the old copy. */ ipcp_sdb_release(r->sdb); - /* Disable using this seqno as rto probe. */ check_probe(r->frcti, r->seqno); - /* Update ackno and make sure DRF is not set. */ ((struct frct_pci *) head)->ackno = ntoh32(rcv_lwe); - ((struct frct_pci *) head)->flags &= ~FRCT_DRF; /* Retransmit the copy. */ if (shm_rbuff_write_b(f->tx_rb, idx, NULL)) { -- cgit v1.2.3