Commit 566deea2 authored by Robert Schmidt's avatar Robert Schmidt

Only transfer BCH PDU if SI/SIB not decoded

parent 3824b49f
...@@ -1677,6 +1677,7 @@ typedef struct { ...@@ -1677,6 +1677,7 @@ typedef struct {
/// after the reception of NFAPI_UL_CONFIG_ULSCH_PDU_TYPE. /// after the reception of NFAPI_UL_CONFIG_ULSCH_PDU_TYPE.
uint8_t first_ULSCH_Tx; uint8_t first_ULSCH_Tx;
uint8_t SI_Decoded; uint8_t SI_Decoded;
uint8_t SIB_Decoded;
int ra_frame; // This variable keeps the frame in which the RA started for the specific UE. It is used in order int ra_frame; // This variable keeps the frame in which the RA started for the specific UE. It is used in order
// to make sure that different UEs RA starts within a number of frames difference. // to make sure that different UEs RA starts within a number of frames difference.
......
...@@ -161,6 +161,7 @@ void ue_init_mac(module_id_t module_idP) { ...@@ -161,6 +161,7 @@ void ue_init_mac(module_id_t module_idP) {
UE_mac_inst[module_idP].UE_mode[0] = PRACH_INACTIVE; UE_mac_inst[module_idP].UE_mode[0] = PRACH_INACTIVE;
UE_mac_inst[module_idP].first_ULSCH_Tx =0; UE_mac_inst[module_idP].first_ULSCH_Tx =0;
UE_mac_inst[module_idP].SI_Decoded = 0; UE_mac_inst[module_idP].SI_Decoded = 0;
UE_mac_inst[module_idP].SIB_Decoded = 0;
next_ra_frame = 0; next_ra_frame = 0;
next_Mod_id = 0; next_Mod_id = 0;
tx_request_pdu_list = NULL; tx_request_pdu_list = NULL;
......
...@@ -116,7 +116,7 @@ mac_rrc_data_req_ue( ...@@ -116,7 +116,7 @@ mac_rrc_data_req_ue(
return(0); return(0);
} }
extern UE_MAC_INST *UE_mac_inst;
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
int8_t int8_t
mac_rrc_data_ind_ue( mac_rrc_data_ind_ue(
...@@ -168,7 +168,9 @@ mac_rrc_data_ind_ue( ...@@ -168,7 +168,9 @@ mac_rrc_data_ind_ue(
} }
} }
if(srb_idP == BCCH) { if(srb_idP == BCCH
&& (!UE_mac_inst[ctxt.instance].SI_Decoded
|| !UE_mac_inst[ctxt.instance].SIB_Decoded)) {
LOG_D(RRC,"[UE %d] Received SDU for BCCH on SRB %ld from eNB %d\n",module_idP,srb_idP,eNB_indexP); LOG_D(RRC,"[UE %d] Received SDU for BCCH on SRB %ld from eNB %d\n",module_idP,srb_idP,eNB_indexP);
{ {
MessageDef *message_p; MessageDef *message_p;
......
...@@ -2599,6 +2599,7 @@ int decode_BCCH_DLSCH_Message( ...@@ -2599,6 +2599,7 @@ int decode_BCCH_DLSCH_Message(
sizeof(LTE_SystemInformationBlockType1_t) ); sizeof(LTE_SystemInformationBlockType1_t) );
LOG_D( RRC, "[UE %"PRIu8"] Decoding First SIB1\n", ctxt_pP->module_id ); LOG_D( RRC, "[UE %"PRIu8"] Decoding First SIB1\n", ctxt_pP->module_id );
decode_SIB1( ctxt_pP, eNB_index, rsrq, rsrp ); decode_SIB1( ctxt_pP, eNB_index, rsrq, rsrp );
UE_mac_inst[ctxt_pP->module_id].SIB_Decoded = 1;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment