X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_ue_mgr.c;h=f1de4f44c31636393c83a14f9ea1e4461ee865b8;hb=7f6d859aef2f454e8521a921000b37a4571f1e02;hp=f818498cd607da4781d105b082447cdaedddb1c2;hpb=34dbaa11b812648ba3fbea113d9772947ed6b85c;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_ue_mgr.c b/src/5gnrsch/sch_ue_mgr.c index f818498cd..f1de4f44c 100644 --- a/src/5gnrsch/sch_ue_mgr.c +++ b/src/5gnrsch/sch_ue_mgr.c @@ -122,9 +122,9 @@ void fillSchDlLcCtxt(SchDlLcCtxt *ueCbLcCfg, SchLcCfg *lcCfg) { if(ueCbLcCfg->snssai == NULLP)/*In CONFIG_MOD case, no need to allocate SNSSAI memory*/ { - SCH_ALLOC(ueCbLcCfg->snssai, sizeof(SchSnssai)); + SCH_ALLOC(ueCbLcCfg->snssai, sizeof(Snssai)); } - memcpy(ueCbLcCfg->snssai, lcCfg->snssai,sizeof(SchSnssai)); + memcpy(ueCbLcCfg->snssai, lcCfg->snssai,sizeof(Snssai)); } } @@ -163,9 +163,9 @@ void fillSchUlLcCtxt(SchUlLcCtxt *ueCbLcCfg, SchLcCfg *lcCfg) /*In CONFIG_MOD case, no need to allocate SNSSAI memory again*/ if(ueCbLcCfg->snssai == NULLP) { - SCH_ALLOC(ueCbLcCfg->snssai, sizeof(SchSnssai)); + SCH_ALLOC(ueCbLcCfg->snssai, sizeof(Snssai)); } - memcpy(ueCbLcCfg->snssai, lcCfg->snssai,sizeof(SchSnssai)); + memcpy(ueCbLcCfg->snssai, lcCfg->snssai,sizeof(Snssai)); } } @@ -365,7 +365,7 @@ uint8_t fillSchUeCb(SchUeCb *ueCb, SchUeCfg *ueCfg) } SCH_FREE(ueCfg->schLcCfg[lcIdx].drbQos, sizeof(SchDrbQosInfo)); - SCH_FREE(ueCfg->schLcCfg[lcIdx].snssai, sizeof(SchSnssai)); + SCH_FREE(ueCfg->schLcCfg[lcIdx].snssai, sizeof(Snssai)); }/* End of outer for loop */ return ROK; @@ -557,7 +557,7 @@ uint8_t schFillPuschAlloc(SchUeCb *ueCb, uint16_t pdcchSlot, uint32_t dataVol, S /* Update pusch in cell */ for(idx=startSymb; idxschUlSlotInfo[puschSlot]->assignedPrb[idx] = startRb + numRb; + //cellCb->schUlSlotInfo[puschSlot]->assignedPrb[idx] = startRb + numRb; } schUlSlotInfo = cellCb->schUlSlotInfo[puschSlot]; @@ -895,11 +895,11 @@ void deleteSchUeCb(SchUeCb *ueCb) /*Need to Free the memory allocated for S-NSSAI*/ for(ueLcIdx = 0; ueLcIdx < ueCb->ulInfo.numUlLc; ueLcIdx++) { - SCH_FREE(ueCb->ulInfo.ulLcCtxt[ueLcIdx].snssai, sizeof(SchSnssai)); + SCH_FREE(ueCb->ulInfo.ulLcCtxt[ueLcIdx].snssai, sizeof(Snssai)); } for(ueLcIdx = 0; ueLcIdx < ueCb->dlInfo.numDlLc; ueLcIdx++) { - SCH_FREE(ueCb->dlInfo.dlLcCtxt[ueLcIdx].snssai, sizeof(SchSnssai)); + SCH_FREE(ueCb->dlInfo.dlLcCtxt[ueLcIdx].snssai, sizeof(Snssai)); } memset(ueCb, 0, sizeof(SchUeCb)); } @@ -1030,29 +1030,33 @@ uint8_t SchSendCellDeleteRspToMac(SchCellDelete *ueDelete, Inst inst, SchMacRsp * ****************************************************************/ void deleteSchCellCb(SchCellCb *cellCb) { - uint8_t idx=0; + uint8_t sliceIdx=0, slotIdx=0; if(cellCb->schDlSlotInfo) { - for(idx=0; idxnumSlots; idx++) + for(slotIdx=0; slotIdxnumSlots; slotIdx++) { - if(cellCb->schDlSlotInfo[idx]) - { - SCH_FREE(cellCb->schDlSlotInfo[idx], sizeof(SchDlSlotInfo)); - } + SCH_FREE(cellCb->schDlSlotInfo[slotIdx], sizeof(SchDlSlotInfo)); } SCH_FREE(cellCb->schDlSlotInfo, cellCb->numSlots *sizeof(SchDlSlotInfo*)); } if(cellCb->schUlSlotInfo) { - for(idx=0; idxnumSlots; idx++) + for(slotIdx=0; slotIdxnumSlots; slotIdx++) { - if(cellCb->schUlSlotInfo[idx]) - { - SCH_FREE(cellCb->schUlSlotInfo[idx], sizeof(SchUlSlotInfo)); - } + SCH_FREE(cellCb->schUlSlotInfo[slotIdx], sizeof(SchUlSlotInfo)); } SCH_FREE(cellCb->schUlSlotInfo, cellCb->numSlots * sizeof(SchUlSlotInfo*)); } + + if(cellCb->cellCfg.snssai) + { + for(sliceIdx=0; sliceIdxcellCfg.numSliceSupport; sliceIdx++) + { + SCH_FREE(cellCb->cellCfg.snssai[sliceIdx], sizeof(Snssai)); + } + SCH_FREE(cellCb->cellCfg.snssai, cellCb->cellCfg.numSliceSupport*sizeof(Snssai*)); + } + SCH_FREE(cellCb->cellCfg.rrmPolicy, sizeof(SchRrmPolicy)); memset(cellCb, 0, sizeof(SchCellCb)); }