process ID overflow bugfix
This commit is contained in:
@@ -134,6 +134,7 @@ void clear_nr_nfapi_information(gNB_MAC_INST * gNB,
|
||||
|
||||
/* advance last round's future UL_tti_req to be ahead of current frame/slot */
|
||||
future_ul_tti_req->SFN = (slotP == 0 ? frameP : frameP + 1) % 1024;
|
||||
LOG_D(MAC,"Future_ul_tti SFN = %d for slot %d \n", future_ul_tti_req->SFN, (slotP + num_slots - 1) % num_slots);
|
||||
/* future_ul_tti_req->Slot is fixed! */
|
||||
future_ul_tti_req->n_pdus = 0;
|
||||
future_ul_tti_req->n_ulsch = 0;
|
||||
@@ -374,9 +375,10 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
|
||||
if (NFAPI_MODE == NFAPI_MODE_VNF){
|
||||
if(first_sched_entry == 1)
|
||||
{
|
||||
printf("First sched entry at slot %d \n", slot);
|
||||
for (int i = 0; i<num_slots; i++){
|
||||
if(i <= slot)
|
||||
gNB->UL_tti_req_ahead[CC_id][i].SFN = frame + 1;
|
||||
gNB->UL_tti_req_ahead[CC_id][i].SFN = (frame + 1) % 1024;
|
||||
else
|
||||
gNB->UL_tti_req_ahead[CC_id][i].SFN = frame;
|
||||
}
|
||||
|
||||
@@ -46,7 +46,6 @@ void nr_fill_nfapi_pucch(module_id_t mod_id,
|
||||
|
||||
nfapi_nr_ul_tti_request_t *future_ul_tti_req =
|
||||
&RC.nrmac[mod_id]->UL_tti_req_ahead[0][pucch->ul_slot];
|
||||
|
||||
AssertFatal(future_ul_tti_req->SFN == pucch->frame
|
||||
&& future_ul_tti_req->Slot == pucch->ul_slot,
|
||||
"future UL_tti_req's frame.slot %d.%d does not match PUCCH %d.%d\n",
|
||||
@@ -1140,10 +1139,6 @@ int nr_acknack_scheduling(int mod_id,
|
||||
__func__,
|
||||
pucch->csi_bits);
|
||||
/* if the currently allocated PUCCH of this UE is full, allocate it */
|
||||
// if (NFAPI_MODE == NFAPI_MODE_VNF){
|
||||
// pucch->sr_flag = 1;
|
||||
// pucch->dai_c = 1;
|
||||
// }
|
||||
|
||||
if (pucch->dai_c == 2) {
|
||||
/* advance the UL slot information in PUCCH by one so we won't schedule in
|
||||
@@ -1174,7 +1169,7 @@ int nr_acknack_scheduling(int mod_id,
|
||||
/* if the UE's next PUCCH occasion is after the possible UL slots (within the
|
||||
* same frame) or wrapped around to the next frame, then we assume there is
|
||||
* no possible PUCCH allocation anymore */
|
||||
if(NFAPI_MODE == NFAPI_MONOLITHIC)
|
||||
|
||||
if ((pucch->frame == frame
|
||||
&& (pucch->ul_slot >= first_ul_slot_tdd + nr_ulmix_slots))
|
||||
|| (pucch->frame == frame + 1))
|
||||
@@ -1186,10 +1181,10 @@ int nr_acknack_scheduling(int mod_id,
|
||||
get_pdsch_to_harq_feedback(mod_id, UE_id, ss_type, pdsch_to_harq_feedback);
|
||||
|
||||
/* there is a HARQ. Check whether we can use it for this ACKNACK */
|
||||
// if(NFAPI_MODE == NFAPI_MODE_VNF)
|
||||
// return 0;
|
||||
|
||||
if (pucch->dai_c > 0) {
|
||||
/* this UE already has a PUCCH occasion */
|
||||
LOG_I(MAC,"pucch->frame = %d,frame=%d \n",pucch->frame,frame);
|
||||
DevAssert(pucch->frame == frame);
|
||||
|
||||
// Find the right timing_indicator value.
|
||||
|
||||
@@ -88,7 +88,7 @@ void handle_nr_uci(NR_UL_IND_t *UL_info)
|
||||
{
|
||||
if(NFAPI_MODE == NFAPI_MODE_PNF) {
|
||||
if (UL_info->uci_ind.num_ucis>0) {
|
||||
LOG_I(PHY,"PNF Sending UL_info->num_ucis:%d PDU_type: %d, SFN/SF:%d.%d \n", UL_info->uci_ind.num_ucis, UL_info->uci_ind.uci_list[0].pdu_type ,UL_info->frame, UL_info->slot);
|
||||
LOG_D(PHY,"PNF Sending UL_info->num_ucis:%d PDU_type: %d, SFN/SF:%d.%d \n", UL_info->uci_ind.num_ucis, UL_info->uci_ind.uci_list[0].pdu_type ,UL_info->frame, UL_info->slot);
|
||||
oai_nfapi_nr_uci_indication(&UL_info->uci_ind);
|
||||
UL_info->uci_ind.num_ucis = 0;
|
||||
}
|
||||
@@ -99,7 +99,7 @@ void handle_nr_uci(NR_UL_IND_t *UL_info)
|
||||
const sub_frame_t slot = UL_info->slot;
|
||||
int num_ucis = UL_info->uci_ind.num_ucis;
|
||||
nfapi_nr_uci_t *uci_list = UL_info->uci_ind.uci_list;
|
||||
//printf("handling UCI SFN/slot: %d.%d, num_ucis: %d \n", frame,slot, num_ucis);
|
||||
LOG_I(MAC,"handling UCI SFN/slot: %d.%d, num_ucis: %d \n", frame,slot, num_ucis);
|
||||
for (int i = 0; i < num_ucis; i++) {
|
||||
switch (uci_list[i].pdu_type) {
|
||||
case NFAPI_NR_UCI_PUSCH_PDU_TYPE:
|
||||
@@ -120,6 +120,7 @@ void handle_nr_uci(NR_UL_IND_t *UL_info)
|
||||
break;
|
||||
}
|
||||
}
|
||||
LOG_D(MAC, "UCI handled \n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user