Fix preferred DL TDA computation
This commit is contained in:
@@ -537,25 +537,27 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
|
|||||||
|
|
||||||
if (CellGroup) {
|
if (CellGroup) {
|
||||||
|
|
||||||
const NR_ServingCellConfig_t *servingCellConfig = CellGroup->spCellConfig->spCellConfigDedicated;
|
calculate_preferred_dl_tda(Mod_idP, NULL);
|
||||||
|
|
||||||
const struct NR_ServingCellConfig__downlinkBWP_ToAddModList *bwpList = servingCellConfig->downlinkBWP_ToAddModList;
|
const NR_ServingCellConfig_t *servingCellConfig = NULL;
|
||||||
if(bwpList) {
|
if(CellGroup->spCellConfig && CellGroup->spCellConfig->spCellConfigDedicated) {
|
||||||
AssertFatal(bwpList->list.count > 0, "downlinkBWP_ToAddModList has no BWPs!\n");
|
servingCellConfig = CellGroup->spCellConfig->spCellConfigDedicated;
|
||||||
for (int i = 0; i < bwpList->list.count; ++i) {
|
const struct NR_ServingCellConfig__downlinkBWP_ToAddModList *bwpList = servingCellConfig->downlinkBWP_ToAddModList;
|
||||||
const NR_BWP_Downlink_t *bwp = bwpList->list.array[i];
|
if(bwpList) {
|
||||||
calculate_preferred_dl_tda(Mod_idP, bwp);
|
AssertFatal(bwpList->list.count > 0, "downlinkBWP_ToAddModList has no BWPs!\n");
|
||||||
|
for (int i = 0; i < bwpList->list.count; ++i) {
|
||||||
|
const NR_BWP_Downlink_t *bwp = bwpList->list.array[i];
|
||||||
|
calculate_preferred_dl_tda(Mod_idP, bwp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
calculate_preferred_dl_tda(Mod_idP, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
const struct NR_UplinkConfig__uplinkBWP_ToAddModList *ubwpList = servingCellConfig->uplinkConfig->uplinkBWP_ToAddModList;
|
const struct NR_UplinkConfig__uplinkBWP_ToAddModList *ubwpList = servingCellConfig->uplinkConfig->uplinkBWP_ToAddModList;
|
||||||
if(ubwpList) {
|
if(ubwpList) {
|
||||||
AssertFatal(ubwpList->list.count > 0, "uplinkBWP_ToAddModList no BWPs!\n");
|
AssertFatal(ubwpList->list.count > 0, "uplinkBWP_ToAddModList no BWPs!\n");
|
||||||
for (int i = 0; i < ubwpList->list.count; ++i) {
|
for (int i = 0; i < ubwpList->list.count; ++i) {
|
||||||
const NR_BWP_Uplink_t *ubwp = ubwpList->list.array[i];
|
const NR_BWP_Uplink_t *ubwp = ubwpList->list.array[i];
|
||||||
calculate_preferred_ul_tda(Mod_idP, ubwp);
|
calculate_preferred_ul_tda(Mod_idP, ubwp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -614,7 +616,6 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
|
|||||||
UE_info->CellGroup[UE_id] = CellGroup;
|
UE_info->CellGroup[UE_id] = CellGroup;
|
||||||
LOG_I(NR_MAC,"Modified UE_id %d/%x with CellGroup\n",UE_id,rnti);
|
LOG_I(NR_MAC,"Modified UE_id %d/%x with CellGroup\n",UE_id,rnti);
|
||||||
process_CellGroup(CellGroup,&UE_info->UE_sched_ctrl[UE_id]);
|
process_CellGroup(CellGroup,&UE_info->UE_sched_ctrl[UE_id]);
|
||||||
const NR_ServingCellConfig_t *servingCellConfig = CellGroup ? CellGroup->spCellConfig->spCellConfigDedicated : NULL;
|
|
||||||
NR_UE_sched_ctrl_t *sched_ctrl = &UE_info->UE_sched_ctrl[UE_id];
|
NR_UE_sched_ctrl_t *sched_ctrl = &UE_info->UE_sched_ctrl[UE_id];
|
||||||
const NR_PDSCH_ServingCellConfig_t *pdsch = servingCellConfig ? servingCellConfig->pdsch_ServingCellConfig->choice.setup : NULL;
|
const NR_PDSCH_ServingCellConfig_t *pdsch = servingCellConfig ? servingCellConfig->pdsch_ServingCellConfig->choice.setup : NULL;
|
||||||
if (sched_ctrl->available_dl_harq.len == 0) {
|
if (sched_ctrl->available_dl_harq.len == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user