gprs_ns2_vc: answer UNBLOCK on unblocked nsvc

48.016 7.2: says an UNBLOCK pdu should be answered with UNBLOCK_ACK on
already unblocked NSVC

Related: SYS#5208
Change-Id: Ic92e99b2607d1e54ecb4668667065502a55a2ce0
diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c
index d5f134e..78b0691 100644
--- a/src/gb/gprs_ns2_vc_fsm.c
+++ b/src/gb/gprs_ns2_vc_fsm.c
@@ -334,6 +334,9 @@
 	struct gprs_ns2_vc_priv *priv = fi->priv;
 
 	switch (event) {
+	case GPRS_NS2_EV_UNBLOCK:
+		ns2_tx_unblock_ack(priv->nsvc);
+		break;
 	case GPRS_NS2_EV_BLOCK:
 		priv->initiate_block = false;
 		ns2_tx_block_ack(priv->nsvc);
@@ -400,7 +403,8 @@
 		.onenter = gprs_ns2_st_blocked_onenter,
 	},
 	[GPRS_NS2_ST_UNBLOCKED] = {
-		.in_event_mask = S(GPRS_NS2_EV_BLOCK) | S(GPRS_NS2_EV_UNBLOCK_ACK),
+		.in_event_mask = S(GPRS_NS2_EV_BLOCK) | S(GPRS_NS2_EV_UNBLOCK_ACK) |
+				 S(GPRS_NS2_EV_UNBLOCK),
 		.out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_ALIVE) |
 				  S(GPRS_NS2_ST_BLOCKED) |
 				  S(GPRS_NS2_ST_UNCONFIGURED),