Resolved temp-rnti issue
This commit is contained in:
@@ -153,7 +153,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
|
|||||||
TX_req->SFN,TX_req->Slot,TX_req->Number_of_PDUs,
|
TX_req->SFN,TX_req->Slot,TX_req->Number_of_PDUs,
|
||||||
number_ul_dci_pdu,number_ul_tti_pdu);
|
number_ul_dci_pdu,number_ul_tti_pdu);
|
||||||
|
|
||||||
int pdcch_received=0;
|
// int pdcch_received=0;
|
||||||
gNB->num_pdsch_rnti=0;
|
gNB->num_pdsch_rnti=0;
|
||||||
for (int i=0; i<NUMBER_OF_NR_DLSCH_MAX; i++) {
|
for (int i=0; i<NUMBER_OF_NR_DLSCH_MAX; i++) {
|
||||||
gNB->dlsch[i][0]->rnti=0;
|
gNB->dlsch[i][0]->rnti=0;
|
||||||
@@ -176,13 +176,13 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE:
|
case NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE:
|
||||||
AssertFatal(pdcch_received == 0, "pdcch_received is not 0, we can only handle one PDCCH PDU per slot\n");
|
// AssertFatal(pdcch_received == 0, "pdcch_received is not 0, we can only handle one PDCCH PDU per slot\n");
|
||||||
LOG_D(PHY,"frame %d, slot %d, Got NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE for %d.%d\n",frame,slot,DL_req->SFN,DL_req->Slot);
|
LOG_D(PHY,"frame %d, slot %d, Got NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE for %d.%d\n",frame,slot,DL_req->SFN,DL_req->Slot);
|
||||||
handle_nfapi_nr_pdcch_pdu(gNB,
|
handle_nfapi_nr_pdcch_pdu(gNB,
|
||||||
frame, slot,
|
frame, slot,
|
||||||
&dl_tti_pdu->pdcch_pdu);
|
&dl_tti_pdu->pdcch_pdu);
|
||||||
|
|
||||||
pdcch_received = 1;
|
// pdcch_received = 1;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case NFAPI_NR_DL_TTI_PDSCH_PDU_TYPE:
|
case NFAPI_NR_DL_TTI_PDSCH_PDU_TYPE:
|
||||||
|
|||||||
@@ -515,7 +515,7 @@ void nr_initiate_ra_proc(module_id_t module_idP,
|
|||||||
ra->rnti = (taus() % 65518) + 1;
|
ra->rnti = (taus() % 65518) + 1;
|
||||||
loop++;
|
loop++;
|
||||||
}
|
}
|
||||||
while (loop != 100 && !(find_nr_UE_id(module_idP, ra->rnti) == -1 && ra->rnti >= 1 && ra->rnti <= 65519));
|
while (loop != 100 && !((find_nr_UE_id(module_idP, ra->rnti) == -1) && (find_nr_RA_id(module_idP, CC_id, ra->rnti) == -1) && ra->rnti >= 1 && ra->rnti <= 65519));
|
||||||
if (loop == 100) {
|
if (loop == 100) {
|
||||||
LOG_E(MAC,"%s:%d:%s: [RAPROC] initialisation random access aborted\n", __FILE__, __LINE__, __FUNCTION__);
|
LOG_E(MAC,"%s:%d:%s: [RAPROC] initialisation random access aborted\n", __FILE__, __LINE__, __FUNCTION__);
|
||||||
abort();
|
abort();
|
||||||
|
|||||||
@@ -1437,6 +1437,25 @@ int find_nr_UE_id(module_id_t mod_idP, rnti_t rntiP)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int find_nr_RA_id(module_id_t mod_idP, int CC_idP, rnti_t rntiP)
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
{
|
||||||
|
int RA_id;
|
||||||
|
RA_t *ra = (RA_t *) &RC.nrmac[mod_idP]->common_channels[CC_idP].ra[0];
|
||||||
|
|
||||||
|
for (RA_id = 0; RA_id < NB_RA_PROC_MAX; RA_id++) {
|
||||||
|
LOG_D(MAC, "Checking RA_id %d for %x : state %d\n",
|
||||||
|
RA_id,
|
||||||
|
rntiP,
|
||||||
|
ra[RA_id].state);
|
||||||
|
|
||||||
|
if (ra[RA_id].state != IDLE && ra[RA_id].rnti == rntiP)
|
||||||
|
return RA_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
int add_new_nr_ue(module_id_t mod_idP, rnti_t rntiP){
|
int add_new_nr_ue(module_id_t mod_idP, rnti_t rntiP){
|
||||||
|
|
||||||
int UE_id;
|
int UE_id;
|
||||||
|
|||||||
@@ -251,6 +251,8 @@ void dump_nr_ue_list(NR_UE_list_t *listP, int ul_flag);
|
|||||||
|
|
||||||
int find_nr_UE_id(module_id_t mod_idP, rnti_t rntiP);
|
int find_nr_UE_id(module_id_t mod_idP, rnti_t rntiP);
|
||||||
|
|
||||||
|
int find_nr_RA_id(module_id_t mod_idP, int CC_idP, rnti_t rntiP);
|
||||||
|
|
||||||
int add_new_nr_ue(module_id_t mod_idP, rnti_t rntiP);
|
int add_new_nr_ue(module_id_t mod_idP, rnti_t rntiP);
|
||||||
|
|
||||||
int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
|
int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
|
||||||
|
|||||||
@@ -181,9 +181,9 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
|||||||
ssbElem[5] = calloc(1,sizeof(struct NR_CFRA_SSB_Resource));
|
ssbElem[5] = calloc(1,sizeof(struct NR_CFRA_SSB_Resource));
|
||||||
ssbElem[5]->ssb = 5;
|
ssbElem[5]->ssb = 5;
|
||||||
ssbElem[5]->ra_PreambleIndex = 63;
|
ssbElem[5]->ra_PreambleIndex = 63;
|
||||||
ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra->resources.choice.ssb->ssb_ResourceList.list,ssbElem[i]);
|
ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra->resources.choice.ssb->ssb_ResourceList.list,ssbElem[5]);
|
||||||
ssbElem[6] = calloc(1,sizeof(struct NR_CFRA_SSB_Resource));
|
ssbElem[6] = calloc(1,sizeof(struct NR_CFRA_SSB_Resource));
|
||||||
ssbElem[6]->ssb = i;
|
ssbElem[6]->ssb = 6;
|
||||||
ssbElem[6]->ra_PreambleIndex = 63;
|
ssbElem[6]->ra_PreambleIndex = 63;
|
||||||
ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra->resources.choice.ssb->ssb_ResourceList.list,ssbElem[6]);
|
ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra->resources.choice.ssb->ssb_ResourceList.list,ssbElem[6]);
|
||||||
ssbElem[7] = calloc(1,sizeof(struct NR_CFRA_SSB_Resource));
|
ssbElem[7] = calloc(1,sizeof(struct NR_CFRA_SSB_Resource));
|
||||||
|
|||||||
Reference in New Issue
Block a user