aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/transaction.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-03-24 10:45:07 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-03-24 10:45:07 +0100
commit82a8d6e3931dea7f127f84e9f6c4102d858410da (patch)
treecac4411e66b7dd968f0401a3051903caaa7c55f6 /openbsc/src/transaction.c
parent1226c939375890d07c047e1de5e9e48f5e101854 (diff)
Specify a release reason for the lchan
In case the put_lchan is making the refcount drop to zero use the release reason specified in the put_lchan call. This is used by the BSC MSC IP implementation for the assignment handling where the old channel is getting closed with a local end release (1).
Diffstat (limited to 'openbsc/src/transaction.c')
-rw-r--r--openbsc/src/transaction.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/openbsc/src/transaction.c b/openbsc/src/transaction.c
index 23dfe073d..4b586a637 100644
--- a/openbsc/src/transaction.c
+++ b/openbsc/src/transaction.c
@@ -102,7 +102,7 @@ void trans_free(struct gsm_trans *trans)
}
if (trans->lchan)
- put_lchan(trans->lchan);
+ put_lchan(trans->lchan, 0);
if (trans->subscr)
subscr_put(trans->subscr);
@@ -159,7 +159,7 @@ int trans_lchan_change(struct gsm_lchan *lchan_old,
llist_for_each_entry(trans, &net->trans_list, entry) {
if (trans->lchan == lchan_old) {
/* drop old channel use cound */
- put_lchan(trans->lchan);
+ put_lchan(trans->lchan, 0);
/* assign new channel */
trans->lchan = lchan_new;
/* bump new channel use count */