aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/subscr_conn.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmsc/subscr_conn.c')
-rw-r--r--src/libmsc/subscr_conn.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libmsc/subscr_conn.c b/src/libmsc/subscr_conn.c
index 512f5128e..40ebd4d4a 100644
--- a/src/libmsc/subscr_conn.c
+++ b/src/libmsc/subscr_conn.c
@@ -370,8 +370,11 @@ bool msc_subscr_conn_is_accepted(const struct gsm_subscriber_connection *conn)
void msc_subscr_conn_communicating(struct gsm_subscriber_connection *conn)
{
OSMO_ASSERT(conn);
- osmo_fsm_inst_dispatch(conn->conn_fsm, SUBSCR_CONN_E_COMMUNICATING,
- NULL);
+ /* This function is called to indicate that *some* communication is happening with the phone.
+ * Late in the process, that may be a Release Confirm and the FSM and conn are already in
+ * teardown. No need to signal SUBSCR_CONN_E_COMMUNICATING then. */
+ if (conn->conn_fsm)
+ osmo_fsm_inst_dispatch(conn->conn_fsm, SUBSCR_CONN_E_COMMUNICATING, NULL);
}
void msc_subscr_conn_init(void)