handover: set old channel to INACTIVE state
After receiving the HANDOVER COMPLETE on the new channel, we mark the
old channel as INACTIVE and try to release it ASAP.
diff --git a/openbsc/src/handover_logic.c b/openbsc/src/handover_logic.c
index 3007d25..94d3d0d 100644
--- a/openbsc/src/handover_logic.c
+++ b/openbsc/src/handover_logic.c
@@ -212,13 +212,16 @@
}
bsc_del_timer(&ho->T3103);
- llist_del(&ho->list);
/* update lchan pointer of transaction */
trans_lchan_change(ho->old_lchan, new_lchan);
+ ho->old_lchan->state = LCHAN_S_INACTIVE;
+ lchan_auto_release(ho->old_lchan);
+
/* do something to re-route the actual speech frames ! */
+ llist_del(&ho->list);
talloc_free(ho);
return 0;