Commit 79eb2d70 authored by wujing's avatar wujing Committed by Haruki NAOI

Fix: skip c-rnti and reestablishment before first attach is completed.

parent c94700c7
...@@ -460,7 +460,7 @@ rx_sdu(const module_id_t enb_mod_idP, ...@@ -460,7 +460,7 @@ rx_sdu(const module_id_t enb_mod_idP,
if (RA_id != -1) { if (RA_id != -1) {
RA_t *ra = &(mac->common_channels[CC_idP].ra[RA_id]); RA_t *ra = &(mac->common_channels[CC_idP].ra[RA_id]);
mac_rrc_data_ind(enb_mod_idP, int8_t ret = mac_rrc_data_ind(enb_mod_idP,
CC_idP, CC_idP,
frameP, subframeP, frameP, subframeP,
UE_id, UE_id,
...@@ -473,6 +473,7 @@ rx_sdu(const module_id_t enb_mod_idP, ...@@ -473,6 +473,7 @@ rx_sdu(const module_id_t enb_mod_idP,
,ra->rach_resource_type > 0 ,ra->rach_resource_type > 0
#endif #endif
); );
if (ret == 0) {
/* Received a new rnti */ /* Received a new rnti */
ra->state = MSGCRNTI; ra->state = MSGCRNTI;
LOG_I(MAC, "[eNB %d] Frame %d, Subframe %d CC_id %d : (rnti %x UE_id %d) Received rnti(Msg4)\n", LOG_I(MAC, "[eNB %d] Frame %d, Subframe %d CC_id %d : (rnti %x UE_id %d) Received rnti(Msg4)\n",
...@@ -502,6 +503,9 @@ rx_sdu(const module_id_t enb_mod_idP, ...@@ -502,6 +503,9 @@ rx_sdu(const module_id_t enb_mod_idP,
} }
UE_template_ptr->ul_SR = 1; UE_template_ptr->ul_SR = 1;
UE_scheduling_control->crnti_reconfigurationcomplete_flag = 1; UE_scheduling_control->crnti_reconfigurationcomplete_flag = 1;
} else {
cancel_ra_proc(enb_mod_idP, CC_idP, frameP,current_rnti);
}
// break; // break;
} }
} }
......
...@@ -309,6 +309,10 @@ mac_rrc_data_ind( ...@@ -309,6 +309,10 @@ mac_rrc_data_ind(
ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt.module_id],rntiP); ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt.module_id],rntiP);
if(ue_context_p) { if(ue_context_p) {
if (ue_context_p->ue_context.Status != RRC_RECONFIGURED) {
LOG_E(RRC,"[eNB %d] Received C-RNTI ,but UE %x status(%d) not RRC_RECONFIGURED\n",module_idP,rntiP,ue_context_p->ue_context.Status);
return (-1);
} else {
rrc_eNB_generate_defaultRRCConnectionReconfiguration(&ctxt, rrc_eNB_generate_defaultRRCConnectionReconfiguration(&ctxt,
ue_context_p, ue_context_p,
0); 0);
......
...@@ -7038,6 +7038,7 @@ rrc_eNB_decode_ccch( ...@@ -7038,6 +7038,7 @@ rrc_eNB_decode_ccch(
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP)); PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl[UE_id].ue_reestablishment_reject_timer = 1000; RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl[UE_id].ue_reestablishment_reject_timer = 1000;
rrc_eNB_previous_SRB2(ue_context_p); rrc_eNB_previous_SRB2(ue_context_p);
ue_context_p->ue_context.ue_reestablishment_timer = 0;
} }
//previous rnti //previous rnti
rnti_t previous_rnti = 0; rnti_t previous_rnti = 0;
...@@ -7063,8 +7064,18 @@ rrc_eNB_decode_ccch( ...@@ -7063,8 +7064,18 @@ rrc_eNB_decode_ccch(
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP)); PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl[UE_id].ue_reestablishment_reject_timer = 1000; RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl[UE_id].ue_reestablishment_reject_timer = 1000;
rrc_eNB_previous_SRB2(ue_context_p); rrc_eNB_previous_SRB2(ue_context_p);
ue_context_p->ue_context.ue_reestablishment_timer = 0;
} }
} }
//c-plane not end
if((ue_context_p->ue_context.Status != RRC_RECONFIGURED) && (ue_context_p->ue_context.reestablishment_cause == ReestablishmentCause_spare1)) {
LOG_E(RRC,
PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentRequest (UE %x c-plane is not end), let's reject the UE\n",
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),c_rnti);
rrc_eNB_generate_RRCConnectionReestablishmentReject(ctxt_pP, ue_context_p, CC_id);
break;
}
if(ue_context_p->ue_context.ue_reestablishment_timer > 0) { if(ue_context_p->ue_context.ue_reestablishment_timer > 0) {
LOG_E(RRC, LOG_E(RRC,
......
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