diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-07-22 17:42:29 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-07-25 15:15:22 +0200 |
commit | c5aed8c10efd97261e0463f128964f5e76abd8dc (patch) | |
tree | 69ebceb709a40acd357c1f0869998b8fa01b771d | |
parent | 5b2283ba68155b82bdfe93ad675b0d35dc9d47d3 (diff) |
fix release upon IMSI Detach
In case of an IMSI Detach, we don't have a conn_fsm, yet we still need to send
release messages. Hence directly release the conn in msc_subscr_conn_close()
when there is no conn_fsm present.
Move the conn release actions from the conn_fsm cleanup function to new
function msc_subscr_conn_release_all(). From the FSM cleanup, call
msc_subscr_conn_close(), and invoke msc_subscr_conn_release_all() from there.
Document msc_subscr_conn_close() behavior.
Change-Id: Ied6981099605ad803f8ffed38f23ed8203a97727
-rw-r--r-- | src/libmsc/subscr_conn.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libmsc/subscr_conn.c b/src/libmsc/subscr_conn.c index 2bba1a826..cdeeae903 100644 --- a/src/libmsc/subscr_conn.c +++ b/src/libmsc/subscr_conn.c @@ -225,9 +225,9 @@ static void subscr_conn_fsm_cleanup(struct osmo_fsm_inst *fi, if (!conn) return; - conn->conn_fsm = NULL; msc_subscr_conn_close(conn, cause); + msc_subscr_conn_put(conn); } int subscr_conn_fsm_timeout(struct osmo_fsm_inst *fi) |