From a6be54a6f45d81d6a041c2e0e2d47a59d821421b Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 24 Jun 2019 17:54:38 +0200 Subject: [PATCH] Fix: X2 Setup Req/Resp: first check, then increase number of cells --- openair2/RRC/LTE/rrc_eNB.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c index c4979051af..f9831490e7 100644 --- a/openair2/RRC/LTE/rrc_eNB.c +++ b/openair2/RRC/LTE/rrc_eNB.c @@ -4592,9 +4592,6 @@ rrc_eNB_generate_HandoverPreparationInformation( } void rrc_eNB_process_x2_setup_request(int mod_id, x2ap_setup_req_t *m) { - - RC.rrc[mod_id]->num_neigh_cells ++; - if (RC.rrc[mod_id]->num_neigh_cells > MAX_NUM_NEIGH_CELLs) { LOG_E(RRC, "Error: number of neighbouring cells is exceeded \n"); return; @@ -4605,18 +4602,14 @@ void rrc_eNB_process_x2_setup_request(int mod_id, x2ap_setup_req_t *m) { return; } + RC.rrc[mod_id]->num_neigh_cells++; RC.rrc[mod_id]->num_neigh_cells_cc[RC.rrc[mod_id]->num_neigh_cells-1] = m->num_cc; - for (int i=0; inum_cc; i++) { RC.rrc[mod_id]->neigh_cells_id[RC.rrc[mod_id]->num_neigh_cells-1][i] = m->Nid_cell[i]; } - } void rrc_eNB_process_x2_setup_response(int mod_id, x2ap_setup_resp_t *m) { - - RC.rrc[mod_id]->num_neigh_cells ++; - if (RC.rrc[mod_id]->num_neigh_cells > MAX_NUM_NEIGH_CELLs) { LOG_E(RRC, "Error: number of neighbouring cells is exceeded \n"); return; @@ -4627,12 +4620,11 @@ void rrc_eNB_process_x2_setup_response(int mod_id, x2ap_setup_resp_t *m) { return; } + RC.rrc[mod_id]->num_neigh_cells++; RC.rrc[mod_id]->num_neigh_cells_cc[RC.rrc[mod_id]->num_neigh_cells-1] = m->num_cc; - for (int i=0; inum_cc; i++) { RC.rrc[mod_id]->neigh_cells_id[RC.rrc[mod_id]->num_neigh_cells-1][i] = m->Nid_cell[i]; } - } void rrc_eNB_process_handoverPreparationInformation(int mod_id, x2ap_handover_req_t *m) {