diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2017-04-19 15:27:58 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2017-04-19 15:27:58 +0700 |
commit | 716942df1d746efc1ce481cf0ac8c6ce278adc2e (patch) | |
tree | 018e2be98009a51ea7d10ba8534be90a5a2761dd | |
parent | 41d832a9a82a7dc7b899fb0859bce37a7df13a4d (diff) |
mobile/multi-imsi: handle Periodic Location Update
-rw-r--r-- | src/host/layer23/src/mobile/gsm48_mm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/host/layer23/src/mobile/gsm48_mm.c b/src/host/layer23/src/mobile/gsm48_mm.c index a29f4643..5ca42bd8 100644 --- a/src/host/layer23/src/mobile/gsm48_mm.c +++ b/src/host/layer23/src/mobile/gsm48_mm.c @@ -349,6 +349,8 @@ static void timeout_mm_t3211(void *arg) static void timeout_mm_t3212(void *arg) { struct gsm48_mmlayer *mm = arg; + struct gsm_subscriber_creds *creds_node; + struct gsm_settings *set = &mm->ms->settings; LOGP(DSUM, LOGL_INFO, "Periodic location update\n"); LOGP(DMM, LOGL_INFO, "timer T3212 (periodic loc. upd. delay) has " @@ -359,6 +361,10 @@ static void timeout_mm_t3212(void *arg) && mm->substate == GSM48_MM_SST_ATTEMPT_UPDATE) mm->lupd_attempt = 0; + // Trigger LU for multi-imsi too + llist_for_each_entry(creds_node, &set->multi_imsi_list, entry) + creds_node->online = 0; + gsm48_mm_ev(mm->ms, GSM48_MM_EVENT_TIMEOUT_T3212, NULL); } |