From 1b69c2a00dfa53ffd8e130bfa671eb1347816164 Mon Sep 17 00:00:00 2001 From: Masayuki Harada <masayuki.harada@jp.fujitsu.com> Date: Tue, 8 Jun 2021 15:32:12 +0900 Subject: [PATCH] Remove pdcp_layer_init_for_CU function and merge to pdcp_layer_init. --- executables/nr-softmodem.c | 1 - openair2/GNB_APP/gnb_app.c | 4 +--- openair2/GNB_APP/gnb_config.c | 2 +- openair2/LAYER2/nr_pdcp/nr_pdcp.h | 1 - openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c | 19 +++---------------- 5 files changed, 5 insertions(+), 22 deletions(-) diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c index 7fb9f8b19f9..929aeb672a3 100644 --- a/executables/nr-softmodem.c +++ b/executables/nr-softmodem.c @@ -625,7 +625,6 @@ static void wait_nfapi_init(char *thread_name) { void init_pdcp(void) { if (!NODE_IS_DU(RC.nrrrc[0]->node_type)) { // pdcp_layer_init(); - // pdcp_layer_init_for_CU(); uint32_t pdcp_initmask = (IS_SOFTMODEM_NOS1) ? (PDCP_USE_NETLINK_BIT | LINK_ENB_PDCP_TO_IP_DRIVER_BIT) : LINK_ENB_PDCP_TO_GTPV1U_BIT; if (IS_SOFTMODEM_NOS1) { diff --git a/openair2/GNB_APP/gnb_app.c b/openair2/GNB_APP/gnb_app.c index 149dde9d739..83869f25917 100644 --- a/openair2/GNB_APP/gnb_app.c +++ b/openair2/GNB_APP/gnb_app.c @@ -135,8 +135,7 @@ static uint32_t gNB_app_register_x2(uint32_t gnb_id_start, uint32_t gnb_id_end) static void init_pdcp(void) { if (!NODE_IS_DU(RC.nrrrc[0]->node_type)) { - // pdcp_layer_init(); - // pdcp_layer_init_for_CU(); + pdcp_layer_init(); uint32_t pdcp_initmask = (IS_SOFTMODEM_NOS1) ? (PDCP_USE_NETLINK_BIT | LINK_ENB_PDCP_TO_IP_DRIVER_BIT) : LINK_ENB_PDCP_TO_GTPV1U_BIT; if (IS_SOFTMODEM_NOS1) { @@ -226,7 +225,6 @@ void *gNB_app_task(void *args_p) LOG_E(F1AP, "Create task for F1AP CU failed\n"); AssertFatal(1==0,"exiting"); } - pdcp_layer_init_for_CU(); } if (NODE_IS_DU(RC.nrrrc[0]->node_type)) { diff --git a/openair2/GNB_APP/gnb_config.c b/openair2/GNB_APP/gnb_config.c index a07261493b8..456d7cd6de5 100644 --- a/openair2/GNB_APP/gnb_config.c +++ b/openair2/GNB_APP/gnb_config.c @@ -2086,7 +2086,7 @@ void nr_read_config_and_init(void) { } if (NODE_IS_CU(RC.nrrrc[0]->node_type)) { - pdcp_layer_init_for_CU(); + pdcp_layer_init(); // nr_DRB_preconfiguration(0x1234); rrc_init_nr_global_param(); } diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp.h b/openair2/LAYER2/nr_pdcp/nr_pdcp.h index a5f182c822a..94939a04217 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp.h @@ -24,7 +24,6 @@ #ifndef _NR_PDCP_H_ #define _NR_PDCP_H_ -void pdcp_layer_init_for_CU(void); void nr_pdcp_layer_init_ue(void); void nr_DRB_preconfiguration(uint16_t crnti); diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c index 7853a4b2bd8..8278a494bef 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c @@ -369,25 +369,12 @@ void pdcp_layer_init(void) if (pthread_mutex_unlock(&m) != 0) abort(); nr_pdcp_ue_manager = new_nr_pdcp_ue_manager(1); - init_nr_rlc_data_req_queue(); - nr_pdcp_init_timer_thread(nr_pdcp_ue_manager); -} - -void pdcp_layer_init_for_CU(void) -{ - /* hack: be sure to initialize only once */ - static pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; - static int initialized = 0; - if (pthread_mutex_lock(&m) != 0) abort(); - if (initialized) { - if (pthread_mutex_unlock(&m) != 0) abort(); - return; + if ((RC.nrrrc == NULL) || (!NODE_IS_CU(RC.nrrrc[0]->node_type))) { + init_nr_rlc_data_req_queue(); } - initialized = 1; - if (pthread_mutex_unlock(&m) != 0) abort(); - nr_pdcp_ue_manager = new_nr_pdcp_ue_manager(1); + nr_pdcp_init_timer_thread(nr_pdcp_ue_manager); } #include "nfapi/oai_integration/vendor_ext.h" -- GitLab