+ /*No Data to send for this UE, Only send the BO REQUEST to SCH */
+ if(dlData->numPdu == 0)
+ {
+ for(lchIdx = 0; lchIdx < dlData->numLc; lchIdx++)
+ {
+ RLC_ALLOC_SHRABL_BUF(RLC_MEM_REGION_DL, RLC_POOL, \
+ boStatus, sizeof(RlcBoStatus));
+ if(boStatus == NULLP)
+ {
+ DU_LOG("\nERROR --> RLC_DL : rlcSendDedLcDlData: Memory allocation failed for boStatus");
+ ret = RFAILED;
+ break;
+ }
+ boStatus->cellId = dlData->cellId;
+ GET_UE_ID(dlData->rnti, boStatus->ueId);
+ boStatus->lcId = dlData->boStatus[lchIdx].lcId;
+ boStatus->bo = dlData->boStatus[lchIdx].bo;
+
+ FILL_PST_RLC_TO_MAC(pst, RLC_DL_INST, EVENT_BO_STATUS_TO_MAC);
+ /* Send Status Response to MAC layer */
+ if(RlcSendBoStatusToMac(&pst, boStatus) != ROK)
+ {
+ DU_LOG("\nERROR --> RLC_DL : rlcSendDedLcDlData: Failed to send BO status");
+ RLC_FREE_SHRABL_BUF(pst.region, pst.pool, boStatus, sizeof(RlcBoStatus));
+ ret = RFAILED;
+ break;
+ }
+ DU_LOG("\nDEBUG --> RLC_DL : rlcSendDedLcDlData: BO Status sent successfully for LCID:%d,BO:%d",\
+ boStatus->lcId, boStatus->bo);
+ }
+ RLC_FREE_SHRABL_BUF(RLC_MEM_REGION_DL, RLC_POOL, dlData, sizeof(RlcDlData));
+ RLC_FREE_SHRABL_BUF(post->region, post->pool, datReqInfo, sizeof(RguDDatReqInfo));
+ return (ret);
+ }
+