X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_cell_mgr.c;h=a86d418f2837172c065a549dbaa1b1d6a5c8bc99;hb=dbd4e21a0ea25e4f7b6ff7b0eb8029a2d0382a35;hp=b81ddca814d09ab1dd13118587917162c5cd4d8f;hpb=545c7a4a13972142fb36962323556dcad7119710;p=o-du%2Fl2.git diff --git a/src/du_app/du_cell_mgr.c b/src/du_app/du_cell_mgr.c index b81ddca81..a86d418f2 100644 --- a/src/du_app/du_cell_mgr.c +++ b/src/du_app/du_cell_mgr.c @@ -87,13 +87,15 @@ uint8_t duProcCellsToBeActivated(uint8_t *plmnStr, uint16_t nci, uint16_t nRPci) cellCb->cellStatus = ACTIVATION_IN_PROGRESS; cellCb->cellInfo.nrPci = nRPci; - duCb.actvCellLst[duCb.numActvCells++] = cellCb; + duCb.actvCellLst[cellCb->cellId -1] = cellCb; + duCb.numActvCells++; if(duBuildAndSendMacCellCfg(cellCb->cellId) != ROK) { DU_LOG("\nERROR --> DU APP : macCellCfg build and send failed"); /* Delete cell from actvCellList */ - duCb.actvCellLst[--(duCb.numActvCells)] = NULLP; + duCb.actvCellLst[cellCb->cellId -1] = NULLP; + --(duCb.numActvCells); ret = RFAILED; } return ret; @@ -138,11 +140,13 @@ void duProcF1SetupRsp() uint8_t duGetCellCb(uint16_t cellId, DuCellCb **cellCb) { uint8_t cellIdx = 0; - for(cellIdx=0; cellIdxcellId == cellId) + if(duCb.actvCellLst[cellIdx] && (duCb.actvCellLst[cellIdx]->cellId == cellId)) + { *cellCb = duCb.actvCellLst[cellIdx]; - break; + break; + } } if(!*cellCb) @@ -254,7 +258,7 @@ uint8_t DuProcMacCellDeleteRsp(Pst *pst, MacCellDeleteRsp *deleteRsp) { GET_CELL_IDX(deleteRsp->cellId, cellIdx); DU_LOG("\nINFO --> DU APP : MAC CELL Delete Response : SUCCESS [CELL IDX : %d]", deleteRsp->cellId); - if(duCb.actvCellLst[cellIdx]->cellId == deleteRsp->cellId) + if(duCb.actvCellLst[cellIdx] && (duCb.actvCellLst[cellIdx]->cellId == deleteRsp->cellId)) { memset(duCb.actvCellLst[cellIdx], 0, sizeof(DuCellCb)); gCellStatus = CELL_DOWN;