aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2019-04-17 10:06:39 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2019-04-17 12:50:07 +0200
commitbb5ba8b7dfe5b61c3905c4cbcae056a3ee47181a (patch)
tree6376e3013317203abdab279f8aeb209f7811a18f
parenta45e7458e3d791ec7a195144b20d471cafe3b6b2 (diff)
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
-rw-r--r--src/libvlr/vlr_sgs_fsm.c8
1 files changed, 7 insertions, 1 deletions
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;