Trigger release request on RA timeout only once

Checking for < 0 makes the contention resolution timer trigger on each
iteration once it is < 0. Instead, use == 0, which will trigger only
once.
This commit is contained in:
Robert Schmidt
2025-05-04 09:34:41 +02:00
committed by francescomani
parent 3ec14152a1
commit 953a5ed33e
@@ -2262,7 +2262,7 @@ void nr_schedule_RA(module_id_t module_idP,
// Check RA Contention Resolution timer (TODO check this procedure)
if (ra->ra_type == RA_4_STEP && ra->ra_state > nrRA_WAIT_Msg3) {
ra->contention_resolution_timer--;
if (ra->contention_resolution_timer < 0) {
if (ra->contention_resolution_timer == 0) {
LOG_W(NR_MAC, "(%d.%d) RA Contention Resolution timer expired for UE 0x%04x, RA procedure failed...\n", frameP, slotP, UE->rnti);
bool requested = nr_mac_request_release_ue(mac, UE->rnti);
if (!requested)