From 31d6783d60dea25f90253e563904d2f9f71db675 Mon Sep 17 00:00:00 2001 From: Y_Tomita Date: Tue, 23 Oct 2018 15:23:11 +0900 Subject: [PATCH] Modify setting of new_sdu_p->data->inst to avoid unexpected setting in case of UE. --- openair2/LAYER2/PDCP_v10.1.0/pdcp.c | 4 +++- openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c index 3d6650a96f..b16b7ad062 100755 --- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c +++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c @@ -800,8 +800,10 @@ pdcp_data_ind( #endif } else { ((pdcp_data_ind_header_t*) new_sdu_p->data)->rb_id = rb_id + (ctxt_pP->module_id * maxDRB); + ((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id; } - ((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id; + // new_sdu_p->data->inst is set again in UE case so move to above. + //((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id; #ifdef DEBUG_PDCP_FIFO_FLUSH_SDU static uint32_t pdcp_inst = 0; diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c index 96a0ad26ce..3b0283525e 100755 --- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c +++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c @@ -168,7 +168,11 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const ctxt_pP) ((pdcp_data_ind_header_t*) sdu_p->data)->inst, ((pdcp_data_ind_header_t *) sdu_p->data)->data_size); #else - ((pdcp_data_ind_header_t *)(sdu_p->data))->inst = 0; + // value of sdu_p->data->inst is set in pdcp_data_ind + // it's necessary to set 1 in case of UE with S1. + if (ctxt_pP->enb_flag){ + ((pdcp_data_ind_header_t *)(sdu_p->data))->inst = 0; + } #endif #if defined(LINK_ENB_PDCP_TO_GTPV1U)