From 5a8a25e607b939804fc82425f36ed9bf8658024b Mon Sep 17 00:00:00 2001
From: Raymond Knopp <raymond.knopp@eurecom.fr>
Date: Fri, 22 Aug 2014 07:58:32 +0000
Subject: [PATCH] git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5745
 818b1a75-f10b-46b9-bf7c-635c3b92a50f

---
 openair2/LAYER2/MAC/eNB_scheduler.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 4d45e056f7..1210456fd8 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -96,7 +96,8 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
   int           result;
 #endif
   DCI_PDU *DCI_pdu[MAX_NUM_CCs];
-  int CC_id;
+  int CC_id,i;
+  UE_list_t *UE_list=&eNB_mac_inst[module_idP].UE_list;
 
   LOG_D(MAC,"[eNB %d] Frame %d, Subframe %d, entering MAC scheduler\n",module_idP, frameP, subframeP);
 
@@ -195,6 +196,11 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
     }
   }
 #endif
+  // refresh UE list based on UEs dropped by PHY in previous subframe
+  for (i=UE_list->head;i>0;i=UE_list->next[i])
+    if (mac_xface->get_eNB_UE_stats(module_idP,0,UE_RNTI(module_idP,i))==NULL)
+      mac_remove_ue(module_idP,i);
+
 
   switch (subframeP) {
   case 0:
-- 
GitLab