clear source_ue link pointer after HO is finished

This commit is contained in:
Sukchan Lee 2017-09-14 19:33:58 +09:00
parent 18a2a91bdd
commit cbc8fba7f1
2 changed files with 12 additions and 1 deletions

View File

@ -1046,9 +1046,15 @@ unsigned int enb_ue_count()
status_t enb_ue_remove(enb_ue_t *enb_ue)
{
enb_ue_t *target_ue = NULL;
d_assert(self.mme_ue_s1ap_id_hash, return CORE_ERROR, "Null param");
d_assert(enb_ue, return CORE_ERROR, "Null param");
d_assert(enb_ue->enb, return CORE_ERROR, "Null param");
target_ue = enb_ue->target_ue;
if (target_ue)
target_ue->source_ue = NULL;
list_remove(&enb_ue->enb->enb_ue_list, enb_ue);
hash_set(self.mme_ue_s1ap_id_hash, &enb_ue->mme_ue_s1ap_id,

View File

@ -433,9 +433,11 @@ status_t s1ap_send_handover_request(
c_uint32_t enb_id;
mme_enb_t *target_enb = NULL;
enb_ue_t *target_ue = NULL;
enb_ue_t *source_ue = NULL, *target_ue = NULL;
d_assert(mme_ue, return CORE_ERROR,);
source_ue = mme_ue->enb_ue;
d_assert(source_ue, return CORE_ERROR,);
d_assert(ies, return CORE_ERROR,);
targetID = &ies->targetID;
@ -461,6 +463,9 @@ status_t s1ap_send_handover_request(
d_assert(target_enb, return CORE_ERROR,
"Cannot find target eNB = %d", enb_id);
d_assert(source_ue->target_ue == NULL, return CORE_ERROR,
"Handover Required Duplicated");
target_ue = enb_ue_add(target_enb);
d_assert(target_ue, return CORE_ERROR,);