rlc_am_lte: when max retx is reached, remove SN from tx window

this fixes an issue when the RLC bearer isn't reset from RRC.
In this case, the RLC would retransmit the same PDU over and over
again despite the max retx counter being reached.
This commit is contained in:
Andre Puschmann 2021-02-24 15:15:26 +01:00
parent c0a1b0efa3
commit 822abc763e
1 changed files with 6 additions and 0 deletions

View File

@ -625,6 +625,12 @@ int rlc_am_lte::rlc_am_lte_tx::build_retx_pdu(uint8_t* payload, uint32_t nof_byt
logger.warning("%s Signaling max number of reTx=%d for for SN=%d", RB_NAME, tx_window[retx.sn].retx_count, retx.sn);
parent->rrc->max_retx_attempted();
parent->pdcp->notify_failure(parent->lcid, tx_window[retx.sn].pdcp_sns);
// remove SN from Tx window, advance window
tx_window.remove_pdu(retx.sn);
vt_a = (vt_a + 1) % MOD;
vt_ms = (vt_ms + 1) % MOD;
return 0;
}
logger.info(payload,