From f647343f18d8de0e4b92101329bbf84ba52a82e8 Mon Sep 17 00:00:00 2001 From: Andre Puschmann Date: Thu, 29 Oct 2020 22:15:42 +0100 Subject: [PATCH] rlc_am: fix poll bit during header reconstruction this makes sure that the reconstructed RLC AM header has the poll bit set when any of its segments had it set. this triggered a bug in RLC AM because the Status PDU isn't transmitted for a RLC PDU that was segmented and only the first segment had the P flag set. --- lib/src/upper/rlc_am_lte.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/upper/rlc_am_lte.cc b/lib/src/upper/rlc_am_lte.cc index 1117bd9c8..c51a706a7 100644 --- a/lib/src/upper/rlc_am_lte.cc +++ b/lib/src/upper/rlc_am_lte.cc @@ -1842,6 +1842,9 @@ bool rlc_am_lte::rlc_am_lte_rx::add_segment_and_check(rlc_amd_rx_pdu_segments_t* carryover = 0; } count = 0; + + // set Poll bit if any of the segments had it set + header.p |= it->header.p; } log->debug("Finished header reconstruction of %zd segments\n", pdu->segments.size());