From 4933c7ee24085d540d37753d5974be9078fdbdce Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Sat, 14 Jan 2023 10:34:21 +0900 Subject: [PATCH] More follow-up on #1911 --- src/mme/mme-context.h | 2 +- src/mme/mme-s11-handler.c | 2 +- src/mme/mme-sm.c | 3 ++- src/mme/s1ap-handler.c | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mme/mme-context.h b/src/mme/mme-context.h index 22ec783bd..8e98e8413 100644 --- a/src/mme/mme-context.h +++ b/src/mme/mme-context.h @@ -396,7 +396,7 @@ struct mme_ue_s { int security_context_available; int mac_failed; - bool update_location_answer_received; + bool location_updated_but_not_canceled_yet; /* Security Context */ ogs_nas_ue_network_capability_t ue_network_capability; diff --git a/src/mme/mme-s11-handler.c b/src/mme/mme-s11-handler.c index bfa995417..50e784012 100644 --- a/src/mme/mme-s11-handler.c +++ b/src/mme/mme-s11-handler.c @@ -623,7 +623,7 @@ void mme_s11_handle_delete_session_response( } else if (action == OGS_GTP_DELETE_SEND_RELEASE_WITH_UE_CONTEXT_REMOVE) { if (mme_sess_count(mme_ue) == 1) /* Last Session */ { if (ECM_IDLE(mme_ue)) { - if (mme_ue->update_location_answer_received == true) { + if (mme_ue->location_updated_but_not_canceled_yet == true) { mme_s6a_send_pur(mme_ue); } else { mme_ue_hash_remove(mme_ue); diff --git a/src/mme/mme-sm.c b/src/mme/mme-sm.c index a4a9d41ed..caa19ab47 100644 --- a/src/mme/mme-sm.c +++ b/src/mme/mme-sm.c @@ -439,12 +439,13 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e) S1AP_UE_CTX_REL_UE_CONTEXT_REMOVE, 0)); } - mme_ue->update_location_answer_received = true; + mme_ue->location_updated_but_not_canceled_yet = true; break; case OGS_DIAM_S6A_CMD_CODE_PURGE_UE: mme_s6a_handle_pua(mme_ue, s6a_message); break; case OGS_DIAM_S6A_CMD_CODE_CANCEL_LOCATION: + mme_ue->location_updated_but_not_canceled_yet = false; mme_s6a_handle_clr(mme_ue, s6a_message); break; case OGS_DIAM_S6A_CMD_CODE_INSERT_SUBSCRIBER_DATA: diff --git a/src/mme/s1ap-handler.c b/src/mme/s1ap-handler.c index 52c50fbe9..bbe57c4ad 100644 --- a/src/mme/s1ap-handler.c +++ b/src/mme/s1ap-handler.c @@ -1485,7 +1485,7 @@ void s1ap_handle_ue_context_release_action(enb_ue_t *enb_ue) enb_ue_remove(enb_ue); ogs_expect_or_return(mme_ue); - if (mme_ue->update_location_answer_received == true) { + if (mme_ue->location_updated_but_not_canceled_yet == true) { mme_s6a_send_pur(mme_ue); } else { mme_ue_hash_remove(mme_ue);