X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac_msg_hdl.c;h=9ff644bb104f4dd11ce193e8f68cc3afd1311e61;hb=cad4905437d02b16c3916903a42f501eb8f7b1ac;hp=cc361bbb8c1b5d7de16732de5e0c30b689d7a509;hpb=694adde1a08c393a8443fd5bbd4f036f5cf85403;p=o-du%2Fl2.git diff --git a/src/5gnrmac/mac_msg_hdl.c b/src/5gnrmac/mac_msg_hdl.c index cc361bbb8..9ff644bb1 100644 --- a/src/5gnrmac/mac_msg_hdl.c +++ b/src/5gnrmac/mac_msg_hdl.c @@ -35,7 +35,7 @@ /* This file contains message handling functionality for MAC */ -extern MacCb macCb; +MacCb macCb; uint16_t buildMacPdu(RlcData *dlData); #ifdef EGTP_TEST @@ -146,13 +146,14 @@ uint8_t fapiMacCrcInd(Pst *pst, CrcInd *crcInd) DU_LOG("\nMAC : Received CRC indication"); GET_CELL_IDX(crcInd->cellId, cellIdx); /* Considering one pdu and one preamble */ - crcIndInfo.cellId = macCb.macCell[cellIdx]->cellId;; + crcIndInfo.cellId = macCb.macCell[cellIdx]->cellId; crcIndInfo.crnti = crcInd->crcInfo[0].rnti; crcIndInfo.timingInfo.sfn = crcInd->timingInfo.sfn; crcIndInfo.timingInfo.slot = crcInd->timingInfo.slot; crcIndInfo.numCrcInd = crcInd->crcInfo[0].numCb; crcIndInfo.crcInd[0] = crcInd->crcInfo[0].cbCrcStatus[0]; + MAC_FREE_SHRABL_BUF(pst->region, pst->pool, crcInd, sizeof(CrcInd)); return(sendCrcIndMacToSch(&crcIndInfo)); } @@ -183,7 +184,10 @@ uint8_t fapiMacRxDataInd(Pst *pst, RxDataInd *rxDataInd) for(pduIdx = 0; pduIdx < rxDataInd->numPdus; pduIdx++) { unpackRxData(rxDataInd->cellId, rxDataInd->timingInfo, &rxDataInd->pdus[pduIdx]); + MAC_FREE_SHRABL_BUF(pst->region, pst->pool, rxDataInd->pdus[pduIdx].pduData,\ + rxDataInd->pdus[pduIdx].pduLength); } + MAC_FREE_SHRABL_BUF(pst->region, pst->pool, rxDataInd, sizeof(RxDataInd)); return ROK; } @@ -206,9 +210,9 @@ uint8_t fapiMacRxDataInd(Pst *pst, RxDataInd *rxDataInd) * ****************************************************************/ uint8_t MacProcRlcDlData(Pst* pstInfo, RlcData *dlData) { - uint8_t pduIdx; - uint8_t *txPdu; - uint16_t tbSize; + uint8_t pduIdx; + uint8_t *txPdu; + uint16_t tbSize; MacDlData macDlData; MacDlSlot *currDlSlot = NULLP; @@ -281,7 +285,7 @@ uint8_t macProcUlData(uint16_t cellId, uint16_t rnti, SlotIndInfo slotInfo, \ uint8_t lcId, uint16_t pduLen, uint8_t *pdu) { Pst pst; - RlcData *ulData; + RlcData *ulData; /* Filling RLC Ul Data*/ MAC_ALLOC_SHRABL_BUF(ulData, sizeof(RlcData)); @@ -453,8 +457,15 @@ uint8_t MacProcCellStartReq(Pst *pst, MacCellStartInfo *cellStartInfo) uint8_t MacProcCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) { #ifdef INTEL_FAPI + uint16_t cellIdx; + SlotIndInfo slotInfo; + DU_LOG("\nMAC : Sending cell stop request to Lower Mac"); - sendToLowerMac(FAPI_STOP_REQUEST, 0, cellStopInfo); + GET_CELL_IDX(cellStopInfo->cellId, cellIdx); + slotInfo.cellId = cellStopInfo->cellId; + slotInfo.sfn = macCb.macCell[cellIdx]->currTime.sfn; + slotInfo.slot = macCb.macCell[cellIdx]->currTime.slot; + sendToLowerMac(FAPI_STOP_REQUEST, 0, &slotInfo); #endif MAC_FREE_SHRABL_BUF(pst->region, pst->pool, cellStopInfo, \ @@ -482,9 +493,9 @@ uint8_t MacProcCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) * ****************************************************************/ uint8_t MacProcDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo) { - uint8_t ueIdx = 0; - uint16_t cellIdx; - uint16_t idx; + uint8_t ueIdx = 0; + uint16_t cellIdx; + uint16_t idx; DlRlcBoInfo dlBoInfo; memset(&dlBoInfo, 0, sizeof(DlRlcBoInfo)); @@ -638,7 +649,7 @@ uint8_t buildAndSendSrInd(UciInd *macUciInd, uint8_t crnti) memset(&srUciInd, 0, sizeof(SrUciIndInfo)); GET_CELL_IDX(macUciInd->cellId, cellIdx); - srUciInd.cellId = macCb.macCell[cellIdx]->cellId;; + srUciInd.cellId = macCb.macCell[cellIdx]->cellId; srUciInd.crnti = crnti; srUciInd.slotInd.sfn = macUciInd->slotInd.sfn; srUciInd.slotInd.slot = macUciInd->slotInd.slot; @@ -708,6 +719,7 @@ uint8_t FapiMacUciInd(Pst *pst, UciInd *macUciInd) DU_LOG("\nMAC: Received Uci Ind is NULL at FapiMacUciInd()"); ret = RFAILED; } + MAC_FREE_SHRABL_BUF(pst->region, pst->pool, macUciInd, sizeof(UciInd)); return ret; }