X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_harq_dl.c;h=b60ae93dced60e2072fca5b554d5f63d0f4fa285;hb=a6fdf00681f781fbccf7aa4bf95582f20e3039bb;hp=c5cebed368572c219aab47292201ebd5b3978f65;hpb=2c0a8253f51c046ed8f291e14e13cde42a43a109;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_harq_dl.c b/src/5gnrsch/sch_harq_dl.c index c5cebed36..b60ae93dc 100644 --- a/src/5gnrsch/sch_harq_dl.c +++ b/src/5gnrsch/sch_harq_dl.c @@ -26,6 +26,9 @@ #include "sch.h" #include "sch_utils.h" #include "cm_llist.h" +#ifdef NR_DRX +#include "sch_drx.h" +#endif SchMacDlReleaseHarqFunc schMacDlReleaseHarqOpts[] = { @@ -212,10 +215,13 @@ uint8_t schDlGetAvlHqProcess(SchCellCb *cellCb, SchUeCb *ueCb, SchDlHqProcCb **h **/ void schDlReleaseHqProcess(SchDlHqProcCb *hqP) { - cmLListDeleteLList(&hqP->dlLcPrbEst.dedLcList); - cmLListDeleteLList(&hqP->dlLcPrbEst.defLcList); - schDlHqDeleteFromInUseList(hqP); - schDlHqAddToFreeList(hqP); + if(hqP) + { + cmLListDeleteLList(&hqP->dlLcPrbEst.dedLcList); + cmLListDeleteLList(&hqP->dlLcPrbEst.defLcList); + schDlHqDeleteFromInUseList(hqP); + schDlHqAddToFreeList(hqP); + } } /******************************************************************* @@ -392,7 +398,16 @@ void schDlHqFeedbackUpdate(SchDlHqProcCb *hqP, uint8_t fdbk1, uint8_t fdbk2) else { schDlHqTbFail(hqP, tbIdx, FALSE); - addUeToBeScheduled(hqP->hqEnt->cell, hqP->hqEnt->ue->ueId); +#ifdef NR_DRX + if(hqP->hqEnt->ue->ueDrxInfoPres == true) + { + schDrxStrtDlHqRttTmr(hqP); + } + else +#endif + { + addUeToBeScheduled(hqP->hqEnt->cell, hqP->hqEnt->ue->ueId); + } } } }