aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-01-28 16:45:32 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-03-05 22:04:39 +0100
commit282bbf6414242ce9c6ce29608ff8a3a1286441db (patch)
tree4ab22a63e9d1038e90d970211d3ec77d2be975af
parent4724c6a55a140bc12505f9778dc3975c2844e29c (diff)
Release subscriber connection on RLL RELEASE IND of SAPI0 on main DCCH
The subscriber connection isn't really useful for anything after the SAPI0 main signalling link has been released. We could try to re-establish, but our best option is probably simply releasing the subscriber_conn and anything related to it. This will make TC_chan_rel_rll_rel_ind pass. Closes: OS#2730 Change-Id: Ia8a49eaceb3a644d5de1c7e0934798ed04f0287e
-rw-r--r--src/libbsc/abis_rsl.c3
-rw-r--r--src/osmo-bsc/bsc_subscr_conn_fsm.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/libbsc/abis_rsl.c b/src/libbsc/abis_rsl.c
index eba428175..4734c6cef 100644
--- a/src/libbsc/abis_rsl.c
+++ b/src/libbsc/abis_rsl.c
@@ -2240,6 +2240,9 @@ static int abis_rsl_rx_rll(struct msgb *msg)
rll_indication(msg->lchan, rllh->link_id,
BSC_RLLR_IND_REL_IND);
rsl_handle_release(msg->lchan);
+ /* if it was the main signalling link, let the subscr_conn_fsm know */
+ if (sapi == 0 && (rllh->link_id >> 6) == 0)
+ osmo_fsm_inst_dispatch(msg->lchan->conn->fi, GSCON_EV_RLL_REL_IND, msg);
break;
case RSL_MT_REL_CONF:
/* BTS informs us of having received UA from MS,
diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c
index e4c3adfe2..b1754f08c 100644
--- a/src/osmo-bsc/bsc_subscr_conn_fsm.c
+++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c
@@ -356,6 +356,7 @@ static void gscon_fsm_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *d
case GSCON_EV_RLL_REL_IND:
/* BTS reports that one of the LAPDm data links was released */
/* send proper clear request to MSC */
+ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL);
break;
case GSCON_EV_RSL_CONN_FAIL:
LOGPFSM(fi, "Tx BSSMAP CLEAR REQUEST to MSC");