DU_ALLOC_SHRABL_BUF(dlCcchIndInfo->dlCcchMsg, dlCcchIndInfo->dlCcchMsgLen);
if(!dlCcchIndInfo->dlCcchMsg)
{
DU_ALLOC_SHRABL_BUF(dlCcchIndInfo->dlCcchMsg, dlCcchIndInfo->dlCcchMsgLen);
if(!dlCcchIndInfo->dlCcchMsg)
{
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlCcchIndInfo, sizeof(DlCcchIndInfo));
return RFAILED;
}
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlCcchIndInfo, sizeof(DlCcchIndInfo));
return RFAILED;
}
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlCcchIndInfo->dlCcchMsg,\
dlCcchIndInfo->dlCcchMsgLen);
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlCcchIndInfo, \
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlCcchIndInfo->dlCcchMsg,\
dlCcchIndInfo->dlCcchMsgLen);
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlCcchIndInfo, \
duBuildAndSendDlRrcMsgToRlc");
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, f1DlRrcMsg->rrcMsgPdu, f1DlRrcMsg->rrcMsgSize);
return RFAILED;
duBuildAndSendDlRrcMsgToRlc");
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, f1DlRrcMsg->rrcMsgPdu, f1DlRrcMsg->rrcMsgSize);
return RFAILED;
/* Filling post structure and sending msg */
FILL_PST_DUAPP_TO_RLC(pst, RLC_DL_INST, EVENT_DL_RRC_MSG_TRANS_TO_RLC);
/* Filling post structure and sending msg */
FILL_PST_DUAPP_TO_RLC(pst, RLC_DL_INST, EVENT_DL_RRC_MSG_TRANS_TO_RLC);
ret = duBuildAndSendDlCcchInd(&cellId, &crnti, RRC_SETUP, dlRrcMsg->rrcMsgSize, dlRrcMsg->rrcMsgPdu);
if(ret == RFAILED)
{
ret = duBuildAndSendDlCcchInd(&cellId, &crnti, RRC_SETUP, dlRrcMsg->rrcMsgSize, dlRrcMsg->rrcMsgPdu);
if(ret == RFAILED)
{
}
DU_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, ulCcchIndInfo->ulCcchMsg, ulCcchIndInfo->ulCcchMsgLen);
}
DU_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, ulCcchIndInfo->ulCcchMsg, ulCcchIndInfo->ulCcchMsgLen);
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, macUeCfg, sizeof(MacUeCfg));
}
}
else
{
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, macUeCfg, sizeof(MacUeCfg));
}
}
else
{
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, rlcUeCfg, sizeof(RlcUeCfg));
}
}
else
{
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, rlcUeCfg, sizeof(RlcUeCfg));
}
}
else
{
if(ueCcchCtxt->cellId == duCb.actvCellLst[cellIdx]->cellId)
{
GET_UE_IDX(ueCcchCtxt->crnti, ueIdx);
if(ueCcchCtxt->cellId == duCb.actvCellLst[cellIdx]->cellId)
{
GET_UE_IDX(ueCcchCtxt->crnti, ueIdx);
duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].f1UeDb = NULLP;
duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].crnti = ueCcchCtxt->crnti;
duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].f1UeDb = NULLP;
duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].crnti = ueCcchCtxt->crnti;
ret = duBuildAndSendUeCreateReqToMac(ueCcchCtxt->cellId, ueIdx, ueCcchCtxt->crnti,\
&duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].macUeCfg);
if(ret == RFAILED)
ret = duBuildAndSendUeCreateReqToMac(ueCcchCtxt->cellId, ueIdx, ueCcchCtxt->crnti,\
&duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].macUeCfg);
if(ret == RFAILED)
/* Filling Rlc Ue Config */
memset(&duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].rlcUeCfg, 0, sizeof(RlcUeCfg));
ret = duBuildAndSendUeCreateReqToRlc(ueCcchCtxt->cellId, ueIdx, \
&duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].rlcUeCfg);
if(ret == RFAILED)
/* Filling Rlc Ue Config */
memset(&duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].rlcUeCfg, 0, sizeof(RlcUeCfg));
ret = duBuildAndSendUeCreateReqToRlc(ueCcchCtxt->cellId, ueIdx, \
&duCb.actvCellLst[cellIdx]->ueCb[ueIdx-1].rlcUeCfg);
if(ret == RFAILED)
duCb.actvCellLst[cellIdx]->numActvUes++;
memset(ueCcchCtxt, 0, sizeof(UeCcchCtxt));
duCb.actvCellLst[cellIdx]->numActvUes++;
memset(ueCcchCtxt, 0, sizeof(UeCcchCtxt));
ret = fillMacUeCfg(cellId, ueIdx, crnti, NULL, duMacUeCfg);
if(ret == RFAILED)
{
ret = fillMacUeCfg(cellId, ueIdx, crnti, NULL, duMacUeCfg);
if(ret == RFAILED)
{
{
memset(macUeCfg, 0, sizeof(MacUeCfg));
memcpy(macUeCfg, &duCb.actvCellLst[cellId - 1]->ueCb[ueIdx -1].macUeCfg, sizeof(MacUeCfg));
{
memset(macUeCfg, 0, sizeof(MacUeCfg));
memcpy(macUeCfg, &duCb.actvCellLst[cellId - 1]->ueCb[ueIdx -1].macUeCfg, sizeof(MacUeCfg));
/* Processing one Ue at a time to MAC */
ret = (*packMacUeCreateReqOpts[pst.selector])(&pst, macUeCfg);
if(ret == RFAILED)
{
/* Processing one Ue at a time to MAC */
ret = (*packMacUeCreateReqOpts[pst.selector])(&pst, macUeCfg);
if(ret == RFAILED)
{
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, macUeCfg, sizeof(MacUeCfg));
}
}
else
{
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, macUeCfg, sizeof(MacUeCfg));
}
}
else
{
ueCb->macUeCfg.crnti = crnti;
ret = duUpdateMacCfg(&ueCb->macUeCfg, ueCb->f1UeDb);
if(ret == RFAILED)
ueCb->macUeCfg.crnti = crnti;
ret = duUpdateMacCfg(&ueCb->macUeCfg, ueCb->f1UeDb);
if(ret == RFAILED)
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
macUeCfg.macUeCfgState = UE_CREATE_COMPLETE;
}
else if(pst->event == EVENT_MAC_UE_RECONFIG_RSP)
{
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
macUeCfg.macUeCfgState = UE_CREATE_COMPLETE;
}
else if(pst->event == EVENT_MAC_UE_RECONFIG_RSP)
{
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
macUeCfg.macUeCfgState = UE_RECFG_COMPLETE;
if((ret = duUpdateDuUeCbCfg(cfgRsp->ueIdx, cfgRsp->cellId)) == ROK)
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
macUeCfg.macUeCfgState = UE_RECFG_COMPLETE;
if((ret = duUpdateDuUeCbCfg(cfgRsp->ueIdx, cfgRsp->cellId)) == ROK)
- DU_LOG("\nDU APP : MAC UE CFG Response for EVENT[%d]: FAILURE [UE IDX : %d]", pst->event, cfgRsp->ueIdx);
+ DU_LOG("\nERROR --> DU APP : MAC UE CFG Response for EVENT[%d]: FAILURE [UE IDX : %d]", pst->event, cfgRsp->ueIdx);
if(pst->event == EVENT_MAC_UE_RECONFIG_RSP)
{
//TODO: Send the failure case in Ue Context Setup Response
if(pst->event == EVENT_MAC_UE_RECONFIG_RSP)
{
//TODO: Send the failure case in Ue Context Setup Response
ret = fillRlcUeCfg(cellId, ueIdx, NULL, duRlcUeCfg);
if(ret == RFAILED)
{
ret = fillRlcUeCfg(cellId, ueIdx, NULL, duRlcUeCfg);
if(ret == RFAILED)
{
memset(rlcUeCfg, 0, sizeof(RlcUeCfg));
memcpy(rlcUeCfg, duRlcUeCfg, sizeof(RlcUeCfg));
/* Processing one Ue at a time to RLC */
memset(rlcUeCfg, 0, sizeof(RlcUeCfg));
memcpy(rlcUeCfg, duRlcUeCfg, sizeof(RlcUeCfg));
/* Processing one Ue at a time to RLC */
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, rlcUeCfg, sizeof(RlcUeCfg));
ret = RFAILED;
}
}
else
{
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, rlcUeCfg, sizeof(RlcUeCfg));
ret = RFAILED;
}
}
else
{
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
rlcUeCfg.rlcUeCfgState = UE_CREATE_COMPLETE;
}
else if(pst->event == EVENT_RLC_UE_RECONFIG_RSP)
{
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
rlcUeCfg.rlcUeCfgState = UE_CREATE_COMPLETE;
}
else if(pst->event == EVENT_RLC_UE_RECONFIG_RSP)
{
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
rlcUeCfg.rlcUeCfgState = UE_RECFG_COMPLETE;
if((ret = duUpdateDuUeCbCfg(cfgRsp->ueIdx, cfgRsp->cellId)) == ROK)
duCb.actvCellLst[cfgRsp->cellId -1]->ueCb[cfgRsp->ueIdx -1].\
rlcUeCfg.rlcUeCfgState = UE_RECFG_COMPLETE;
if((ret = duUpdateDuUeCbCfg(cfgRsp->ueIdx, cfgRsp->cellId)) == ROK)
pst->event, cfgRsp->ueIdx, cfgRsp->reason);
if((pst->event == EVENT_RLC_UE_RECONFIG_RSP))
{
pst->event, cfgRsp->ueIdx, cfgRsp->reason);
if((pst->event == EVENT_RLC_UE_RECONFIG_RSP))
{
memset(rlcUeCfg, 0, sizeof(RlcUeCfg));
ret = fillRlcUeCfg(cellId, ueIdx, ueCfgDb, rlcUeCfg);
if(ret == RFAILED)
memset(rlcUeCfg, 0, sizeof(RlcUeCfg));
ret = fillRlcUeCfg(cellId, ueIdx, ueCfgDb, rlcUeCfg);
if(ret == RFAILED)
memset(macUeCfg, 0, sizeof(MacUeCfg));
ret = fillMacUeCfg(cellId, ueIdx, crnti, ueCfgDb, macUeCfg);
if(ret == RFAILED)
memset(macUeCfg, 0, sizeof(MacUeCfg));
ret = fillMacUeCfg(cellId, ueIdx, crnti, ueCfgDb, macUeCfg);
if(ret == RFAILED)
/* Filling RLC Ue Reconfig */
ret = duBuildAndSendUeReCfgReqToRlc(cellId, crnti, duUeCfg);
if(ret == RFAILED)
/* Filling RLC Ue Reconfig */
ret = duBuildAndSendUeReCfgReqToRlc(cellId, crnti, duUeCfg);
if(ret == RFAILED)
/* Filling MAC Ue Reconfig */
ret = duBuildAndSendUeReCfgReqToMac(cellId, crnti, duUeCfg);
if(ret == RFAILED)
/* Filling MAC Ue Reconfig */
ret = duBuildAndSendUeReCfgReqToMac(cellId, crnti, duUeCfg);
if(ret == RFAILED)
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlRrcMsg, sizeof(RlcDlRrcMsgRsp));
return ret;
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlRrcMsg, sizeof(RlcDlRrcMsgRsp));
return ret;
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, ueCb->f1UeDb->dlRrcMsg->rrcMsgPdu,\
ueCb->f1UeDb->dlRrcMsg->rrcMsgSize);
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, ueCb->f1UeDb->dlRrcMsg, sizeof(F1DlRrcMsg));
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, ueCb->f1UeDb->dlRrcMsg->rrcMsgPdu,\
ueCb->f1UeDb->dlRrcMsg->rrcMsgSize);
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, ueCb->f1UeDb->dlRrcMsg, sizeof(F1DlRrcMsg));