From 0928f049bb9e73fda2bec6376dc678c56d81d613 Mon Sep 17 00:00:00 2001 From: jftt_wangshanshan <wang.shanshan@cn.fujitsu.com> Date: Wed, 9 May 2018 18:22:22 +0800 Subject: [PATCH] Fix cqi_req_flag, to prevent continously schedule cqi after set it to 1 and before actually receive it at the right subframe. --- openair1/SCHED/phy_procedures_lte_eNb.c | 5 +++-- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 1251463ef4..45ebc0b078 100644 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1447,9 +1447,10 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) fill_ulsch_cqi_indication(eNB,frame,subframe, ulsch_harq, ulsch->rnti); - RC.mac[eNB->Mod_id]->UE_list.UE_sched_ctrl[i].cqi_req_flag = 0; + RC.mac[eNB->Mod_id]->UE_list.UE_sched_ctrl[i].cqi_req_flag &= (~(1 << subframe)); }else{ - if(RC.mac[eNB->Mod_id]->UE_list.UE_sched_ctrl[i].cqi_req_flag==1){ + if(RC.mac[eNB->Mod_id]->UE_list.UE_sched_ctrl[i].cqi_req_flag & (1 << subframe) ){ + RC.mac[eNB->Mod_id]->UE_list.UE_sched_ctrl[i].cqi_req_flag &= (~(1 << subframe)); RC.mac[eNB->Mod_id]->UE_list.UE_sched_ctrl[i].cqi_req_timer=30; LOG_D(PHY,"RM804 Frame %d,Subframe %d, We're supposed to get a cqi here. Set cqi_req_timer to 30.\n",frame,subframe); } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index 0f7572a863..1eb3070c0f 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -1324,6 +1324,7 @@ schedule_ulsch_rnti(module_id_t module_idP, cqi_req = 0; } else { cqi_req = 1; + UE_sched_ctrl->cqi_req_flag |= 1 << sched_subframeP; } UE_sched_ctrl->cqi_req_timer = 0; } else @@ -1857,7 +1858,7 @@ void schedule_ulsch_rnti(module_id_t module_idP, else if (UE_sched_ctrl->cqi_req_timer>30) { cqi_req = 1; UE_sched_ctrl->cqi_req_timer=0; - UE_sched_ctrl->cqi_req_flag=1; + UE_sched_ctrl->cqi_req_flag |= 1 << sched_subframeP; } else cqi_req = 0; -- GitLab