/* Init the HARQ data structure */
if (rgSCHUtlAllocSBuf(inst, (Data **)&hqE, sizeof(RgSchDlHqEnt)) != ROK)
{
/* Init the HARQ data structure */
if (rgSCHUtlAllocSBuf(inst, (Data **)&hqE, sizeof(RgSchDlHqEnt)) != ROK)
{
/* GRPPWR_CNTRL Fix: UE context will not hold a valid hqE,
* until RACH procedure is completed */
if ((hqE == NULLP) || (hqE->inUse.last == NULLP))
/* GRPPWR_CNTRL Fix: UE context will not hold a valid hqE,
* until RACH procedure is completed */
if ((hqE == NULLP) || (hqE->inUse.last == NULLP))
hqE = ueCb->cellInfo[0]->hqEnt;
CM_LLIST_FIRST_NODE(&(hqE->free), tmp);
if (NULLP == tmp)
hqE = ueCb->cellInfo[0]->hqEnt;
CM_LLIST_FIRST_NODE(&(hqE->free), tmp);
if (NULLP == tmp)
hqE = RG_SCH_CMN_GET_UE_HQE(ue, cell);
/* Pick the proc based on the index provided */
hqE = RG_SCH_CMN_GET_UE_HQE(ue, cell);
/* Pick the proc based on the index provided */
hqE = RG_SCH_CMN_GET_UE_HQE(ue, cell);
CM_LLIST_FIRST_NODE(&(hqE->free), tmp);
hqE = RG_SCH_CMN_GET_UE_HQE(ue, cell);
CM_LLIST_FIRST_NODE(&(hqE->free), tmp);
ueCb->dl.taCb.state = RGSCH_TA_SCHEDULED;
ueCb->dl.taCb.numRemSf = 2;
tbInfo->schdTa.pres = PRSNT_NODEF;
ueCb->dl.taCb.state = RGSCH_TA_SCHEDULED;
ueCb->dl.taCb.numRemSf = 2;
tbInfo->schdTa.pres = PRSNT_NODEF;
RGSCHDECRFRMCRNTTIME(timingInfo, timingInfo, 4);
sf = rgSCHUtlSubFrmGet(cell, timingInfo);
RGSCHDECRFRMCRNTTIME(timingInfo, timingInfo, 4);
sf = rgSCHUtlSubFrmGet(cell, timingInfo);
/* Get the subframe associated with the feedback */
/* ccpu00133109: Removed RGSCHSUBFRMCRNTTIME as it is not giving proper output
* if diff is more than 10. Instead using RGSCHDECRFRMCRNTTIME() as it is
/* Get the subframe associated with the feedback */
/* ccpu00133109: Removed RGSCHSUBFRMCRNTTIME as it is not giving proper output
* if diff is more than 10. Instead using RGSCHDECRFRMCRNTTIME() as it is
/* Ask scheduler to schedule this UE */
ueCb->dl.taCb.state = RGSCH_TA_TOBE_SCHEDULED;
rgSCHUtlDlTARpt(ueCb->cell, ueCb);
/* Ask scheduler to schedule this UE */
ueCb->dl.taCb.state = RGSCH_TA_TOBE_SCHEDULED;
rgSCHUtlDlTARpt(ueCb->cell, ueCb);
/* Fetch the current timing info. Modify it to Last sf to be rlsd.*/
/* ccpu00133109: Removed RGSCHSUBFRMCRNTTIME as it is not giving proper
* output if diff is more than 10. Instead using RGSCHDECRFRMCRNTTIME()
/* Fetch the current timing info. Modify it to Last sf to be rlsd.*/
/* ccpu00133109: Removed RGSCHSUBFRMCRNTTIME as it is not giving proper
* output if diff is more than 10. Instead using RGSCHDECRFRMCRNTTIME()
/* Pick the proc based on the index provided */
rgSCHDhmGetHqProcFrmId(ue->cell, ue, idx, &hqP);
/* Pick the proc based on the index provided */
rgSCHDhmGetHqProcFrmId(ue->cell, ue, idx, &hqP);
/* Check if this is repeating UE */
rgSCHUtlDlHqPTbRmvFrmTx(sf, hqP, tbCnt, TRUE);
/* Check if last repetition */
/* Check if this is repeating UE */
rgSCHUtlDlHqPTbRmvFrmTx(sf, hqP, tbCnt, TRUE);
/* Check if last repetition */