From 60a3af3e988e21ee5b0add29e1e4ff578a080389 Mon Sep 17 00:00:00 2001
From: "aikaterini.trilyraki" <aikaterini.trilyraki@eurecom.fr>
Date: Thu, 21 Jan 2016 13:49:56 +0100
Subject: [PATCH] perpetual scheduling turned on / extra logging in CCE
 allocation

---
 openair2/LAYER2/MAC/eNB_scheduler_primitives.c | 12 ++++++++++--
 openair2/LAYER2/MAC/eNB_scheduler_ulsch.c      |  2 +-
 openair2/RRC/LITE/rrc_eNB.c                    |  6 ++++--
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
index 829185d2a7..20b1f6d735 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
@@ -997,7 +997,7 @@ int allocate_CCEs(int module_idP,
   DCI_PDU *DCI_pdu = &eNB_mac_inst[module_idP].common_channels[CC_idP].DCI_pdu;
   int nCCE_max = mac_xface->get_nCCE_max(module_idP,CC_idP,DCI_pdu->num_pdcch_symbols,subframeP);
   int fCCE;
-  int i;
+  int i,j;
   int allocation_is_feasible = 1;
   DCI_ALLOC_t *dci_alloc;
 
@@ -1046,7 +1046,15 @@ int allocate_CCEs(int module_idP,
 	    allocation_is_feasible = 0;
 	    LOG_I(MAC,"subframe %d: Dropping Allocation for RNTI %x\n",
 		  subframeP,dci_alloc->rnti);
-
+	    for (j=0;j<=i;j++){
+	     
+	      LOG_I(MAC,"DCI %d/%d (%d,%d) : rnti %x dci format %d, aggreg %d nCCE %d / %d (num_pdcch_symbols %d)\n",
+		    i,DCI_pdu->Num_common_dci+DCI_pdu->Num_ue_spec_dci,
+		    DCI_pdu->Num_common_dci,DCI_pdu->Num_ue_spec_dci,
+		    DCI_pdu->dci_alloc[j].rnti,DCI_pdu->dci_alloc[j].format,
+		    1<<DCI_pdu->dci_alloc[j].L,
+		    DCI_pdu->nCCE,nCCE_max,DCI_pdu->num_pdcch_symbols);
+	    }
 	  }
 	  else {
 	    DCI_pdu->num_pdcch_symbols++;
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index b3a4319b6b..493ff11d33 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -760,7 +760,7 @@ void schedule_ulsch_rnti(module_id_t   module_idP,
           LOG_T(MAC,"[eNB %d] Frame %d, subframeP %d, UE %d CC %d : got harq pid %d  round %d (rnti %x,mode %s)\n",
                 module_idP,frameP,subframeP,UE_id,CC_id, harq_pid, round,rnti,mode_string[eNB_UE_stats->mode]);
 
-#undef EXMIMO_IOT
+	//#undef EXMIMO_IOT
 #ifndef EXMIMO_IOT
 
         if (((UE_is_to_be_scheduled(module_idP,CC_id,UE_id)>0)) || (round>0) || ((frameP%10)==0))
diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c
index 96fc8a4b8f..1d0b5f2902 100644
--- a/openair2/RRC/LITE/rrc_eNB.c
+++ b/openair2/RRC/LITE/rrc_eNB.c
@@ -3700,7 +3700,8 @@ rrc_eNB_decode_ccch(
              * the current one must be removed from MAC/PHY (zombie UE)
              */
             if ((ue_context_p = rrc_eNB_ue_context_random_exist(ctxt_pP, random_value))) {
-              AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
+#warning "TODO: random_exist: remove UE from MAC/PHY (how?)"
+	      //              AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
               ue_context_p = NULL;
             } else {
               ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, random_value);
@@ -3712,7 +3713,8 @@ rrc_eNB_decode_ccch(
             m_tmsi_t   m_tmsi   = BIT_STRING_to_uint32(&s_TMSI.m_TMSI);
             random_value = (((uint64_t)mme_code) << 32) | m_tmsi;
             if ((ue_context_p = rrc_eNB_ue_context_stmsi_exist(ctxt_pP, mme_code, m_tmsi))) {
-              AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
+#warning "TODO: stmsi_exist: remove UE from MAC/PHY (how?)"
+	      //   AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
               ue_context_p = NULL;
             } else {
               ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, NOT_A_RANDOM_UE_IDENTITY);
-- 
2.26.2