gprs_ns2: remove the nsvc fsm timer when cleaning up the fsm
Change-Id: I9c7f767077ed2e354d0980a9f11246c1151c65e2
diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c
index d13f1ce..451437f 100644
--- a/src/gb/gprs_ns2_vc_fsm.c
+++ b/src/gb/gprs_ns2_vc_fsm.c
@@ -540,6 +540,14 @@
}
}
+static void gprs_ns2_vc_fsm_clean(struct osmo_fsm_inst *fi,
+ enum osmo_fsm_term_cause cause)
+{
+ struct gprs_ns2_vc_priv *priv = fi->priv;
+
+ osmo_timer_del(&priv->alive.timer);
+}
+
static struct osmo_fsm gprs_ns2_vc_fsm = {
.name = "GPRS-NS2-VC",
.states = gprs_ns2_vc_states,
@@ -549,7 +557,7 @@
S(GPRS_NS2_EV_ALIVE) |
S(GPRS_NS2_EV_ALIVE_ACK),
.allstate_action = gprs_ns2_vc_fsm_allstate_action,
- .cleanup = NULL,
+ .cleanup = gprs_ns2_vc_fsm_clean,
.timer_cb = gprs_ns2_vc_fsm_timer_cb,
/* .log_subsys = DNS, "is not constant" */
.event_names = gprs_ns2_vc_event_names,