From 1116d16df2b99f1a80eeab0d18507d282fd8b5d9 Mon Sep 17 00:00:00 2001 From: Melissa Elkadi Date: Fri, 20 Aug 2021 14:50:23 -0700 Subject: [PATCH] Need to call scheduler after RACH indefinitly The ue_sched_mode is reset to 0 again when we memset the ul_info and after the CFRA procedure is complete, then uplink CRCs with the PUCCH response (PUSCH) are not being sent because the scheduler isnt being called. This makes the gNB run out of uplink harq ids since its never getting the proper responses. The change below will ensure that we call the scheduler AFTER the RACH is sent and all the time after that. --- openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c index fbbb25c69f..9ab1026dd6 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c @@ -772,8 +772,12 @@ int nr_ue_ul_indication(nr_uplink_indication_t *ul_info){ ret = nr_ue_scheduler(NULL, ul_info); return 0; } - else if (ul_info->ue_sched_mode == SCHED_ALL) + if (ul_info->ue_sched_mode == SCHED_ALL || (mac->ra.ra_state >= GENERATE_PREAMBLE && mac->ra.ra_state != RA_FAILED)) { ret = nr_ue_scheduler(NULL, ul_info); + } + else + LOG_D(NR_MAC, "In %s():%d not calling scheduler. sched mode = %d and mac->ra.ra_state = %d\n", + __FUNCTION__, __LINE__, ul_info->ue_sched_mode, mac->ra.ra_state); NR_TDD_UL_DL_ConfigCommon_t *tdd_UL_DL_ConfigurationCommon = mac->scc != NULL ? mac->scc->tdd_UL_DL_ConfigurationCommon : mac->scc_SIB->tdd_UL_DL_ConfigurationCommon;