X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_slot_ind.c;h=4df452ad5e06f7c6ec706fd9dcef3ea815c7c025;hb=c01ca171144bd6e576646466d420c6d5feaabc59;hp=281cd2112533f8994108d80bc9d31c041bdd0d51;hpb=7602d994b0efa53be2a79b8f66a8d83be8b5420d;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_slot_ind.c b/src/5gnrsch/sch_slot_ind.c index 281cd2112..4df452ad5 100644 --- a/src/5gnrsch/sch_slot_ind.c +++ b/src/5gnrsch/sch_slot_ind.c @@ -50,8 +50,6 @@ SchMacDlAllocFunc schMacDlAllocOpts[] = }; SchCb schCb[SCH_MAX_INST]; -int schFillRar(RarAlloc *rarAlloc, uint16_t raRnti, uint16_t pci, uint8_t - offsetPointA); /******************************************************************* * @@ -75,7 +73,7 @@ uint8_t sendDlAllocToMac(DlSchedInfo *dlSchedInfo, Inst inst) memset(&pst, 0, sizeof(Pst)); FILL_PST_SCH_TO_MAC(pst, inst); - pst.event = EVENT_DL_ALLOC; + pst.event = EVENT_DL_SCH_INFO; return(*schMacDlAllocOpts[pst.selector])(&pst, dlSchedInfo); @@ -182,6 +180,12 @@ uint8_t schFillBoGrantDlSchedInfo(SchCellCb *cell, DlSchedInfo *dlSchedInfo, DlM } ueCb->dlInfo.dlLcCtxt[lcIdx].bo = 0; } + + if (!dlMsgAlloc->numLc) + { + DU_LOG("\nDEBUG --> SCH : No bo for any lcid\n"); + return ROK; + } /* pdcch and pdsch data is filled */ schDlRsrcAllocDlMsg(dlMsgAlloc, cell, crnti, &accumalatedSize, slot); @@ -243,6 +247,11 @@ uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) dlBrdcstAlloc->sib1Trans = NO_SIB1; cell = schCb[schInst].cells[schInst]; + if(cell == NULLP) + { + DU_LOG("\nERROR --> SCH : Cell Does not exist"); + return RFAILED; + } ssb_rep = cell->cellCfg.ssbSchCfg.ssbPeriod; memcpy(&cell->slotInfo, slotInd, sizeof(SlotIndInfo)); dlBrdcstAlloc->ssbIdxSupported = 1; @@ -323,9 +332,11 @@ uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) schFillRar(rarAlloc, cell->schDlSlotInfo[slot]->rarInfo->raRnti, cell->cellCfg.phyCellId, - cell->cellCfg.ssbSchCfg.ssbOffsetPointA); + cell->cellCfg.ssbSchCfg.ssbOffsetPointA, + dlBrdcstAlloc->ssbTrans, + dlBrdcstAlloc->sib1Trans); - SCH_FREE(cell->schDlSlotInfo[slot]->rarInfo,sizeof(RarAlloc)); + SCH_FREE(cell->schDlSlotInfo[slot]->rarInfo,sizeof(RarInfo)); cell->schDlSlotInfo[slot]->rarInfo = NULLP; } @@ -349,7 +360,7 @@ uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) sizeof(DlMsgInfo)); /* pdcch and pdsch data is filled */ - schDlRsrcAllocMsg4(msg4Alloc, cell, dlSchedInfo.schSlotValue.dlMsgTime.slot); + schDlRsrcAllocMsg4(msg4Alloc, cell, dlSchedInfo.schSlotValue.dlMsgTime.slot, dlBrdcstAlloc->ssbTrans, dlBrdcstAlloc->sib1Trans); /* PUCCH resource */ schAllocPucchResource(cell, msg4Alloc->dlMsgInfo.crnti, dlSchedInfo.schSlotValue.dlMsgTime.slot);