#include "sch.h"
#include "sch_utils.h"
#include "cm_llist.h"
+#ifdef NR_DRX
+#include "sch_drx.h"
+#endif
SchMacDlReleaseHarqFunc schMacDlReleaseHarqOpts[] =
{
**/
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);
+ }
}
/*******************************************************************
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);
+ }
}
}
}