[handover] lchan use count handling in case of trans_lchan_change()
diff --git a/openbsc/src/transaction.c b/openbsc/src/transaction.c
index 9f1bbf3..0269288 100644
--- a/openbsc/src/transaction.c
+++ b/openbsc/src/transaction.c
@@ -152,7 +152,12 @@
llist_for_each_entry(trans, &net->trans_list, entry) {
if (trans->lchan == lchan_old) {
+ /* drop old channel use cound */
+ put_lchan(trans->lchan);
+ /* assign new channel */
trans->lchan = lchan_new;
+ /* bump new channel use count */
+ use_lchan(trans->lchan);
num++;
}
}