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,