unify allocation of gsm_subscriber_connection
The current msc_subscr_con_allocate() was in fact only used by msc_vlr_tests,
while both a_iface_bssap.c and iucs.c did their own duplicate code of
allocating the gsm_subscriber_connection struct. Unify.
Drop the old msc_subscr_con_allocate(), instead add msc_subscr_conn_alloc().
The new function also takes via_ran and lac arguments directly.
The conn allocation will soon be closely tied to the subscr_conn_fsm instance
allocation, so place the new function definition alongside the other
subscr_conn_fsm API, and match its naming ("conn").
Related: OS#3122
Change-Id: Ia57b42a149a43f9c370b1310e2e1f512183993ea
diff --git a/src/libmsc/a_iface_bssap.c b/src/libmsc/a_iface_bssap.c
index 743814c..1665e23 100644
--- a/src/libmsc/a_iface_bssap.c
+++ b/src/libmsc/a_iface_bssap.c
@@ -54,14 +54,10 @@
LOGP(DMSC, LOGL_DEBUG, "Allocating A-Interface subscriber conn: lac %i, conn_id %i\n", lac, conn_id);
- conn = talloc_zero(network, struct gsm_subscriber_connection);
+ conn = msc_subscr_conn_alloc(network, RAN_GERAN_A, lac);
if (!conn)
return NULL;
- conn->network = network;
- conn->via_ran = RAN_GERAN_A;
- conn->lac = lac;
-
conn->a.conn_id = conn_id;
conn->a.scu = scu;
@@ -69,7 +65,6 @@
* identify later which BSC is responsible for this subscriber connection */
memcpy(&conn->a.bsc_addr, &a_conn_info->bsc->bsc_addr, sizeof(conn->a.bsc_addr));
- llist_add_tail(&conn->entry, &network->subscr_conns);
LOGPCONN(conn, LOGL_DEBUG, "A-Interface subscriber connection successfully allocated!\n");
return conn;
}