diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index 7f849253da..251b1d859c 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -987,9 +987,12 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP, if (ra->ra_state != nrRA_WAIT_Msg3) continue; - if( (frameP!=ra->Msg3_frame) || (slotP!=ra->Msg3_slot)) + if((frameP!=ra->Msg3_frame) || (slotP!=ra->Msg3_slot)) continue; + if (ul_cqi != 0xff) + ra->msg3_TPC = nr_get_tpc(target_snrx10, ul_cqi, 30, 0); + handle_msg3_failed_rx(ra, i, gNB_mac->ul_bler.harq_round_max); } }