forked from acouzens/open5gs
clear source_ue link pointer after HO is finished
This commit is contained in:
parent
18a2a91bdd
commit
cbc8fba7f1
|
@ -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,
|
||||
|
|
|
@ -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,);
|
||||
|
||||
|
|
Loading…
Reference in New Issue