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=0fccb83e55b237d60cf451bab71a0c7242cc6e66;hp=0e61f39f1792266059414a51dd684181b597fc82;hpb=fe3e15254e67fd96dbfabec4bf7245c3b64ee415;p=o-du%2Fl2.git diff --git a/src/du_app/du_msg_hdl.c b/src/du_app/du_msg_hdl.c index 0e61f39f1..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; } @@ -1666,7 +1666,10 @@ uint16_t duHandleSlotInd(Pst *pst, SlotInfo *slotInfo) #ifdef EGTP_TEST duSendEgtpSlotInd(); #endif - DU_FREE_MEM(MAC_MEM_REGION, pst->pool, slotInfo, sizeof(SlotInfo)); + + if((pst->selector == DU_SELECTOR_LWLC) || (pst->selector == DU_SELECTOR_TC)) + DU_FREE_SHRABL_BUF(MAC_MEM_REGION, pst->pool, slotInfo, sizeof(SlotInfo)); + return ROK; } @@ -1694,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"); @@ -1742,7 +1745,7 @@ uint16_t duBuildAndSendMacCellStartReq() * RFAILED - failure * * ****************************************************************/ -S16 duBuildAndSendMacCellStopReq() +uint16_t duBuildAndSendMacCellStopReq() { Pst pst; MacCellStopInfo *cellStopInfo = NULL; @@ -1750,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"); @@ -1773,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 **********************************************************************/