diff options
Diffstat (limited to 'src/libmsc/transaction.c')
-rw-r--r-- | src/libmsc/transaction.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 01d69c24e..4dcd24db1 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -117,12 +117,16 @@ struct gsm_trans *trans_alloc(struct gsm_network *net, */ void trans_free(struct gsm_trans *trans) { + enum msc_subscr_conn_use conn_usage_token = MSC_CONN_USE_UNTRACKED; + switch (trans->protocol) { case GSM48_PDISC_CC: _gsm48_cc_trans_free(trans); + conn_usage_token = MSC_CONN_USE_TRANS_CC; break; case GSM48_PDISC_SMS: _gsm411_sms_trans_free(trans); + conn_usage_token = MSC_CONN_USE_TRANS_SMS; break; } @@ -139,7 +143,7 @@ void trans_free(struct gsm_trans *trans) llist_del(&trans->entry); if (trans->conn) - msc_subscr_conn_put(trans->conn); + msc_subscr_conn_put(trans->conn, conn_usage_token); trans->conn = NULL; talloc_free(trans); |