aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2018-12-06 16:00:06 +0100
committerHarald Welte <laforge@gnumonks.org>2018-12-06 19:51:21 +0000
commit162626637f12a88a0bf407784d7002aff5991874 (patch)
tree75f2809aa32b1f1c4f09287474f1a3f9282ef5d2
parent98483760e84ee0f8151cade78b30b3ab89db9d44 (diff)
gsm_04_08: Free GSM subscr conn if paging response can't be matched
The current idea of calling gscon_release_lchans is not enough because the conn is still present. Insetad pretend we got a disconnect indication from the MSC which will call gscon_release_lchans as well as terminate the conn state machine which will clean up conn state as well. Related: OS#3680 Change-Id: Iccf5f6864ffe238189907c4bb3ea333948621b4c
-rw-r--r--src/osmo-bsc/gsm_04_08_rr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c
index 4be51981f..f1061ef4d 100644
--- a/src/osmo-bsc/gsm_04_08_rr.c
+++ b/src/osmo-bsc/gsm_04_08_rr.c
@@ -951,7 +951,7 @@ int gsm0408_rcvmsg(struct msgb *msg, uint8_t link_id)
/* fwd via bsc_api to send COMPLETE L3 INFO to MSC */
rc = bsc_compl_l3(lchan->conn, msg, 0);
if (rc < 0) {
- gscon_release_lchans(lchan->conn, true);
+ osmo_fsm_inst_dispatch(lchan->conn->fi, GSCON_EV_A_DISC_IND, NULL);
return rc;
}
/* conn shall release lchan on teardown, also if this Layer 3 Complete is rejected. */