From c5cd47f976ac4ed724b39f2b46e5e70aa053c307 Mon Sep 17 00:00:00 2001
From: Wang Tsu-Han <wangts@eurecom.fr>
Date: Wed, 12 Sep 2018 15:32:44 +0200
Subject: [PATCH] fixes for not having parallel config inside the config file

---
 openair2/ENB_APP/enb_config.c | 16 +++++++++++++---
 targets/RT/USER/lte-enb.c     |  2 +-
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index 2e82cf7a7e..bbe3ca5c2c 100644
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -2493,10 +2493,20 @@ int RCconfig_parallel(void)
 
   paramdef_t ThreadParams[]  = THREAD_CONF_DESC;
   paramlist_def_t THREADParamList = {THREAD_CONFIG_STRING_THREAD_STRUCT,NULL,0};
+  
+  config_getlist( &THREADParamList,NULL,0,NULL);
 
-  config_getlist( &THREADParamList,ThreadParams,sizeof(ThreadParams)/sizeof(paramdef_t),NULL);
-  parallel_conf = strdup(*(THREADParamList.paramarray[0][THREAD_PARALLEL_IDX].strptr));
-  worker_conf   = strdup(*(THREADParamList.paramarray[0][THREAD_PARALLEL_IDX].strptr));
+  if(THREADParamList.numelt>0)
+  {
+    config_getlist( &THREADParamList,ThreadParams,sizeof(ThreadParams)/sizeof(paramdef_t),NULL);
+    parallel_conf = strdup(*(THREADParamList.paramarray[0][THREAD_PARALLEL_IDX].strptr));
+    worker_conf   = strdup(*(THREADParamList.paramarray[0][THREAD_PARALLEL_IDX].strptr));
+  }
+  else
+  {
+    parallel_conf = "PARALLEL_RU_L1_TRX_SPLIT";
+    worker_conf   = "WORKER_ENABLE";
+  }
 
   if(strcmp(parallel_conf,"PARALLEL_SINGLE_THREAD")==0)           set_parallel_conf(0);
   else if(strcmp(parallel_conf,"PARALLEL_RU_L1_SPLIT")==0)        set_parallel_conf(1);
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index fdabc62aab..b51495c43f 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -1030,7 +1030,7 @@ void kill_eNB_proc(int inst) {
     proc = &eNB->proc;
     proc_rxtx = &proc->proc_rxtx[0];
 
-    if(get_thread_worker_conf == WORKER_ENABLE) {
+    if(get_thread_worker_conf() == WORKER_ENABLE) {
       kill_td_thread(eNB);
       kill_te_thread(eNB);
     }
-- 
GitLab