aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-01-28 16:21:05 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-03-05 22:04:39 +0100
commit4724c6a55a140bc12505f9778dc3975c2844e29c (patch)
tree3f2c6418a885ffae9a55975a1cefa8f2f20f56b4
parent02d4608b6b81d61869699cd4b8c5aa905aec21a5 (diff)
Terminate bsc_subscr_conn_fsm on SCCP N-DISC.ind from MSC
If the MSC is disconnecting the SCCP channel, we must terminate the FSM which in turn will release all lchan's and other state. This makes TC_chan_rel_hard_rlsd pass. As a side-effect, this fixes TC_chan_act_ack_est_ind_refused(), where the MSC is answering with CREF to our CR/COMPL_L3. Closes: OS#2731 Change-Id: I64a46b5bcd4272e3fa2ff4ee824c2f3fdff6854b
-rw-r--r--src/osmo-bsc/bsc_subscr_conn_fsm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c
index 8d18f81c1..e4c3adfe2 100644
--- a/src/osmo-bsc/bsc_subscr_conn_fsm.c
+++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c
@@ -351,6 +351,7 @@ static void gscon_fsm_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *d
/* MSC or SIGTRAN network has hard-released SCCP connection */
/* hard-release the lchan */
/* hard-release any MGCP state */
+ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL);
break;
case GSCON_EV_RLL_REL_IND:
/* BTS reports that one of the LAPDm data links was released */