X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_common.c;h=204affa5067d0e96346f997a4b5ab5bf8f0359fd;hb=6bd517aac8dc6e3166389be3f468c58ba56d5608;hp=bc5ca0f1566c584e408708ea1b5d5a49d182bc10;hpb=ba99af5e5ea60b0d8eede9f3323fc9a9991fcfe3;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_common.c b/src/5gnrsch/sch_common.c index bc5ca0f15..204affa50 100644 --- a/src/5gnrsch/sch_common.c +++ b/src/5gnrsch/sch_common.c @@ -470,6 +470,7 @@ uint16_t fillPucchResourceInfo(SchPucchInfo *schPucchInfo, Inst inst, SlotTiming uint8_t schUlResAlloc(SchCellCb *cell, Inst schInst) { int ret = ROK; + SchUeCb *ueCb; UlSchedInfo ulSchedInfo; SchUlSlotInfo *schUlSlotInfo = NULLP; SlotTimingInfo ulTimingInfo; @@ -491,6 +492,15 @@ uint8_t schUlResAlloc(SchCellCb *cell, Inst schInst) if(schUlSlotInfo->schPuschInfo) { ulSchedInfo.crnti = schUlSlotInfo->schPuschInfo->crnti; + /* Check the ue drx status if the UE is active for uplink scheduling or not */ +#ifdef NR_DRX + ueCb = schGetUeCb(cell, ulSchedInfo.crnti); + if(ueCb->ueDrxInfoPres) + { + if(ueCb->drxUeCb.drxUlUeActiveStatus) + return RFAILED; + } +#endif ulSchedInfo.dataType |= SCH_DATATYPE_PUSCH; memcpy(&ulSchedInfo.schPuschInfo, schUlSlotInfo->schPuschInfo, sizeof(SchPuschInfo));