add safety check to avoid scheduling MSG4 ACK if there is less than 2 symbols in mixed slot
(PUCCH for MSG4 ACK is 2 symbols)
This commit is contained in:
@@ -1150,8 +1150,8 @@ int nr_acknack_scheduling(gNB_MAC_INST *mac,
|
|||||||
|
|
||||||
const int minfbtime = mac->radio_config.minRXTXTIME + NTN_gNB_Koffset;
|
const int minfbtime = mac->radio_config.minRXTXTIME + NTN_gNB_Koffset;
|
||||||
const NR_UE_UL_BWP_t *ul_bwp = &UE->current_UL_BWP;
|
const NR_UE_UL_BWP_t *ul_bwp = &UE->current_UL_BWP;
|
||||||
const int n_slots_frame = mac->frame_structure.numb_slots_frame;
|
|
||||||
const frame_structure_t *fs = &mac->frame_structure;
|
const frame_structure_t *fs = &mac->frame_structure;
|
||||||
|
const int n_slots_frame = fs->numb_slots_frame;
|
||||||
|
|
||||||
NR_UE_sched_ctrl_t *sched_ctrl = &UE->UE_sched_ctrl;
|
NR_UE_sched_ctrl_t *sched_ctrl = &UE->UE_sched_ctrl;
|
||||||
NR_PUCCH_Config_t *pucch_Config = ul_bwp->pucch_Config;
|
NR_PUCCH_Config_t *pucch_Config = ul_bwp->pucch_Config;
|
||||||
@@ -1173,9 +1173,12 @@ int nr_acknack_scheduling(gNB_MAC_INST *mac,
|
|||||||
const int pucch_slot = (slot + pdsch_to_harq_feedback[f] + NTN_gNB_Koffset) % n_slots_frame;
|
const int pucch_slot = (slot + pdsch_to_harq_feedback[f] + NTN_gNB_Koffset) % n_slots_frame;
|
||||||
// check if the slot is UL
|
// check if the slot is UL
|
||||||
if (fs->frame_type == TDD) {
|
if (fs->frame_type == TDD) {
|
||||||
int mod_slot = pucch_slot % fs->numb_slots_period;
|
int mod_slot = get_slot_idx_in_period(pucch_slot, fs);
|
||||||
if (!is_ul_slot(mod_slot, fs))
|
if (!is_ul_slot(mod_slot, fs))
|
||||||
continue;
|
continue;
|
||||||
|
const tdd_period_config_t *pc = &fs->period_cfg;
|
||||||
|
if (r_pucch >= 0 && is_mixed_slot(mod_slot, fs) && pc->tdd_slot_bitmap[mod_slot].num_ul_symbols < 2)
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
const int pucch_frame = (frame + ((slot + pdsch_to_harq_feedback[f] + NTN_gNB_Koffset) / n_slots_frame)) % MAX_FRAME_NUMBER;
|
const int pucch_frame = (frame + ((slot + pdsch_to_harq_feedback[f] + NTN_gNB_Koffset) / n_slots_frame)) % MAX_FRAME_NUMBER;
|
||||||
// we store PUCCH resources according to slot, TDD configuration and size of the vector containing PUCCH structures
|
// we store PUCCH resources according to slot, TDD configuration and size of the vector containing PUCCH structures
|
||||||
|
|||||||
Reference in New Issue
Block a user