From bb5ba8b7dfe5b61c3905c4cbcae056a3ee47181a Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Wed, 17 Apr 2019 10:06:39 +0200 Subject: vlr_sgs_fsm: make sure vsub is marked used when LA is present When the LU is accepted and the subscriber (vsub) is not claimed as "in use" in the ref counting system. - Make sure vlr_subscr_get() is called when the LU is accepted. Change-Id: Iba90be095569cc5212c61ab8e8a9bfd4ae51fd44 Related OS#3934 --- src/libvlr/vlr_sgs_fsm.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libvlr/vlr_sgs_fsm.c b/src/libvlr/vlr_sgs_fsm.c index ee1d74804..a25d41c3b 100644 --- a/src/libvlr/vlr_sgs_fsm.c +++ b/src/libvlr/vlr_sgs_fsm.c @@ -128,7 +128,13 @@ static void sgs_ue_fsm_lau_present(struct osmo_fsm_inst *fi, uint32_t event, voi vsub->loc_conf_in_hlr_ind = true; vsub->la_allowed = true; vsub->imsi_detached_flag = false; - vsub->lu_complete = true; + + if (!vsub->lu_complete) { + vsub->lu_complete = true; + /* Balanced by vlr_subscr_expire() */ + vlr_subscr_get(vsub, VSUB_USE_ATTACHED); + } + vlr_sgs_fsm_update_id(vsub); vsub->cs.attached_via_ran = OSMO_RAT_EUTRAN_SGS; -- cgit v1.2.3