aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/transaction.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-03-23 06:41:45 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-03-25 09:07:28 +0100
commit68884aa156126e30e435fe4e2c5847340c61f0d3 (patch)
tree7d963601663fc7be7afc49cef3021191377e0837 /openbsc/src/transaction.c
parentfe6bf777c3f76f4dc5835411828c9ebbdd7db83e (diff)
lchan: Create a structure for MSC data of the lchan
Prepare to split the BSC and the MSC part by putting the MSC data for a connection into a "gsm_subscriber_connection" struct and renaming the macros.
Diffstat (limited to 'openbsc/src/transaction.c')
-rw-r--r--openbsc/src/transaction.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/openbsc/src/transaction.c b/openbsc/src/transaction.c
index 75a279ddc..95075566b 100644
--- a/openbsc/src/transaction.c
+++ b/openbsc/src/transaction.c
@@ -96,7 +96,7 @@ void trans_free(struct gsm_trans *trans)
}
if (trans->lchan)
- put_lchan(trans->lchan);
+ put_subscr_con(&trans->lchan->conn);
if (!trans->lchan && trans->subscr && trans->subscr->net) {
/* Stop paging on all bts' */
@@ -157,12 +157,16 @@ 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);
+ struct gsm_subscriber_connection *conn;
+
+ /* drop old channel use count */
+ conn = &trans->lchan->conn;
+ put_subscr_con(conn);
/* assign new channel */
trans->lchan = lchan_new;
/* bump new channel use count */
- use_lchan(trans->lchan);
+ conn = &trans->lchan->conn;
+ use_subscr_con(conn);
num++;
}
}