diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2021-02-03 18:25:27 +0100 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-02-09 15:42:01 +0000 |
commit | be7cecc7532acfc91d88d0a3f795d28377e64b10 (patch) | |
tree | 405e3df356f903a838871c9dc348d877b5d2d26c /src/gb/gprs_ns2.c | |
parent | 9811f498d46dcea5c44b09b827a0bf5749e4345c (diff) |
gprs_ns2_sns: rework tracking of NS-VC unblocked/alive state
The SNS must know when all NS-VC have failed. Further more
there might be a corner case when the SNS configuration succeeds but
no NS-VC comes up afterwards.
Related: OS#5355
Change-Id: Ie72da9adeefe0c2850d49a9208b2d0a4556f9101
Diffstat (limited to 'src/gb/gprs_ns2.c')
-rw-r--r-- | src/gb/gprs_ns2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index de27fb40..ca47934e 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -577,7 +577,7 @@ void gprs_ns2_free_nsvc(struct gprs_ns2_vc *nsvc) ns2_nse_notify_unblocked(nsvc, false); /* check if sns is using this VC */ - ns2_sns_free_nsvc(nsvc); + ns2_sns_replace_nsvc(nsvc); osmo_fsm_inst_term(nsvc->fi, OSMO_FSM_TERM_REQUEST, NULL); /* let the driver/bind clean up it's internal state */ @@ -1175,6 +1175,7 @@ void ns2_nse_notify_unblocked(struct gprs_ns2_vc *nsvc, bool unblocked) { struct gprs_ns2_nse *nse = nsvc->nse; + ns2_sns_notify_alive(nse, nsvc, unblocked); ns2_nse_data_sum(nse); if (unblocked == nse->alive) |