From 6d0aafcf6920a216464d06058effae22e7b7fdf1 Mon Sep 17 00:00:00 2001 From: Andre Puschmann Date: Wed, 27 Oct 2021 16:58:29 +0200 Subject: [PATCH] rlc_um_nr: fix has_missing_byte_segment() routine return true if rx_window contains segment of this SN --- lib/src/rlc/rlc_um_nr.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/rlc/rlc_um_nr.cc b/lib/src/rlc/rlc_um_nr.cc index 610821d4b..16979dece 100644 --- a/lib/src/rlc/rlc_um_nr.cc +++ b/lib/src/rlc/rlc_um_nr.cc @@ -319,8 +319,8 @@ void rlc_um_nr::rlc_um_nr_rx::timer_expired(uint32_t timeout_id) // check start of t_reassembly if (RX_MOD_NR_BASE(RX_Next_Highest) > RX_MOD_NR_BASE(RX_Next_Reassembly + 1) || - (RX_MOD_NR_BASE(RX_Next_Highest) == RX_MOD_NR_BASE(RX_Next_Reassembly + 1) && - has_missing_byte_segment(RX_Next_Reassembly))) { + ((RX_MOD_NR_BASE(RX_Next_Highest) == RX_MOD_NR_BASE(RX_Next_Reassembly + 1) && + has_missing_byte_segment(RX_Next_Reassembly)))) { reassembly_timer.run(); RX_Timer_Trigger = RX_Next_Highest; } @@ -366,7 +366,7 @@ bool rlc_um_nr::rlc_um_nr_rx::has_missing_byte_segment(const uint32_t sn) { // is at least one missing byte segment of the RLC SDU associated with SN = RX_Next_Reassembly before the last byte of // all received segments of this RLC SDU - return true; + return (rx_window.find(sn) != rx_window.end()); } // Sect 5.2.2.2.3