aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/handover_logic.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-06-28 15:47:12 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-06-28 16:12:39 +0800
commit2412a07965ace5fc425b401438d21ff86ceeb2df (patch)
tree43f862deafccf9500b8f81621862a708b144f6c7 /openbsc/src/handover_logic.c
parent94d625bfa09be748aa1a157da8320bd75761d431 (diff)
bsc_api: Allocate the subscriber_connection dynamically
This is a big change to the way we use the subscriber connection. From now on it is is dynamically allocated and we will slowly move from a 1:1 lchan to conn to having more than one lchan per connection. This is the first commit, the subscr_con* methods will move to gsm_data once the use_count is removed from the connection, the freeing of the connection will also change.
Diffstat (limited to 'openbsc/src/handover_logic.c')
-rw-r--r--openbsc/src/handover_logic.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/openbsc/src/handover_logic.c b/openbsc/src/handover_logic.c
index b2ffe4616..b75dc98ba 100644
--- a/openbsc/src/handover_logic.c
+++ b/openbsc/src/handover_logic.c
@@ -122,7 +122,7 @@ int bsc_handover_start(struct gsm_lchan *old_lchan, struct gsm_bts *bts)
new_lchan->bs_power = old_lchan->bs_power;
new_lchan->rsl_cmode = old_lchan->rsl_cmode;
new_lchan->tch_mode = old_lchan->tch_mode;
- new_lchan->conn.subscr = subscr_get(old_lchan->conn.subscr);
+ new_lchan->conn->subscr = subscr_get(old_lchan->conn->subscr);
/* FIXME: do we have a better idea of the timing advance? */
rc = rsl_chan_activate_lchan(new_lchan, RSL_ACT_INTER_ASYNC, 0,
@@ -219,7 +219,7 @@ static int ho_gsm48_ho_compl(struct gsm_lchan *new_lchan)
}
LOGP(DHO, LOGL_INFO, "Subscriber %s HO from BTS %u->%u on ARFCN "
- "%u->%u\n", subscr_name(ho->old_lchan->conn.subscr),
+ "%u->%u\n", subscr_name(ho->old_lchan->conn->subscr),
ho->old_lchan->ts->trx->bts->nr, new_lchan->ts->trx->bts->nr,
ho->old_lchan->ts->trx->arfcn, new_lchan->ts->trx->arfcn);
@@ -228,7 +228,7 @@ static int ho_gsm48_ho_compl(struct gsm_lchan *new_lchan)
bsc_del_timer(&ho->T3103);
/* update lchan pointer of transaction */
- trans_lchan_change(&ho->old_lchan->conn, &new_lchan->conn);
+ trans_lchan_change(ho->old_lchan->conn, new_lchan->conn);
rsl_lchan_set_state(ho->old_lchan, LCHAN_S_INACTIVE);
lchan_auto_release(ho->old_lchan);
@@ -258,7 +258,7 @@ static int ho_gsm48_ho_fail(struct gsm_lchan *old_lchan)
bsc_del_timer(&ho->T3103);
llist_del(&ho->list);
- conn = &ho->new_lchan->conn;
+ conn = ho->new_lchan->conn;
put_subscr_con(conn);
talloc_free(ho);