From 282bbf6414242ce9c6ce29608ff8a3a1286441db Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 28 Jan 2018 16:45:32 +0100 Subject: 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 --- src/libbsc/abis_rsl.c | 3 +++ src/osmo-bsc/bsc_subscr_conn_fsm.c | 1 + 2 files changed, 4 insertions(+) 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"); -- cgit v1.2.3