X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_msg_hdl.c;h=305af8b07b86af538f0b81c7b706e2077699aea5;hb=0369d3e65bd88fbb4dc6314e8066d1578c6aaeaa;hp=a0f040e47761f8f7a58d1a4c0fd55dc756a92bb5;hpb=069ae37558afd5aee2d1072bbf5b517cf665bdd8;p=o-du%2Fl2.git diff --git a/src/du_app/du_msg_hdl.c b/src/du_app/du_msg_hdl.c index a0f040e47..305af8b07 100644 --- a/src/du_app/du_msg_hdl.c +++ b/src/du_app/du_msg_hdl.c @@ -1655,7 +1655,7 @@ uint16_t duHandleSlotInd(Pst *pst, SlotInfo *slotInfo) (duCb.actvCellLst[slotInfo->cellId-1]->cellStatus == \ ACTIVATION_IN_PROGRESS)) { - DU_LOG("\nDU APP : Cell Id %d is ACTIVE", slotInfo->cellId); + DU_LOG("\nDU APP : 5G-NR Cell %d is UP", slotInfo->cellId); duCb.actvCellLst[slotInfo->cellId-1]->cellStatus = ACTIVATED; } @@ -1697,7 +1697,7 @@ uint16_t duBuildAndSendMacCellStartReq() DU_LOG("\nDU APP : Building and Sending cell start request to MAC"); /* Send Cell Start Request to MAC */ - DU_ALLOC(cellStartInfo, sizeof(MacCellStartInfo)); + DU_ALLOC_SHRABL_BUF(cellStartInfo, sizeof(MacCellStartInfo)); if(!cellStartInfo) { DU_LOG("\nDU APP : Memory alloc failed while building cell start request"); @@ -1745,7 +1745,7 @@ uint16_t duBuildAndSendMacCellStartReq() * RFAILED - failure * * ****************************************************************/ -S16 duBuildAndSendMacCellStopReq() +uint16_t duBuildAndSendMacCellStopReq() { Pst pst; MacCellStopInfo *cellStopInfo = NULL; @@ -1753,7 +1753,7 @@ S16 duBuildAndSendMacCellStopReq() DU_LOG("\nDU APP : Building and Sending cell stop request to MAC"); /* Send Cell Stop Request to MAC */ - DU_ALLOC(cellStopInfo, sizeof(MacCellStopInfo)); + DU_ALLOC_SHRABL_BUF(cellStopInfo, sizeof(MacCellStopInfo)); if(!cellStopInfo) { DU_LOG("\nDU APP : Memory alloc failed while building cell stop request"); @@ -1776,7 +1776,46 @@ S16 duBuildAndSendMacCellStopReq() return (*packMacCellStopReqOpts[pst.selector])(&pst, cellStopInfo); } +/******************************************************************* + * + * @brief Handles stop indication from MAC + * + * @details + * + * Function : duHandleStopInd + * + * Functionality: + * Handles stop indication from MAC + * + * @params[in] Post structure pointer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint16_t duHandleStopInd(Pst *pst, MacCellStopInfo *cellStopId) +{ + if(cellStopId->cellId <=0 || cellStopId->cellId > DU_MAX_CELLS) + { + DU_LOG("\nDU APP : Invalid Cell Id %d", cellStopId->cellId); + } + if(duCb.actvCellLst[cellStopId->cellId-1] != NULL) + { + if(duCb.actvCellLst[cellStopId->cellId-1]->firstSlotIndRcvd) + { + duCb.actvCellLst[cellStopId->cellId-1]->firstSlotIndRcvd = false; + if((duCb.actvCellLst[cellStopId->cellId-1]->cellStatus == \ + ACTIVATED)) + { + DU_LOG("\nDU APP : 5G-NR Cell %d is DOWN", cellStopId->cellId); + duCb.actvCellLst[cellStopId->cellId-1]->cellStatus = DELETION_IN_PROGRESS; + } + } + } + if((pst->selector == DU_SELECTOR_LWLC) || (pst->selector == DU_SELECTOR_TC)) + DU_FREE_SHRABL_BUF(MAC_MEM_REGION, pst->pool, cellStopId, sizeof(MacCellStopInfo)); + return ROK; +} /********************************************************************** End of file **********************************************************************/