Introduce UE RCC to MAC ITTI queue

Reduce race conditions through a itti queue, such that RRC-initiated MAC
memory modifications happen at the same time as MAC thread writes.
However, it doesn't resolve the problem of exact slot we should apply
the new cell configurtion.
This commit is contained in:
Laurent THOMAS
2025-01-06 12:09:29 +01:00
committed by francescomani
parent f9bff3d6a0
commit 9c0d90a014
12 changed files with 133 additions and 35 deletions
+3 -4
View File
@@ -1206,11 +1206,10 @@ int nr_ue_ul_indication(nr_uplink_indication_t *ul_info)
return 0;
}
static uint32_t nr_ue_dl_processing(nr_downlink_indication_t *dl_info)
static uint32_t nr_ue_dl_processing(NR_UE_MAC_INST_t *mac, nr_downlink_indication_t *dl_info)
{
uint32_t ret_mask = 0x0;
DevAssert(dl_info != NULL);
NR_UE_MAC_INST_t *mac = get_mac_inst(dl_info->module_id);
DevAssert(mac != NULL && dl_info != NULL);
// DL indication after reception of DCI or DL PDU
if (dl_info->dci_ind && dl_info->dci_ind->number_of_dcis) {
@@ -1322,7 +1321,7 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info)
nr_ue_dl_scheduler(mac, dl_info);
else
// DL indication to process data channels
ret2 = nr_ue_dl_processing(dl_info);
ret2 = nr_ue_dl_processing(mac, dl_info);
ret = pthread_mutex_unlock(&mac->if_mutex);
AssertFatal(!ret, "mutex failed %d\n", ret);
return ret2;