X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_tom.c;h=ed398399f97e285028c4a706e928d838267393a5;hb=9eb621804acfc1798221e10cd96edf3fa9ea897c;hp=dc5ec8c2ad36cf6082fc740c92681df3f672d512;hpb=514d4c21e79d37636005186dd9ac5510742b7618;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_tom.c b/src/5gnrmac/rg_tom.c index dc5ec8c2a..ed398399f 100755 --- a/src/5gnrmac/rg_tom.c +++ b/src/5gnrmac/rg_tom.c @@ -28,9 +28,6 @@ **********************************************************************/ -static const char* RLOG_MODULE_NAME="MAC"; -static int RLOG_FILE_ID=237; -static int RLOG_MODULE_ID=4096; /** @file rg_tom.c @brief This module does processing related to handling of lower interface APIs invoked by PHY towards MAC @@ -185,27 +182,27 @@ static S16 rgTOMUtlFillDatReqPdus (TfuDatReqInfo *datInfo,RgDlSf *dlSf,RgCellCb { S16 ret; TfuDatReqPduInfo *datReq=NULLP; - /* Moving node declaration to limited scope for optimization */ + /* Moving node declaration to limited scope for optimization */ RgDlHqProcCb *hqCb; uint8_t idx; Inst inst = cellCb->macInst - RG_INST_START; - /* first lets send the BCCH data down to PHY */ + /* first lets send the BCCH data down to PHY */ if (dlSf->bcch.tb != NULLP) { if ((ret = rgGetEventMem(inst,(Ptr *)&datReq, sizeof(TfuDatReqPduInfo), - &(datInfo->memCp))) != ROK) + &(datInfo->memCp))) != ROK) { - err->errCause = RGERR_TOM_MEM_EXHAUST; - RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Memory Exhaustion "); - return (ret); + err->errCause = RGERR_TOM_MEM_EXHAUST; + DU_LOG("\nERROR --> MAC : Memory Exhaustion "); + return (ret); } #ifdef TFU_ALLOC_EVENT_NO_INIT #ifndef L2_OPTMZ datReq->mBuf[1] = 0; #else - datReq->tbInfo[0].lchInfo[0].mBuf[0]=NULLP; + datReq->tbInfo[0].lchInfo[0].mBuf[0]=NULLP; #endif #endif datReq->rnti = RG_SI_RNTI; @@ -241,11 +238,11 @@ static S16 rgTOMUtlFillDatReqPdus (TfuDatReqInfo *datInfo,RgDlSf *dlSf,RgCellCb if (dlSf->pcch.tb != NULLP) { if ((ret = rgGetEventMem(inst,(Ptr *)&datReq, sizeof(TfuDatReqPduInfo), - &(datInfo->memCp))) != ROK) + &(datInfo->memCp))) != ROK) { - err->errCause = RGERR_TOM_MEM_EXHAUST; - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"Memory Exhaustion CRNTI:%d",datReq->rnti); - return (ret); + err->errCause = RGERR_TOM_MEM_EXHAUST; + DU_LOG("\nERROR --> MAC : Memory Exhaustion CRNTI:%d",datReq->rnti); + return (ret); } #ifdef TFU_ALLOC_EVENT_NO_INIT #ifndef L2_OPTMZ @@ -280,12 +277,12 @@ static S16 rgTOMUtlFillDatReqPdus (TfuDatReqInfo *datInfo,RgDlSf *dlSf,RgCellCb for(idx=0; idx < dlSf->numRaRsp; idx++) { if ((ret = rgGetEventMem(inst,(Ptr *)&datReq, sizeof(TfuDatReqPduInfo), - &(datInfo->memCp))) != ROK) + &(datInfo->memCp))) != ROK) { - err->errCause = RGERR_TOM_MEM_EXHAUST; - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"Memory Exhaustion CRNTI:%d", - datReq->rnti); - return (ret); + err->errCause = RGERR_TOM_MEM_EXHAUST; + DU_LOG("\nERROR --> MAC : Memory Exhaustion CRNTI:%d", + datReq->rnti); + return (ret); } #ifdef TFU_ALLOC_EVENT_NO_INIT #ifndef L2_OPTMZ @@ -307,7 +304,7 @@ static S16 rgTOMUtlFillDatReqPdus (TfuDatReqInfo *datInfo,RgDlSf *dlSf,RgCellCb #endif datReq->tbInfo[0].numLch = 1; datReq->tbInfo[0].lchInfo[0].numPdu = 1; - // prc_trace_format_string(0x40,3,"UE Id=(%d) tbSz=(%d)",datReq->rnti, datReq->tbInfo[0].tbSize); + // prc_trace_format_string(0x40,3,"UE Id=(%d) tbSz=(%d)",datReq->rnti, datReq->tbInfo[0].tbSize); #endif cmLListAdd2Tail(&datInfo->pdus, &(datReq->lnk)); datReq->lnk.node = (PTR)datReq; @@ -324,15 +321,14 @@ static S16 rgTOMUtlFillDatReqPdus (TfuDatReqInfo *datInfo,RgDlSf *dlSf,RgCellCb CmLList *node; while (dlSf->tbs.first) { - node = dlSf->tbs.first; - hqCb = (RgDlHqProcCb*)node->node; - if ((ret = rgDHMSndDatReq (cellCb, dlSf, datInfo, hqCb, err)) != ROK) - { - RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId, - "DHM unable to fill DATA request"); - err->errType = RGERR_TOM_TTIIND; - continue; - } + node = dlSf->tbs.first; + hqCb = (RgDlHqProcCb*)node->node; + if ((ret = rgDHMSndDatReq (cellCb, dlSf, datInfo, hqCb, err)) != ROK) + { + DU_LOG("\nERROR --> MAC : DHM unable to fill DATA request"); + err->errType = RGERR_TOM_TTIIND; + continue; + } } /* end of while */ } @@ -369,9 +365,9 @@ S16 rgTOMUtlProcDlSf(RgDlSf *dlSf,RgCellCb *cellCb,RgErrInfo *err) /* Fill Data Request Info from scheduler to PHY */ if ((ret = rgAllocEventMem(inst,(Ptr *)&datInfo, - sizeof(TfuDatReqInfo))) != ROK) + sizeof(TfuDatReqInfo))) != ROK) { - RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to Allocate TfuDatReqInfo"); + DU_LOG("\nERROR --> MAC : Unable to Allocate TfuDatReqInfo"); return (ret); } else @@ -385,7 +381,7 @@ S16 rgTOMUtlProcDlSf(RgDlSf *dlSf,RgCellCb *cellCb,RgErrInfo *err) datInfo->cellId = cellCb->cellId; if((0 == (datInfo->timingInfo.sfn % 30)) && (0 == datInfo->timingInfo.slot)) { - //printf("5GTF_CHECK rgTOMUtlProcDlSf dat (%d : %d)\n", datInfo->timingInfo.sfn, datInfo->timingInfo.slot); + //DU_LOG("5GTF_CHECK rgTOMUtlProcDlSf dat (%d : %d)\n", datInfo->timingInfo.sfn, datInfo->timingInfo.slot); } #ifdef TFU_ALLOC_EVENT_NO_INIT datInfo->bchDat.pres = 0; @@ -394,37 +390,37 @@ S16 rgTOMUtlProcDlSf(RgDlSf *dlSf,RgCellCb *cellCb,RgErrInfo *err) /* Fill BCH data */ if (dlSf->bch.tb != NULLP) { - datInfo->bchDat.pres = PRSNT_NODEF; - datInfo->bchDat.val = dlSf->bch.tb; - dlSf->bch.tb = NULLP; + datInfo->bchDat.pres = PRSNT_NODEF; + datInfo->bchDat.val = dlSf->bch.tb; + dlSf->bch.tb = NULLP; } #ifdef EMTC_ENABLE /* Fill the DLSCH PDUs of BCCH, PCCH and Dedicated Channels */ if ((ret = rgTOMEmtcUtlFillDatReqPdus(datInfo, dlSf, cellCb, err)) != ROK) { - RG_FREE_MEM(datInfo); - return (ret); + RG_FREE_MEM(datInfo); + return (ret); } #endif /* Fill the DLSCH PDUs of BCCH, PCCH and Dedicated Channels */ if ((ret = rgTOMUtlFillDatReqPdus(datInfo, dlSf, cellCb, err)) != ROK) { - RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to send data for cell"); - RG_FREE_MEM(datInfo); - return (ret); + DU_LOG("\nERROR --> MAC : Unable to send data for cell"); + RG_FREE_MEM(datInfo); + return (ret); } if((datInfo->pdus.count) || (datInfo->bchDat.pres == TRUE)) { - /* sending the data to Phy */ - //if (rgLIMTfuDatReq(inst,datInfo) != ROK) - { - RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to send data info for cell"); - } + /* sending the data to Phy */ + //if (rgLIMTfuDatReq(inst,datInfo) != ROK) + { + DU_LOG("\nERROR --> MAC : Unable to send data info for cell"); + } } else { - /* Nothing to send: free the allocated datInfo */ - RG_FREE_MEM(datInfo); + /* Nothing to send: free the allocated datInfo */ + RG_FREE_MEM(datInfo); } } return ROK; @@ -469,8 +465,8 @@ static S16 rgTOMUtlAllocPduEvnt (Inst inst,RgMacPdu **pdu) { rgFillDgnParams(inst,&dgn, LRG_USTA_DGNVAL_MEM); rgLMMStaInd(inst,LCM_CATEGORY_RESOURCE, LCM_EVENT_DMEM_ALLOC_FAIL, - LCM_CAUSE_MEM_ALLOC_FAIL, &dgn); - RLOG0(L_ERROR,"Allocation of DUX event failed"); + LCM_CAUSE_MEM_ALLOC_FAIL, &dgn); + DU_LOG("\nERROR --> MAC : Allocation of DUX event failed"); return RFAILED; } @@ -510,9 +506,9 @@ static Void rgTOMUtlFreePduEvnt( RgMacPdu *pdu,Bool error) node = pdu->sduLst.first; while (node) { - sdu = (RgMacSdu*)node->node; - RG_FREE_MSG(sdu->mBuf); - node = node->next; + sdu = (RgMacSdu*)node->node; + RG_FREE_MSG(sdu->mBuf); + node = node->next; } } RG_FREE_MEM(pdu); @@ -555,8 +551,8 @@ static S16 rgTOMInfAllocPduEvnt (Inst inst,RgInfSfDatInd **sfInfo) { rgFillDgnParams(inst,&dgn, LRG_USTA_DGNVAL_MEM); rgLMMStaInd(inst,LCM_CATEGORY_RESOURCE, LCM_EVENT_DMEM_ALLOC_FAIL, - LCM_CAUSE_MEM_ALLOC_FAIL, &dgn); - RLOG0(L_ERROR,"Allocation failed"); + LCM_CAUSE_MEM_ALLOC_FAIL, &dgn); + DU_LOG("\nERROR --> MAC : Allocation failed"); return RFAILED; } @@ -617,13 +613,13 @@ static S16 rgTomUtlPrepareL2MUlThrpInfo(RgCellCb *cellCb,RgUeCb *ueCb,RgRguDedDa lcId=dDatInd->lchData[loop].lcId; if (lcId) { - lcgId = ueCb->ul.lcCb[lcId - 1].lcgId; - if(ueCb->ul.lcgArr[lcgId].lcgBsInfo.outStndngBs > 0) - { - dDatInd->burstInd = RGU_L2M_UL_BURST_START; - break; - } - } + lcgId = ueCb->ul.lcCb[lcId - 1].lcgId; + if(ueCb->ul.lcgArr[lcgId].lcgBsInfo.outStndngBs > 0) + { + dDatInd->burstInd = RGU_L2M_UL_BURST_START; + break; + } + } } return ROK; @@ -658,30 +654,30 @@ static S16 rgTomUtlPrepareL2MUlThrpInfo(RgCellCb *cellCb,RgUeCb *ueCb,RgRguDedDa * -# ROK * -# RFAILED */ - RgUeCb *glblueCb4; - RgUeCb *glblueCb5; +RgUeCb *glblueCb4; +RgUeCb *glblueCb5; #ifdef LTEMAC_SPS -static S16 rgTOMUtlProcMsg + static S16 rgTOMUtlProcMsg ( -RgCellCb *cellCb, -RgUeCb *ueCb, -RgMacPdu *pdu, -Bool isSpsRnti, -Bool *spsToBeActvtd, -uint16_t *sduSize, -uint16_t slot, -uint32_t *lcgBytes -) + RgCellCb *cellCb, + RgUeCb *ueCb, + RgMacPdu *pdu, + Bool isSpsRnti, + Bool *spsToBeActvtd, + uint16_t *sduSize, + uint16_t slot, + uint32_t *lcgBytes + ) #else /* LTEMAC_SPS */ -static S16 rgTOMUtlProcMsg + static S16 rgTOMUtlProcMsg ( -RgCellCb *cellCb, -RgUeCb *ueCb, -RgMacPdu *pdu, -uint16_t slot, -uint32_t *lcgBytes -) + RgCellCb *cellCb, + RgUeCb *ueCb, + RgMacPdu *pdu, + uint16_t slot, + uint32_t *lcgBytes + ) #endif { Inst inst = cellCb->macInst - RG_INST_START; @@ -694,7 +690,7 @@ uint32_t *lcgBytes MsgLen cpySz; #ifdef LTEMAC_SPS Pst schPst1; -// RgInfSpsRelInfo relInfo; + // RgInfSpsRelInfo relInfo; #endif #ifdef LTE_L2_MEAS @@ -710,12 +706,12 @@ uint32_t *lcgBytes uint8_t lcgId; MsgLen bufSz; - /* Moved outside of LTE_L2_MEAS + /* Moved outside of LTE_L2_MEAS * scope as this pointer will now be used to * check for valid Logical Channel ID - */ + */ RgUlLcCb *ulLcCb; - + cDatInd = NULLP; dDatInd = NULLP; #ifdef LTE_L2_MEAS @@ -726,58 +722,58 @@ uint32_t *lcgBytes #ifdef SS_RBUF Void *elem = NULLP; #endif - + ulLcCb = NULLP; - + #ifndef LTE_L2_MEAS - UNUSED(slot); + UNUSED(slot); #endif if(pdu->sduLst.first) { sdu = (RgMacSdu*)(pdu->sduLst.first->node); - glblueCb4 = ueCb; + glblueCb4 = ueCb; if ((sdu->lcId == RG_CCCH_LCID)) { - /* code for common channel dat indications */ - if ((ret = rgAllocShrablSBuf (inst,(Data**)&cDatInd, sizeof(RgRguCmnDatInd))) != ROK) - { - return RFAILED; - } - cDatInd->cellId = cellCb->cellId; - cDatInd->rnti = ueCb->ueId; - /* rg001.101: Corrected lcId value for common data indication */ - cDatInd->lcId = cellCb->ulCcchId; - cDatInd->pdu = sdu->mBuf; - SFndLenMsg (sdu->mBuf, &ccchSz); - /* Fix : syed Contention resolution ID copy should consider only - * 6 bytes of information from sdu->mBuf. Incase of CCCH sdu for reest - * message/psuedo reest message, ccchSz can go beyond 6 and can corrupt - * other fields of ueCb. */ - if (ccchSz >= RG_CRES_LEN) - { - SCpyMsgFix (sdu->mBuf, (MsgLen)0, RG_CRES_LEN, ueCb->contResId.resId, - &cpySz); - } + /* code for common channel dat indications */ + if ((ret = rgAllocShrablSBuf (inst,(Data**)&cDatInd, sizeof(RgRguCmnDatInd))) != ROK) + { + return RFAILED; + } + cDatInd->cellId = cellCb->cellId; + cDatInd->rnti = ueCb->ueId; + /* rg001.101: Corrected lcId value for common data indication */ + cDatInd->lcId = cellCb->ulCcchId; + cDatInd->pdu = sdu->mBuf; + SFndLenMsg (sdu->mBuf, &ccchSz); + /* Fix : syed Contention resolution ID copy should consider only + * 6 bytes of information from sdu->mBuf. Incase of CCCH sdu for reest + * message/psuedo reest message, ccchSz can go beyond 6 and can corrupt + * other fields of ueCb. */ + if (ccchSz >= RG_CRES_LEN) + { + SCpyMsgFix (sdu->mBuf, (MsgLen)0, RG_CRES_LEN, ueCb->contResId.resId, + &cpySz); + } #ifdef XEON_SPECIFIC_CHANGES - CM_LOG_DEBUG(CM_LOG_ID_MAC, "CCCH SDU of size(%d) received for UE(%d) CRES[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x] Time[%d %d]\n", ((S16)ccchSz), ueCb->ueId,ueCb->contResId.resId[0], ueCb->contResId.resId[1], ueCb->contResId.resId[2], ueCb->contResId.resId[3], ueCb->contResId.resId[4], ueCb->contResId.resId[5], cellCb->crntTime.sfn, cellCb->crntTime.slot); + CM_LOG_DEBUG(CM_LOG_ID_MAC, "CCCH SDU of size(%d) received for UE(%d) CRES[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x] Time[%d %d]\n", ((S16)ccchSz), ueCb->ueId,ueCb->contResId.resId[0], ueCb->contResId.resId[1], ueCb->contResId.resId[2], ueCb->contResId.resId[3], ueCb->contResId.resId[4], ueCb->contResId.resId[5], cellCb->crntTime.sfn, cellCb->crntTime.slot); #endif - sdu->mBuf = NULLP; - rgUIMSndCmnDatInd(inst,cellCb->rguUlSap,cDatInd); - return ROK; + sdu->mBuf = NULLP; + rgUIMSndCmnDatInd(inst,cellCb->rguUlSap,cDatInd); + return ROK; } /* end of common channel processing */ #ifndef SS_RBUF if ((ret = rgAllocShrablSBuf (inst,(Data**)&dDatInd, sizeof(RgRguDedDatInd))) != ROK) { - return RFAILED; + return RFAILED; } #else - glblueCb5 = ueCb; + glblueCb5 = ueCb; elem = SRngGetWIndx(SS_RNG_BUF_ULMAC_TO_ULRLC); if (NULLP == elem) { - return RFAILED; + return RFAILED; } dDatInd = (RgRguDedDatInd *)elem; memset(dDatInd, 0x00, sizeof(RgRguDedDatInd)); @@ -790,46 +786,46 @@ uint32_t *lcgBytes ulSf = &cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)]; if(ulSf->ueUlAllocInfo != NULLP) { - for(idx1 = 0; idx1 < ulSf->numUe; idx1++) - { - if(ulSf->ueUlAllocInfo[idx1].rnti == ueCb->ueId) - { - numPrb = ulSf->ueUlAllocInfo[idx1].numPrb; - break; - } - } + for(idx1 = 0; idx1 < ulSf->numUe; idx1++) + { + if(ulSf->ueUlAllocInfo[idx1].rnti == ueCb->ueId) + { + numPrb = ulSf->ueUlAllocInfo[idx1].numPrb; + break; + } + } } #endif node = pdu->sduLst.first; while (node) { sdu = (RgMacSdu*)node->node; - + ulLcCb = rgDBMGetUlDedLcCb (ueCb, sdu->lcId); - + if(ulLcCb == NULLP) { - RLOG_ARG2(L_ERROR,DBG_CELLID,cellCb->cellId,"Unconfigured LCID:%d CRNTI:%d" - ,sdu->lcId,ueCb->ueId); - /* ccpu00128443: Fix for memory leak */ - /* Fix : syed Neccessary to set sdu->mBuf = NULLP */ - RG_FREE_MSG(sdu->mBuf); - node = node->next; - continue; + DU_LOG("\nERROR --> MAC : Unconfigured LCID:%d CRNTI:%d" + ,sdu->lcId,ueCb->ueId); + /* ccpu00128443: Fix for memory leak */ + /* Fix : syed Neccessary to set sdu->mBuf = NULLP */ + RG_FREE_MSG(sdu->mBuf); + node = node->next; + continue; } #ifdef RLC_STA_PROC_IN_MAC/* RLC Status PDU Processing */ { - S16 rlcProcDlStatusPdu(Pst *udxPst,SuId suId, - CmLteCellId cellId,CmLteRnti rnti,CmLteLcId lcId,Buffer *rlcSdu); - - if(ROK == rlcProcDlStatusPdu(&(cellCb->rguDlSap->sapCfg.sapPst), - cellCb->rguDlSap->sapCfg.suId, - cellCb->cellId,ueCb->ueId,sdu->lcId,sdu->mBuf)) - { - RG_FREE_MSG(sdu->mBuf); - node = node->next; - continue; - } + S16 rlcProcDlStatusPdu(Pst *udxPst,SuId suId, + CmLteCellId cellId,CmLteRnti rnti,CmLteLcId lcId,Buffer *rlcSdu); + + if(ROK == rlcProcDlStatusPdu(&(cellCb->rguDlSap->sapCfg.sapPst), + cellCb->rguDlSap->sapCfg.suId, + cellCb->cellId,ueCb->ueId,sdu->lcId,sdu->mBuf)) + { + RG_FREE_MSG(sdu->mBuf); + node = node->next; + continue; + } } #endif @@ -839,29 +835,28 @@ uint32_t *lcgBytes * of the freed memory */ if (dDatInd->numLch >= RGU_MAX_LC) { - if ((ret = rgUIMSndDedDatInd(inst,ueCb->rguUlSap,dDatInd)) != ROK) - { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, - "Failed to send datIndication to RGU CRNTI:%d",ueCb->ueId); - return (ret); - } + if ((ret = rgUIMSndDedDatInd(inst,ueCb->rguUlSap,dDatInd)) != ROK) + { + DU_LOG("\nERROR --> MAC : Failed to send datIndication to RGU CRNTI:%d",ueCb->ueId); + return (ret); + } #ifndef SS_RBUF - if ((ret = rgAllocShrablSBuf (inst,(Data**)&dDatInd, sizeof(RgRguDedDatInd))) != ROK) - { - return RFAILED; - } + if ((ret = rgAllocShrablSBuf (inst,(Data**)&dDatInd, sizeof(RgRguDedDatInd))) != ROK) + { + return RFAILED; + } #else - elem = SRngGetWIndx(SS_RNG_BUF_ULMAC_TO_ULRLC); - if (NULLP == elem) - { - return RFAILED; - } - dDatInd = (RgRguDedDatInd *)elem; - memset(dDatInd, 0x00, sizeof(RgRguDedDatInd)); + elem = SRngGetWIndx(SS_RNG_BUF_ULMAC_TO_ULRLC); + if (NULLP == elem) + { + return RFAILED; + } + dDatInd = (RgRguDedDatInd *)elem; + memset(dDatInd, 0x00, sizeof(RgRguDedDatInd)); #endif - dDatInd->cellId = cellCb->cellId; - dDatInd->rnti = ueCb->ueId; - dDatInd->numLch = 0; + dDatInd->cellId = cellCb->cellId; + dDatInd->rnti = ueCb->ueId; + dDatInd->numLch = 0; } dDatInd->lchData[dDatInd->numLch].lcId = sdu->lcId; dDatInd->lchData[dDatInd->numLch].pdu.mBuf[dDatInd->lchData[dDatInd->numLch].pdu.numPdu] = sdu->mBuf; @@ -871,13 +866,13 @@ uint32_t *lcgBytes #ifdef LTE_L2_MEAS if(ulLcCb->measOn) { - ueCb->ul.lcgArr[lcgId].lcgBsInfo.outStndngBs -= bufSz; + ueCb->ul.lcgArr[lcgId].lcgBsInfo.outStndngBs -= bufSz; } #endif //if ((lcgBytes != NULLP) && (ueCb->ul.lcgArr[lcgId].isGbr == TRUE)) if (lcgBytes != NULLP) { - lcgBytes[lcgId] += bufSz; + lcgBytes[lcgId] += bufSz; } sdu->mBuf = NULLP; dDatInd->numLch++; @@ -886,31 +881,31 @@ uint32_t *lcgBytes /* KWORK_FIX: Modified the index from lcId to lcId-1 for handling lcId 10 properly */ if (ueCb->ul.spsLcId[sdu->lcId-1] == TRUE) { - ueCb->ul.spsDatRcvd++; + ueCb->ul.spsDatRcvd++; } - + if(isSpsRnti) { - /* Data rcvd on CRNTI*/ - /* Retrieve the LCG ID of the LCID*/ - /* SPS LCG has data whose size > SID Size */ - /* Activate SPS if data recvd on SPS LCID and size > SID Packet Size */ - if((ueCb->ul.spsLcId[sdu->lcId-1] == TRUE) && - (sdu->len > RG_SPS_SID_PACKET_SIZE)) - { - *spsToBeActvtd = TRUE; - *sduSize = sdu->len; - } + /* Data rcvd on CRNTI*/ + /* Retrieve the LCG ID of the LCID*/ + /* SPS LCG has data whose size > SID Size */ + /* Activate SPS if data recvd on SPS LCID and size > SID Packet Size */ + if((ueCb->ul.spsLcId[sdu->lcId-1] == TRUE) && + (sdu->len > RG_SPS_SID_PACKET_SIZE)) + { + *spsToBeActvtd = TRUE; + *sduSize = sdu->len; + } } - + #endif #ifdef LTE_L2_MEAS if(cellCb->qciArray[ulLcCb->qci].mask == TRUE) { - sduLen[ulLcCb->qci] = sdu->len; - totalBytesRcvd += sdu->len; - qciVal[ulLcCb->qci] = ulLcCb->qci; + sduLen[ulLcCb->qci] = sdu->len; + totalBytesRcvd += sdu->len; + qciVal[ulLcCb->qci] = ulLcCb->qci; } #endif node = node->next; @@ -919,49 +914,49 @@ uint32_t *lcgBytes for(idx2 = 0; idx2 < RGU_MAX_LC; idx2++) { if((cellCb->qciArray[qciVal[idx2]].mask == TRUE) && - totalBytesRcvd > 0) + totalBytesRcvd > 0) { - cellCb->qciArray[qciVal[idx2]].prbCount += - ((numPrb * sduLen[idx2]) / totalBytesRcvd); + cellCb->qciArray[qciVal[idx2]].prbCount += + ((numPrb * sduLen[idx2]) / totalBytesRcvd); } - + /* RRM_RBC_X */ if(totalBytesRcvd > 0 && qciVal[idx2] > 0) { - RG_UPD_GBR_PRB(cellCb, qciVal[idx2], ((numPrb * sduLen[idx2])/totalBytesRcvd)); + RG_UPD_GBR_PRB(cellCb, qciVal[idx2], ((numPrb * sduLen[idx2])/totalBytesRcvd)); } /* RRM_RBC_Y */ } #endif -/*Added for explicit release - start*/ + /*Added for explicit release - start*/ #ifdef LTEMAC_SPS if(isSpsRnti && dDatInd && dDatInd->numLch) { if(ueCb->ul.spsDatRcvd != 0) { - ueCb->ul.explRelCntr = 0; - ueCb->ul.spsDatRcvd = 0; + ueCb->ul.explRelCntr = 0; + ueCb->ul.spsDatRcvd = 0; } else { - ueCb->ul.explRelCntr++; - if (ueCb->ul.explRelCntr == ueCb->ul.explRelCnt) - { - ueCb->ul.explRelCntr = 0; - /* Indicate scheduler for explicit release */ - memset(&schPst1, 0, sizeof(Pst)); - rgGetPstToInst(&schPst1,inst, cellCb->schInstMap.schInst); - //TODO: commented for compilation without SCH + ueCb->ul.explRelCntr++; + if (ueCb->ul.explRelCntr == ueCb->ul.explRelCnt) + { + ueCb->ul.explRelCntr = 0; + /* Indicate scheduler for explicit release */ + memset(&schPst1, 0, sizeof(Pst)); + rgGetPstToInst(&schPst1,inst, cellCb->schInstMap.schInst); + //TODO: commented for compilation without SCH #if 0 - relInfo.cellSapId = cellCb->schInstMap.cellSapId; - relInfo.cRnti = ueCb->ueId; - relInfo.isExplRel = TRUE; - /* Release indicator is called now through the matrix in the function below */ - //TODO: commented for compilation without SCH RgMacSchSpsRel( &schPst1, &relInfo ); -#endif - ueCb->ul.implRelCntr = 0; - } + relInfo.cellSapId = cellCb->schInstMap.cellSapId; + relInfo.cRnti = ueCb->ueId; + relInfo.isExplRel = TRUE; + /* Release indicator is called now through the matrix in the function below */ + //TODO: commented for compilation without SCH RgMacSchSpsRel( &schPst1, &relInfo ); +#endif + ueCb->ul.implRelCntr = 0; + } } } else @@ -969,9 +964,9 @@ uint32_t *lcgBytes /* SPS_FIX */ if(ueCb->ul.spsDatRcvd != 0) { - //ueCb->ul.implRelCntr = 0; - ueCb->ul.explRelCntr = 0; - ueCb->ul.spsDatRcvd = 0; + //ueCb->ul.implRelCntr = 0; + ueCb->ul.explRelCntr = 0; + ueCb->ul.spsDatRcvd = 0; } } #endif @@ -986,9 +981,8 @@ uint32_t *lcgBytes #endif if ((ret = rgUIMSndDedDatInd(inst,ueCb->rguUlSap,dDatInd)) != ROK) { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, - "Failed to send datIndication to RGU CRNTI:%d",ueCb->ueId); - return (ret); + DU_LOG("\nERROR --> MAC : Failed to send datIndication to RGU CRNTI:%d",ueCb->ueId); + return (ret); } } #ifndef SS_RBUF @@ -1017,25 +1011,25 @@ uint32_t *lcgBytes * @return */ #ifdef LTEMAC_SPS -static S16 rgTOMUtlInsSchInfo + static S16 rgTOMUtlInsSchInfo ( -RgMacPdu *pdu, -RgInfSfDatInd *sfInfo, -RgInfCeInfo *ceInfo, -CmLteRnti rnti, -Bool spsToBeActvtd, -uint16_t sduSize, -uint32_t *lcgBytes -) + RgMacPdu *pdu, + RgInfSfDatInd *sfInfo, + RgInfCeInfo *ceInfo, + CmLteRnti rnti, + Bool spsToBeActvtd, + uint16_t sduSize, + uint32_t *lcgBytes + ) #else -static S16 rgTOMUtlInsSchInfo + static S16 rgTOMUtlInsSchInfo ( -RgMacPdu *pdu, -RgInfSfDatInd *sfInfo, -RgInfCeInfo *ceInfo, -CmLteRnti rnti, -uint32_t *lcgBytes -) + RgMacPdu *pdu, + RgInfSfDatInd *sfInfo, + RgInfCeInfo *ceInfo, + CmLteRnti rnti, + uint32_t *lcgBytes + ) #endif { S16 ret; @@ -1052,17 +1046,17 @@ uint32_t *lcgBytes } ueInfo->rnti = rnti; - + ueInfo->ceInfo = *ceInfo; ueInfo->ueLstEnt.node = (PTR)ueInfo; for (lcgId = 1, idx = 0; lcgId < RGINF_MAX_LCG_PER_UE; lcgId++) { if (lcgBytes[lcgId] != 0) { - /* Only GBR bytes */ - ueInfo->lcgInfo[idx].lcgId = lcgId; - ueInfo->lcgInfo[idx++].bytesRcvd = lcgBytes[lcgId]; - lcgBytes[lcgId] = 0; + /* Only GBR bytes */ + ueInfo->lcgInfo[idx].lcgId = lcgId; + ueInfo->lcgInfo[idx++].bytesRcvd = lcgBytes[lcgId]; + lcgBytes[lcgId] = 0; } } cmLListAdd2Tail(&sfInfo->ueLst, &ueInfo->ueLstEnt); @@ -1126,7 +1120,7 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) #ifdef LTEMAC_SPS Bool isSpsRnti=FALSE; Pst schPst1; - // RgInfSpsRelInfo relInfo; + // RgInfSpsRelInfo relInfo; Bool spsToBeActvtd = FALSE; uint16_t sduSize = 0; #endif @@ -1139,17 +1133,17 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) { datInfo = (TfuDatInfo*)node->node; { - MsgLen len; - SFndLenMsg(datInfo->mBuf, &len); - rgUlrate_tfu += len; - if (rgUlrate_tfu > 100000) - { - printf("Sowmya:rgTOMDatInd datInfo->mBuf len =%d rgUlrate_tfu=%d",len,rgUlrate_tfu); - rgUlrate_tfu = 0; - } + MsgLen len; + SFndLenMsg(datInfo->mBuf, &len); + rgUlrate_tfu += len; + if (rgUlrate_tfu > 100000) + { + DU_LOG("\nINFO --> MAC : rgTOMDatInd datInfo->mBuf len =%d rgUlrate_tfu=%d",len,rgUlrate_tfu); + rgUlrate_tfu = 0; + } } } - return(RFAILED); + return(RFAILED); #endif memset(&lcgBytes, 0, sizeof(lcgBytes)); @@ -1158,10 +1152,10 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) ueCb = NULLP; cellCb = rgCb[inst].cell; if((cellCb == NULLP) || - (cellCb->cellId != datInd->cellId)) + (cellCb->cellId != datInd->cellId)) { - - RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"Unable to get the cellCb for cell"); + + DU_LOG("\nERROR --> MAC : Unable to get the cellCb for cell"); return RFAILED; } /* Avoiding memset as all the fields are getting initialized further */ @@ -1169,7 +1163,7 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) if (rgTOMInfAllocPduEvnt (inst,&sfInfo) != ROK) { err.errType = RGERR_TOM_DATIND; - RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"Unable to Allocate PDU for DUX cell"); + DU_LOG("\nERROR --> MAC : Unable to Allocate PDU for DUX cell"); node = datInd->datIndLst.first; return RFAILED; } @@ -1183,15 +1177,15 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) { datInfo = (TfuDatInfo*)node->node; { - //uint32_t ulrate_tfu; - MsgLen len; - SFndLenMsg(datInfo->mBuf, &len); + //uint32_t ulrate_tfu; + MsgLen len; + SFndLenMsg(datInfo->mBuf, &len); #ifdef STUB_TTI_HANDLING_5GTF - // printf("Sowmya:rgTOMDatInd datInfo->mBuf len =%d",len); + // DU_LOG(":rgTOMDatInd datInfo->mBuf len =%d",len); #endif - rgUlrate_tfu += len; + rgUlrate_tfu += len; #ifdef EMTC_ENABLE - grgUlrate_tfu += len; + grgUlrate_tfu += len; #endif } #ifdef STUB_TTI_HANDLING_5GTF @@ -1206,22 +1200,22 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) /* Lets allocate the event that needs to be passed to DUX */ if (rgTOMUtlAllocPduEvnt (inst,&pdu) != ROK) { - err.errType = RGERR_TOM_DATIND; - RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"Unable to Allocate PDU for DUX cell"); - rgTOMInfFreePduEvnt (sfInfo); - return RFAILED; + err.errType = RGERR_TOM_DATIND; + DU_LOG("\nERROR --> MAC : Unable to Allocate PDU for DUX cell"); + rgTOMInfFreePduEvnt (sfInfo); + return RFAILED; } if ((ret = rgDUXDemuxData (inst,pdu, &ceInfo, - &datInfo->mBuf, &err)) != ROK) + &datInfo->mBuf, &err)) != ROK) { - //exit(1); - /* Fix: sriky memory corruption precautions */ - rgTOMUtlFreePduEvnt (pdu, TRUE); - err.errType = RGERR_TOM_DATIND; - RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"DUX processing failed"); - tfuSap->sapSts.numPduDrop++; - continue; + //exit(1); + /* Fix: sriky memory corruption precautions */ + rgTOMUtlFreePduEvnt (pdu, TRUE); + err.errType = RGERR_TOM_DATIND; + DU_LOG("\nERROR --> MAC : DUX processing failed"); + tfuSap->sapSts.numPduDrop++; + continue; } /* It could be that a non-msg3 pdu contains a CRNTI Control element. We * should check for CRNTI CE and if it exists the UECb must exist, also an @@ -1231,110 +1225,109 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) if (ceInfo.bitMask & RG_CCCH_SDU_PRSNT) { - ret = rgTOMProcCCCHSduInDatInd(pdu, prevUeCb, \ - cellCb, datInfo, &ceInfo, slot); - if (ret == RFAILED) - { - rgTOMUtlFreePduEvnt (pdu, TRUE); - err.errType = RGERR_TOM_DATIND; - tfuSap->sapSts.numPduDrop++; - continue; - } + ret = rgTOMProcCCCHSduInDatInd(pdu, prevUeCb, \ + cellCb, datInfo, &ceInfo, slot); + if (ret == RFAILED) + { + rgTOMUtlFreePduEvnt (pdu, TRUE); + err.errType = RGERR_TOM_DATIND; + tfuSap->sapSts.numPduDrop++; + continue; + } } /* end of Msg3 processing */ else if (ceInfo.bitMask & RG_CRNTI_CE_PRSNT) { - ret = rgTOMProcCrntiCEInDatInd(pdu, prevUeCb, \ - cellCb, datInfo, &ceInfo, slot); - if (ret == RFAILED) - { - rgTOMUtlFreePduEvnt (pdu, TRUE); - err.errType = RGERR_TOM_DATIND; - tfuSap->sapSts.numPduDrop++; - continue; - } + ret = rgTOMProcCrntiCEInDatInd(pdu, prevUeCb, \ + cellCb, datInfo, &ceInfo, slot); + if (ret == RFAILED) + { + rgTOMUtlFreePduEvnt (pdu, TRUE); + err.errType = RGERR_TOM_DATIND; + tfuSap->sapSts.numPduDrop++; + continue; + } } /* end of CRNTI based message */ else { - ueCb = rgDBMGetUeCb (cellCb, datInfo->rnti); - if (ueCb == NULLP) - { + ueCb = rgDBMGetUeCb (cellCb, datInfo->rnti); + if (ueCb == NULLP) + { #ifdef LTEMAC_SPS - /* Try getting the UE using SPS-RNTI. */ - ueCb = rgDBMGetSpsUeCb (cellCb, datInfo->rnti); - if (ueCb != NULLP) - { - isSpsRnti = TRUE; - /* Increment implrelCntr for an empty transmission */ - if (pdu->sduLst.count == 0) - { - ueCb->ul.implRelCntr++; - if (ueCb->ul.implRelCntr == ueCb->ul.implRelCnt) - { - /* Indicate scheduler for implicit release */ - memset(&schPst1, 0, sizeof(Pst)); - rgGetPstToInst(&schPst1,inst, cellCb->schInstMap.schInst); - - ueCb->ul.implRelCntr = 0; - ueCb->ul.explRelCntr = 0; + /* Try getting the UE using SPS-RNTI. */ + ueCb = rgDBMGetSpsUeCb (cellCb, datInfo->rnti); + if (ueCb != NULLP) + { + isSpsRnti = TRUE; + /* Increment implrelCntr for an empty transmission */ + if (pdu->sduLst.count == 0) + { + ueCb->ul.implRelCntr++; + if (ueCb->ul.implRelCntr == ueCb->ul.implRelCnt) + { + /* Indicate scheduler for implicit release */ + memset(&schPst1, 0, sizeof(Pst)); + rgGetPstToInst(&schPst1,inst, cellCb->schInstMap.schInst); + + ueCb->ul.implRelCntr = 0; + ueCb->ul.explRelCntr = 0; #if 0 - relInfo.cellSapId = cellCb->schInstMap.cellSapId; - relInfo.cRnti = ueCb->ueId; - relInfo.isExplRel= FALSE; - //TODO: commented for compilation without SCH RgMacSchSpsRel(&schPst1, &relInfo); + relInfo.cellSapId = cellCb->schInstMap.cellSapId; + relInfo.cRnti = ueCb->ueId; + relInfo.isExplRel= FALSE; + //TODO: commented for compilation without SCH RgMacSchSpsRel(&schPst1, &relInfo); #endif - } - } - else - { - /* Reset the implrelCntr */ - ueCb->ul.implRelCntr = 0; - } - } - else + } + } + else + { + /* Reset the implrelCntr */ + ueCb->ul.implRelCntr = 0; + } + } + else #endif - { - /* Perform failure if ueCb is still NULLP */ - rgTOMUtlFreePduEvnt (pdu, TRUE); - err.errType = RGERR_TOM_DATIND; - RLOG_ARG1(L_ERROR,DBG_CELLID,datInd->cellId,"RNTI:%d Unable to get the UE CB", - datInfo->rnti); - tfuSap->sapSts.numPduDrop++; - continue; - } - } + { + /* Perform failure if ueCb is still NULLP */ + rgTOMUtlFreePduEvnt (pdu, TRUE); + err.errType = RGERR_TOM_DATIND; + DU_LOG("\nERROR --> MAC : RNTI:%d Unable to get the UE CB", + datInfo->rnti); + tfuSap->sapSts.numPduDrop++; + continue; + } + } #ifdef LTE_L2_MEAS - rgTOMUtlL2MStoreBufSz(ueCb, &ceInfo); - rgTOML2MCompileActiveLCs (cellCb, ueCb, pdu, &ceInfo); + rgTOMUtlL2MStoreBufSz(ueCb, &ceInfo); + rgTOML2MCompileActiveLCs (cellCb, ueCb, pdu, &ceInfo); #endif #ifdef LTEMAC_SPS - if ((ret = rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,&spsToBeActvtd,&sduSize, slot, (uint32_t *)&lcgBytes)) != ROK) + if ((ret = rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,&spsToBeActvtd,&sduSize, slot, (uint32_t *)&lcgBytes)) != ROK) #else - if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, (uint32_t *)&lcgBytes)) != ROK) + if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, (uint32_t *)&lcgBytes)) != ROK) #endif /* LTEMAC_SPS */ - { - rgTOMUtlFreePduEvnt (pdu, TRUE); - err.errType = RGERR_TOM_DATIND; - RLOG_ARG1(L_ERROR,DBG_CELLID,datInd->cellId, - "Unable to handle Data Indication CRNTI:%d",ueCb->ueId); - tfuSap->sapSts.numPduDrop++; - continue; - } + { + rgTOMUtlFreePduEvnt (pdu, TRUE); + err.errType = RGERR_TOM_DATIND; + DU_LOG("\nERROR --> MAC : Unable to handle Data Indication CRNTI:%d",ueCb->ueId); + tfuSap->sapSts.numPduDrop++; + continue; + } } - + #ifdef LTEMAC_SPS if(rgTOMUtlInsSchInfo(pdu, sfInfo, &ceInfo, datInfo->rnti,spsToBeActvtd,sduSize, (uint32_t *)&lcgBytes) != ROK) #else - if(rgTOMUtlInsSchInfo(pdu, sfInfo, &ceInfo, datInfo->rnti, (uint32_t *)&lcgBytes) != ROK) + if(rgTOMUtlInsSchInfo(pdu, sfInfo, &ceInfo, datInfo->rnti, (uint32_t *)&lcgBytes) != ROK) #endif - - { - rgTOMInfFreePduEvnt (sfInfo); - rgTOMUtlFreePduEvnt (pdu, FALSE); - return RFAILED; - } + + { + rgTOMInfFreePduEvnt (sfInfo); + rgTOMUtlFreePduEvnt (pdu, FALSE); + return RFAILED; + } /* free up the PDU memory */ rgTOMUtlFreePduEvnt (pdu, FALSE); } @@ -1343,19 +1336,19 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) if(cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)].ueUlAllocInfo != NULLP) { /*ccpu00117052 - MOD - Passing double for proper NULLP - assignment */ + assignment */ rgFreeSBuf(inst,(Data **)&(cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)].ueUlAllocInfo), - ((cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)].numUe) * sizeof(RgUeUlAlloc))); + ((cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)].numUe) * sizeof(RgUeUlAlloc))); } #endif /* RRM_RBC_X */ /* Update PRB used for all GBR QCIs to scheduler */ - memcpy( &sfInfo->qcisUlPrbCnt[0], - &cellCb->qcisUlPrbCnt[0], - (RGM_MAX_QCI_REPORTS * sizeof(uint32_t))); - /* clear the cellCb ul prb value */ - memset(&cellCb->qcisUlPrbCnt[0], 0, - (RGM_MAX_QCI_REPORTS * sizeof(uint32_t))); + memcpy( &sfInfo->qcisUlPrbCnt[0], + &cellCb->qcisUlPrbCnt[0], + (RGM_MAX_QCI_REPORTS * sizeof(uint32_t))); + /* clear the cellCb ul prb value */ + memset(&cellCb->qcisUlPrbCnt[0], 0, + (RGM_MAX_QCI_REPORTS * sizeof(uint32_t))); /* RRM_RBC_Y */ @@ -1392,17 +1385,17 @@ S16 rgTOMDatInd(Inst inst, TfuDatIndInfo *datInd) * -# ROK * -# RFAILED **/ -static S16 rgHndlCmnChnl + static S16 rgHndlCmnChnl ( -RgCellCb *cell, -CmLteTimingInfo timingInfo, -RgInfCmnLcInfo *cmnLcInfo, -RgErrInfo *err -) + RgCellCb *cell, + CmLteTimingInfo timingInfo, + RgInfCmnLcInfo *cmnLcInfo, + RgErrInfo *err + ) { - #if (ERRCLASS & ERRCLS_DEBUG) +#if (ERRCLASS & ERRCLS_DEBUG) RgPcchLcCb *pcch; - #endif +#endif #ifndef RGR_SI_SCH RgBcchDlschLcCb *bcch; #if (ERRCLASS & ERRCLS_DEBUG) @@ -1419,33 +1412,33 @@ RgErrInfo *err if(cmnLcInfo->bitMask & RGINF_BCH_INFO) { #ifndef RGR_SI_SCH - #if (ERRCLASS & ERRCLS_DEBUG) +#if (ERRCLASS & ERRCLS_DEBUG) if(NULLP == (bch = rgDBMGetBcchOnBch(cell))) { - return RFAILED; + return RFAILED; } if(cmnLcInfo->bchInfo.lcId != bch->lcId) { - return RFAILED; + return RFAILED; } - #endif +#endif if (rgAllocShrablSBuf (inst,(Data**)&staInd, sizeof(RguCStaIndInfo)) != ROK) { - err->errCause = RGERR_TOM_MEM_EXHAUST; - return RFAILED; + err->errCause = RGERR_TOM_MEM_EXHAUST; + return RFAILED; } staInd->cellId = cell->cellId; staInd->rnti = RG_INVALID_RNTI; staInd->lcId = cmnLcInfo->bchInfo.lcId; staInd->transId = (timingInfo.sfn << 8) | (timingInfo.slot); -/* ADD Changes for Downlink UE Timing Optimization */ + /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ dlSf->remDatReqCnt++; #endif if (rgUIMSndCmnStaInd (inst,cell->rguDlSap,staInd) != ROK) { - return RFAILED; + return RFAILED; } #else /*Store the received BCH Data in the scheduled subframe*/ @@ -1455,35 +1448,35 @@ RgErrInfo *err if(cmnLcInfo->bitMask & RGINF_PCCH_INFO) { - #if (ERRCLASS & ERRCLS_DEBUG) +#if (ERRCLASS & ERRCLS_DEBUG) if(NULLP == (pcch = rgDBMGetPcch(cell))) { - return RFAILED; + return RFAILED; } if(cmnLcInfo->pcchInfo.lcId != pcch->lcId) { - return RFAILED; + return RFAILED; } - #endif +#endif dlSf->pcch.pdcch.rnti = - cmnLcInfo->pcchInfo.rnti; + cmnLcInfo->pcchInfo.rnti; dlSf->pcch.pdcch.dci = - cmnLcInfo->pcchInfo.dciInfo; + cmnLcInfo->pcchInfo.dciInfo; #ifdef TFU_UPGRADE /* ccpu00132314-ADD-Fill the tx Pwr offset from scheduler */ dlSf->pcch.txPwrOffset = cmnLcInfo->pcchInfo.txPwrOffset; #endif if (rgAllocShrablSBuf (inst,(Data**)&staInd, sizeof(RguCStaIndInfo)) != ROK) { - err->errCause = RGERR_TOM_MEM_EXHAUST; - return RFAILED; + err->errCause = RGERR_TOM_MEM_EXHAUST; + return RFAILED; } staInd->cellId = cell->cellId; staInd->rnti = RG_INVALID_RNTI; staInd->lcId = cmnLcInfo->pcchInfo.lcId; staInd->transId = (timingInfo.sfn << 8) | (timingInfo.slot); -/* ADD Changes for Downlink UE Timing Optimization */ + /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ dlSf->remDatReqCnt++; #endif @@ -1492,52 +1485,52 @@ RgErrInfo *err */ if (rgUIMSndCmnStaInd (inst,cell->rguDlSap,staInd) != ROK) { - return RFAILED; + return RFAILED; } } if(cmnLcInfo->bitMask & RGINF_BCCH_INFO) { dlSf->bcch.pdcch.rnti = - cmnLcInfo->bcchInfo.rnti; + cmnLcInfo->bcchInfo.rnti; dlSf->bcch.pdcch.dci = - cmnLcInfo->bcchInfo.dciInfo; + cmnLcInfo->bcchInfo.dciInfo; #ifdef TFU_UPGRADE /* ccpu00132314-ADD-Fill the tx Pwr offset from scheduler */ dlSf->bcch.txPwrOffset = cmnLcInfo->bcchInfo.txPwrOffset; #endif #ifndef RGR_SI_SCH if(NULLP == - (bcch=rgDBMGetBcchOnDlsch(cell,cmnLcInfo->bcchInfo.lcId))) + (bcch=rgDBMGetBcchOnDlsch(cell,cmnLcInfo->bcchInfo.lcId))) { - return RFAILED; + return RFAILED; } if(TRUE == cmnLcInfo->bcchInfo.sndStatInd) { - RG_FREE_MSG(bcch->tb); - if (rgAllocShrablSBuf (inst,(Data**)&staInd, - sizeof(RguCStaIndInfo)) != ROK) - { - err->errCause = RGERR_TOM_MEM_EXHAUST; - return RFAILED; - } - staInd->cellId = cell->cellId; - staInd->rnti = RG_INVALID_RNTI; - staInd->lcId = cmnLcInfo->bcchInfo.lcId; - staInd->transId = (timingInfo.sfn << 8) | (timingInfo.slot); -/* ADD Changes for Downlink UE Timing Optimization */ + RG_FREE_MSG(bcch->tb); + if (rgAllocShrablSBuf (inst,(Data**)&staInd, + sizeof(RguCStaIndInfo)) != ROK) + { + err->errCause = RGERR_TOM_MEM_EXHAUST; + return RFAILED; + } + staInd->cellId = cell->cellId; + staInd->rnti = RG_INVALID_RNTI; + staInd->lcId = cmnLcInfo->bcchInfo.lcId; + staInd->transId = (timingInfo.sfn << 8) | (timingInfo.slot); + /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ - dlSf->remDatReqCnt++; + dlSf->remDatReqCnt++; #endif - if (rgUIMSndCmnStaInd (inst,cell->rguDlSap,staInd) != ROK) - { - return RFAILED; - } + if (rgUIMSndCmnStaInd (inst,cell->rguDlSap,staInd) != ROK) + { + return RFAILED; + } } else { - SCpyMsgMsg(bcch->tb, RG_GET_MEM_REGION(rgCb[inst]), - RG_GET_MEM_POOL(rgCb[inst]), &dlSf->bcch.tb); + SCpyMsgMsg(bcch->tb, RG_GET_MEM_REGION(rgCb[inst]), + RG_GET_MEM_POOL(rgCb[inst]), &dlSf->bcch.tb); } #else /*Store the received BCCH Data in the scheduled subframe*/ @@ -1575,13 +1568,13 @@ RgErrInfo *err * -# ROK * -# RFAILED **/ -static S16 rgHndlSchdUe + static S16 rgHndlSchdUe ( -RgCellCb *cell, -CmLteTimingInfo timingInfo, -RgInfUeInfo *ueInfo, -RgErrInfo *err -) + RgCellCb *cell, + CmLteTimingInfo timingInfo, + RgInfUeInfo *ueInfo, + RgErrInfo *err + ) { @@ -1611,19 +1604,19 @@ RgErrInfo *err * -# ROK * -# RFAILED **/ -static S16 rgHndlUlUeInfo + static S16 rgHndlUlUeInfo ( -RgCellCb *cell, -CmLteTimingInfo timingInfo, -RgInfUlUeInfo *ueInfo -) + RgCellCb *cell, + CmLteTimingInfo timingInfo, + RgInfUlUeInfo *ueInfo + ) { Inst inst = cell->macInst - RG_INST_START; uint8_t idx; RgUlSf *ulSf; S16 ret; - + ulSf = &cell->ulSf[(timingInfo.slot % RGSCH_NUM_SUB_FRAMES)]; /* rg003.301-MOD- Corrected the purifier memory leak */ @@ -1631,8 +1624,8 @@ RgInfUlUeInfo *ueInfo { if (ulSf->ueUlAllocInfo) { - rgFreeSBuf(inst,(Data **)&(ulSf->ueUlAllocInfo), - ulSf->numUe * sizeof(RgUeUlAlloc)); + rgFreeSBuf(inst,(Data **)&(ulSf->ueUlAllocInfo), + ulSf->numUe * sizeof(RgUeUlAlloc)); } } #ifdef XEON_SPECIFIC_CHANGES @@ -1642,12 +1635,12 @@ RgInfUlUeInfo *ueInfo ulSf->numUe = ueInfo->numUes; if((ulSf->ueUlAllocInfo == NULLP) && (ueInfo->numUes > 0)) { - /* Allocate memory for ulAllocInfo */ - if((ret = rgAllocSBuf(inst,(Data**)&(cell->ulSf[(timingInfo.slot % RGSCH_NUM_SUB_FRAMES)]. - ueUlAllocInfo), ueInfo->numUes * sizeof(RgUeUlAlloc))) != ROK) - { - return (ret); - } + /* Allocate memory for ulAllocInfo */ + if((ret = rgAllocSBuf(inst,(Data**)&(cell->ulSf[(timingInfo.slot % RGSCH_NUM_SUB_FRAMES)]. + ueUlAllocInfo), ueInfo->numUes * sizeof(RgUeUlAlloc))) != ROK) + { + return (ret); + } } #ifdef XEON_SPECIFIC_CHANGES CM_MEAS_TIME((cell->crntTime.slot % RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_ALLOC); @@ -1657,8 +1650,8 @@ RgInfUlUeInfo *ueInfo { for(idx = 0; idx < ueInfo->numUes; idx++) { - ulSf->ueUlAllocInfo[idx].rnti = ueInfo->ulAllocInfo[idx].rnti; - ulSf->ueUlAllocInfo[idx].numPrb = ueInfo->ulAllocInfo[idx].numPrb; + ulSf->ueUlAllocInfo[idx].rnti = ueInfo->ulAllocInfo[idx].rnti; + ulSf->ueUlAllocInfo[idx].numPrb = ueInfo->ulAllocInfo[idx].numPrb; } } RGCPYTIMEINFO(timingInfo, ulSf->schdTime); @@ -1692,29 +1685,29 @@ Void rgTOMRlsSf(Inst inst,RgDlSf *dlSf) if(dlSf->txDone == FALSE) { - RLOG0(L_ERROR, "SUBFRAME Not pushed to the PHY"); + DU_LOG("\nERROR --> MAC : SUBFRAME Not pushed to the PHY"); if (dlSf->bch.tb != NULLP) { - RG_FREE_MSG(dlSf->bch.tb); + RG_FREE_MSG(dlSf->bch.tb); } if (dlSf->bcch.tb != NULLP) { - RG_FREE_MSG(dlSf->bcch.tb); + RG_FREE_MSG(dlSf->bcch.tb); } if (dlSf->pcch.tb != NULLP) { - RG_FREE_MSG(dlSf->pcch.tb); + RG_FREE_MSG(dlSf->pcch.tb); } #ifdef EMTC_ENABLE rgTOMEmtcRlsSf(dlSf); #endif for(idx=0; idx < dlSf->numRaRsp; idx++) { - RG_FREE_MSG(dlSf->raRsp[idx].rar); + RG_FREE_MSG(dlSf->raRsp[idx].rar); } } -/* ADD Changes for Downlink UE Timing Optimization */ + /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ dlSf->remDatReqCnt = 0; /* Fix[ccpu00126310]: Tracks Data Requests from RLC for both loosely and tight coupled @@ -1726,29 +1719,28 @@ Void rgTOMRlsSf(Inst inst,RgDlSf *dlSf) uint8_t i; CmLList *node; RgDlHqProcCb *hqP; - RGDBGERRNEW(inst, (rgPBuf(inst), - "Error Stale TBs in Subframes TBS list\n")); + DU_LOG("\nERROR --> MAC : Error Stale TBs in Subframes TBS list\n"); node = dlSf->tbs.first; while(node) { - hqP = (RgDlHqProcCb*)node->node; - node = node->next; - if (hqP) - { - for(i=0;i< RG_MAX_TB_PER_UE;i++) - { - if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf == dlSf) - { - cmLListDelFrm(&dlSf->tbs, &(hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk)); - hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk.node = NULLP; - printf("\n rgTOMRlsSf:: hqP %p \n", (Void *)hqP); - } - hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf = NULLP; - } - } + hqP = (RgDlHqProcCb*)node->node; + node = node->next; + if (hqP) + { + for(i=0;i< RG_MAX_TB_PER_UE;i++) + { + if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf == dlSf) + { + cmLListDelFrm(&dlSf->tbs, &(hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk)); + hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk.node = NULLP; + DU_LOG("\nERROR --> MAC : rgTOMRlsSf:: hqP %p \n", (Void *)hqP); + } + hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf = NULLP; + } } - } - /*arjun: check if dlSf laaTb list has to be freed???*/ + } + } + /*arjun: check if dlSf laaTb list has to be freed???*/ cmLListInit(&dlSf->tbs); dlSf->txDone = FALSE; dlSf->numRaRsp = 0; @@ -1784,21 +1776,21 @@ S16 rgHndlFlowCntrl(RgCellCb *cell,RgInfSfAlloc *sfInfo) flowCntrlInd = cell->flowCntrlInd; flowCntrlInd->cellId = sfInfo->cellId; flowCntrlInd->numUes = sfInfo->flowCntrlInfo.numUes; - + for (ueIdx = 0; ueIdx < sfInfo->flowCntrlInfo.numUes; ueIdx++) { flowCntrlInd->ueFlowCntrlInfo[ueIdx].ueId = sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].ueId; flowCntrlInd->ueFlowCntrlInfo[ueIdx].numLcs = sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].numLcs; - + for (lcIdx = 0; lcIdx < RGINF_MAX_NUM_DED_LC; lcIdx++) { - flowCntrlInd->ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].lcId = - sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].lcId; - flowCntrlInd->ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].pktAdmitCnt = - sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].pktAdmitCnt; - - flowCntrlInd->ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].maxBo4FlowCtrl = - sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].maxBo4FlowCtrl; + flowCntrlInd->ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].lcId = + sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].lcId; + flowCntrlInd->ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].pktAdmitCnt = + sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].pktAdmitCnt; + + flowCntrlInd->ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].maxBo4FlowCtrl = + sfInfo->flowCntrlInfo.ueFlowCntrlInfo[ueIdx].lcInfo[lcIdx].maxBo4FlowCtrl; } } RgUiRguFlowCntrlInd(pst, cell->rguDlSap->sapCfg.spId,flowCntrlInd); /* TODO: Rishi confirm if the suId and pst pointer is correct */ @@ -1851,7 +1843,7 @@ S16 RgSchMacSfAllocReq(Pst *pst,RgInfSfAlloc *sfInfo) if((cell = rgCb[inst].cell) == NULLP) { - RLOG_ARG0(L_ERROR,DBG_CELLID,sfInfo->cellId, "No cellCb found with cell"); + DU_LOG("\nERROR --> MAC : No cellCb found with cell"); return RFAILED; } @@ -1867,10 +1859,10 @@ S16 RgSchMacSfAllocReq(Pst *pst,RgInfSfAlloc *sfInfo) /* Fix : syed Ignore Failure Returns and continue processing. * Incomplete processing results in state sync loss between MAC-SCH. */ #ifdef EMTC_ENABLE - if(TRUE == cell->emtcEnable) - { - rgEmtcHndl(cell, sfInfo); - } + if(TRUE == cell->emtcEnable) + { + rgEmtcHndl(cell, sfInfo); + } #endif rgHndlCmnChnl(cell, sfInfo->timingInfo, &sfInfo->cmnLcInfo, &err); @@ -1892,7 +1884,7 @@ S16 RgSchMacSfAllocReq(Pst *pst,RgInfSfAlloc *sfInfo) #ifdef LTE_L2_MEAS if(rgHndlUlUeInfo(cell, sfInfo->ulUeInfo.timingInfo, - &sfInfo->ulUeInfo) != ROK) + &sfInfo->ulUeInfo) != ROK) { return RFAILED; } @@ -1912,18 +1904,18 @@ S16 RgSchMacSfAllocReq(Pst *pst,RgInfSfAlloc *sfInfo) RLC-MAC */ if(!(dlSf->txDone) && #ifdef LTE_ADV - (TRUE == rgLaaChkAllRxTbs(dlSf)) && + (TRUE == rgLaaChkAllRxTbs(dlSf)) && #endif - (0 == dlSf->remDatReqCnt) && (dlSf->statIndDone) && - (RG_TIMEINFO_SAME(cell->crntTime, dlSf->schdTime))) + (0 == dlSf->remDatReqCnt) && (dlSf->statIndDone) && + (RG_TIMEINFO_SAME(cell->crntTime, dlSf->schdTime))) { /*This is the case of rettransmission, so no need * to wait for TTI Ind to push TFU Data Request. Send * it right away.*/ if (ROK != rgTOMUtlProcDlSf (dlSf, cell, &err)) { - RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to process downlink subframe for cell"); - err.errType = RGERR_ROM_DEDDATREQ; + DU_LOG("\nERROR --> MAC : Unable to process downlink subframe for cell"); + err.errType = RGERR_ROM_DEDDATREQ; } /* Mark this frame as sent */ dlSf->txDone = TRUE; @@ -1931,7 +1923,7 @@ S16 RgSchMacSfAllocReq(Pst *pst,RgInfSfAlloc *sfInfo) #endif if (sfInfo->flowCntrlInfo.numUes > 0) { - rgHndlFlowCntrl(cell,sfInfo); + rgHndlFlowCntrl(cell,sfInfo); } /*stoping Task*/ SStopTask(startTime, PID_MAC_SF_ALLOC_REQ); @@ -1966,15 +1958,15 @@ S16 RgSchMacSfAllocReq(Pst *pst,RgInfSfAlloc *sfInfo) * -# ROK * -# RFAILED **/ -static S16 rgTOMProcCrntiCEInDatInd + static S16 rgTOMProcCrntiCEInDatInd ( -RgMacPdu *pdu, -RgUeCb *prevUeCb, -RgCellCb *cellCb, -TfuDatInfo *datInfo, -RgInfCeInfo *ceInfo, -uint16_t slot -) + RgMacPdu *pdu, + RgUeCb *prevUeCb, + RgCellCb *cellCb, + TfuDatInfo *datInfo, + RgInfCeInfo *ceInfo, + uint16_t slot + ) { RgUeCb *ueCb = NULLP; Inst inst = cellCb->macInst - RG_INST_START; @@ -1987,41 +1979,37 @@ uint16_t slot #ifndef LTE_L2_MEAS - UNUSED(slot); + UNUSED(slot); #endif ueCb = rgDBMGetUeCbFromRachLst (cellCb, datInfo->rnti); if (ueCb == NULLP) { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, - "RNTI:%d Received MSG3 with CRNTI,unable to find ueCb", ceInfo->ces.cRnti); - return RFAILED; + DU_LOG("\nERROR --> MAC : RNTI:%d Received MSG3 with CRNTI,unable to find ueCb", ceInfo->ces.cRnti); + return RFAILED; } prevUeCb = rgDBMGetUeCb (cellCb, ceInfo->ces.cRnti); if (prevUeCb == NULLP) { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, - "RNTI:%d Received MSG3 with CRNTI,unable to find ueCb", ceInfo->ces.cRnti); - return RFAILED; + DU_LOG("\nERROR --> MAC : RNTI:%d Received MSG3 with CRNTI,unable to find ueCb", ceInfo->ces.cRnti); + return RFAILED; } - RLOG_ARG2(L_DEBUG,DBG_CELLID,cellCb->cellId, - "CRNTI CE(%d) received through tmpCrnti(%d)", - ceInfo->ces.cRnti, datInfo->rnti); + DU_LOG("\nERROR --> MAC : CRNTI CE(%d) received through tmpCrnti(%d)", + ceInfo->ces.cRnti, datInfo->rnti); rgDBMDelUeCbFromRachLst(cellCb, ueCb); rgRAMFreeUeCb(inst,ueCb); ueCb = prevUeCb; #ifdef LTEMAC_SPS if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, slot, NULLP)) != ROK) #else - if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, NULLP)) != ROK) + if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, NULLP)) != ROK) #endif /* LTEMAC_SPS */ - { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, - "RNTI:%d Processing for MSG3 failed",datInfo->rnti); - return RFAILED; - } + { + DU_LOG("\nERROR --> MAC : RNTI:%d Processing for MSG3 failed",datInfo->rnti); + return RFAILED; + } return ROK; } /** @@ -2057,15 +2045,15 @@ uint16_t slot * -# ROK * -# RFAILED **/ -static S16 rgTOMProcCCCHSduInDatInd + static S16 rgTOMProcCCCHSduInDatInd ( -RgMacPdu *pdu, -RgUeCb *prevUeCb, -RgCellCb *cellCb, -TfuDatInfo *datInfo, -RgInfCeInfo *ceInfo, -uint16_t slot -) + RgMacPdu *pdu, + RgUeCb *prevUeCb, + RgCellCb *cellCb, + TfuDatInfo *datInfo, + RgInfCeInfo *ceInfo, + uint16_t slot + ) { RgUeCb *ueCb = NULLP; Inst inst = cellCb->macInst - RG_INST_START; @@ -2078,52 +2066,49 @@ uint16_t slot #ifndef LTE_L2_MEAS - UNUSED(slot); + UNUSED(slot); #endif if (ceInfo->bitMask & RG_CRNTI_CE_PRSNT) { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, - "CRNTI:%d Received MSG3 with CCCH",ceInfo->ces.cRnti); - return RFAILED; + DU_LOG("\nERROR --> MAC : CRNTI:%d Received MSG3 with CCCH",ceInfo->ces.cRnti); + return RFAILED; } - + ueCb = rgDBMGetUeCbFromRachLst (cellCb, datInfo->rnti); - + if (ueCb == NULLP) { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, - "RNTI:%d Processing for MSG3 failed", datInfo->rnti); - return RFAILED; + DU_LOG("\nERROR --> MAC : RNTI:%d Processing for MSG3 failed", datInfo->rnti); + return RFAILED; } /* Fix: syed Drop any duplicate Msg3(CCCH Sdu) */ if (ueCb->dl.hqEnt.numHqProcs) { /* HqE is already initialized by a previuos Msg3 */ - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Processing for MSG3 failed. Duplicate " - "MSG3 received. Dropping", datInfo->rnti); - return RFAILED; + DU_LOG("\nERROR --> MAC : RNTI:%d Processing for MSG3 failed. Duplicate " + "MSG3 received. Dropping", datInfo->rnti); + return RFAILED; } - + if(rgDHMHqEntInit(inst,&ueCb->dl.hqEnt, - cellCb->maxDlHqProcPerUe) != ROK) + cellCb->maxDlHqProcPerUe) != ROK) { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Harq Initialization failed ", - datInfo->rnti); - return RFAILED; + DU_LOG("\nERROR --> MAC : RNTI:%d Harq Initialization failed ", + datInfo->rnti); + return RFAILED; } - RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId, - "CCCH SDU received through tmpCrnti(%d)",datInfo->rnti); + DU_LOG("\nDEBUG --> MAC : CCCH SDU received through tmpCrnti(%d)",datInfo->rnti); #ifdef LTEMAC_SPS if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, slot, NULLP)) != ROK) #else - if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, NULLP)) != ROK) + if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, NULLP)) != ROK) #endif /* LTEMAC_SPS */ - { - RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Processing for MSG3 failed", - datInfo->rnti); - return RFAILED; - } + { + DU_LOG("\nERROR --> MAC : RNTI:%d Processing for MSG3 failed", + datInfo->rnti); + return RFAILED; + } return ROK; } @@ -2197,14 +2182,14 @@ static Void rgTOML2MCompileActiveLCs(RgCellCb *cellCb,RgUeCb *ueCb,RgMacPdu *pdu while (node) { sdu = (RgMacSdu*)node->node; - + if ((ulLcCb = rgDBMGetUlDedLcCb(ueCb, sdu->lcId)), ulLcCb != NULLP) { - if (ulLcCb->lcgId != 0) - { - ceInfo->bitMask |= RG_ACTIVE_LC_PRSNT; - ceInfo->ulActLCs[ulLcCb->lcId - 1] = TRUE; - } + if (ulLcCb->lcgId != 0) + { + ceInfo->bitMask |= RG_ACTIVE_LC_PRSNT; + ceInfo->ulActLCs[ulLcCb->lcId - 1] = TRUE; + } } node = node->next; } @@ -2215,6 +2200,6 @@ static Void rgTOML2MCompileActiveLCs(RgCellCb *cellCb,RgUeCb *ueCb,RgMacPdu *pdu #endif /********************************************************************** - - End of file -**********************************************************************/ + + End of file + **********************************************************************/