mirror of https://github.com/PentHertz/srsLTE.git
lib,rlc_am_nr: make sure we react to polling bit, even if SDU/SDU
segment is a duplicate/overlapping.
This commit is contained in:
parent
68cc16ad68
commit
5992303aca
|
@ -1351,6 +1351,15 @@ void rlc_am_nr_rx::handle_data_pdu(uint8_t* payload, uint32_t nof_bytes)
|
|||
return;
|
||||
}
|
||||
|
||||
// Trigger polling if poll bit is set.
|
||||
// We do this before discarding duplicate SDUs/SDU segments
|
||||
// Because t-PollRetransmit may transmit a PDU that was already
|
||||
// received.
|
||||
if (header.p) {
|
||||
RlcInfo("status packet requested through polling bit");
|
||||
do_status = true;
|
||||
}
|
||||
|
||||
// Section 5.2.3.2.2, discard duplicate PDUs
|
||||
if (rx_window->has_sn(header.sn) && (*rx_window)[header.sn].fully_received) {
|
||||
RlcInfo("discarding duplicate SN=%d", header.sn);
|
||||
|
@ -1393,12 +1402,6 @@ void rlc_am_nr_rx::handle_data_pdu(uint8_t* payload, uint32_t nof_bytes)
|
|||
}
|
||||
}
|
||||
|
||||
// Check poll bit
|
||||
if (header.p) {
|
||||
RlcInfo("status packet requested through polling bit");
|
||||
do_status = true;
|
||||
}
|
||||
|
||||
debug_state();
|
||||
|
||||
// 5.2.3.2.3 Actions when an AMD PDU is placed in the reception buffer
|
||||
|
|
Loading…
Reference in New Issue