diff --git a/common/utils/LOG/log.h b/common/utils/LOG/log.h index 52b3ef0df5..775c84512c 100644 --- a/common/utils/LOG/log.h +++ b/common/utils/LOG/log.h @@ -424,7 +424,7 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int # define LOG_E(COMPONENT, ...) do if (1) logMinimal(COMPONENT, 'E', __VA_ARGS__); while (0) # define LOG_W(COMPONENT, ...) do if (1) logMinimal(COMPONENT, 'W', __VA_ARGS__); while (0) # define LOG_A(COMPONENT, ...) do if (1) logMinimal(COMPONENT, 'A', __VA_ARGS__); while (0) /* logs intended for analysis */ -# define LOG_I(COMPONENT, ...) do if (0) logMinimal(COMPONENT, 'I', __VA_ARGS__); while (0) +# define LOG_I(COMPONENT, ...) do if (1) logMinimal(COMPONENT, 'I', __VA_ARGS__); while (0) # define LOG_D(COMPONENT, ...) do if (0) logMinimal(COMPONENT, 'D', __VA_ARGS__); while (0) # define LOG_T(COMPONENT, ...) do if (0) logMinimal(COMPONENT, 'T', __VA_ARGS__); while (0) diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c index a62b780349..4863e8c0b0 100644 --- a/executables/nr-softmodem.c +++ b/executables/nr-softmodem.c @@ -562,7 +562,10 @@ int stop_L1L2(module_id_t gnb_id) { oai_exit = 0; //free_transport(RC.gNB[gnb_id]); - phy_free_nr_gNB(RC.gNB[gnb_id]); + if (RC.gNB[gnb_id]) { + phy_free_nr_gNB(RC.gNB[gnb_id]); + RC.gNB[gnb_id] = NULL; + } nr_phy_free_RU(RC.ru[gnb_id]); @@ -880,8 +883,10 @@ if(!IS_SOFTMODEM_NOS1) * threads have been stopped (they partially use the same memory) */ for (int inst = 0; inst < NB_gNB_INST; inst++) { //free_transport(RC.gNB[inst]); - if (RC.gNB[inst]) + if (RC.gNB[inst]) { phy_free_nr_gNB(RC.gNB[inst]); + RC.gNB[inst] = NULL; + } } for (int inst = 0; inst < NB_RU; inst++) { diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 0f2257f8d4..f328ae8056 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -193,6 +193,7 @@ int create_tasks_nrue(uint32_t ue_nb) { } } if (ue_nb > 0 && get_softmodem_params()->nsa == 1) { + init_connections_with_lte_ue(); if (itti_create_task (TASK_RRC_NSA_NRUE, recv_msgs_from_lte_ue, NULL) < 0) { LOG_E(NR_RRC, "Create task for RRC NSA nr-UE failed\n"); return -1; diff --git a/openair2/RRC/NR_UE/rrc_proto.h b/openair2/RRC/NR_UE/rrc_proto.h index 43e4f25088..80dc4d158c 100644 --- a/openair2/RRC/NR_UE/rrc_proto.h +++ b/openair2/RRC/NR_UE/rrc_proto.h @@ -130,6 +130,8 @@ void *rrc_nrue_task(void *args_p); \param void *args_p Pointer on arguments to start the task. */ void *recv_msgs_from_lte_ue(void *args_p); +void init_connections_with_lte_ue(void); + /**\brief RRC UE generate RRCSetupRequest message. \param ctxt_pP protocol context \param gNB_index gNB index */ diff --git a/targets/COMMON/create_tasks_ue.c b/targets/COMMON/create_tasks_ue.c index 9239124813..50e316d620 100644 --- a/targets/COMMON/create_tasks_ue.c +++ b/targets/COMMON/create_tasks_ue.c @@ -66,6 +66,7 @@ int create_tasks_ue(uint32_t ue_nb) { LOG_E(RRC, "Create task for RRC UE failed\n"); return -1; } + if (get_softmodem_params()->nsa) { init_connections_with_nr_ue(); LOG_I(RRC, "Started LTE-NR link in the LTE UE\n");