aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libvlr/vlr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 5610cfb53..625b69983 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -519,8 +519,15 @@ void vlr_subscr_expire_lu(void *data)
{
struct vlr_instance *vlr = data;
struct vlr_subscr *vsub, *vsub_tmp;
+ struct gsm_network *net;
struct timespec now;
+ /* Periodic location update might be disabled from the VTY,
+ * so we shall not expire subscribers until explicit IMSI Detach. */
+ net = vlr->user_ctx; /* XXX move t3212 into struct vlr_instance? */
+ if (!net->t3212)
+ goto done;
+
if (llist_empty(&vlr->subscribers))
goto done;