gprs_ns2_vc_fsm: ensure all state is resetted via force_unconf

Change-Id: I240225ce82fa27dfcb5b4b8e2981bb4d8cc4cd70
diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c
index 8a78e57..60c46e6 100644
--- a/src/gb/gprs_ns2_vc_fsm.c
+++ b/src/gb/gprs_ns2_vc_fsm.c
@@ -57,6 +57,7 @@
 	int N;
 	/* The initiator is responsible to UNBLOCK the VC. The BSS is usually the initiator.
 	 * It can change during runtime. The side which blocks an unblocked side.*/
+	bool initiator;
 	bool initiate_block;
 	bool initiate_reset;
 	/* if blocked by O&M/vty */
@@ -228,6 +229,9 @@
 	struct gprs_ns2_vc_priv *priv = fi->priv;
 	struct gprs_ns2_inst *nsi = priv->nsvc->nse->nsi;
 
+	priv->initiate_reset = priv->initiate_block = priv->initiator;
+	priv->om_blocked = false;
+
 	switch (event) {
 	case GPRS_NS2_EV_REQ_START:
 		switch (priv->nsvc->mode) {
@@ -690,8 +694,7 @@
 	nsvc->fi = fi;
 	priv = fi->priv = talloc_zero(fi, struct gprs_ns2_vc_priv);
 	priv->nsvc = nsvc;
-	priv->initiate_reset = initiator;
-	priv->initiate_block = initiator;
+	priv->initiator = initiator;
 
 	osmo_timer_setup(&priv->alive.timer, alive_timeout_handler, fi);