diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-03-10 02:17:14 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-03-16 15:32:34 +0100 |
commit | 78fc746b10755a645d8d1b52bdcca88fa492f32c (patch) | |
tree | b01e115a4b3f6558fdde894c4bb1d5625d236b26 /openbsc/src/libmsc/gsm_04_08.c | |
parent | 952c9b033c5a1b264b41aa16fb0cfeb5db6d361b (diff) |
Reinstate msc subscriber conn ref counting
Indeed the easiest way of ensuring all code paths can cause conn discarding
while still all code paths can check on whether a conn needs to be discarded.
Change-Id: I641fe36d9fa2077e3caf63cc583aaa380603bff0
Diffstat (limited to 'openbsc/src/libmsc/gsm_04_08.c')
-rw-r--r-- | openbsc/src/libmsc/gsm_04_08.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index ade072097..01cae149e 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -199,7 +199,6 @@ void gsm0408_clear_request(struct gsm_subscriber_connection *conn, uint32_t caus LOGP(DMM, LOGL_ERROR, "%s: Conn clear request on uninitialized conn\n", vlr_subscr_name(conn->vsub)); - msc_subscr_con_free(conn); return; } @@ -3362,7 +3361,7 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg) } /* Assign conn */ - trans->conn = subscr_con_get(conn); + trans->conn = msc_conn_get(conn); vlr_subscr_put(vsub); } else { /* update the subscriber we deal with */ @@ -3512,7 +3511,7 @@ static int gsm0408_rcv_cc(struct gsm_subscriber_connection *conn, struct msgb *m return -ENOMEM; } /* Assign transaction */ - trans->conn = subscr_con_get(conn); + trans->conn = msc_conn_get(conn); } /* find function for current state and message */ |