msc: Add net back pointer to gsm_trans

Currently the net pointer is obtained from trans->subscr->net. On the
other hand, the list gsm_trans object is managed by the net object.

This patch adds the back pointer to the structure and replaces all
trans->subscr->net by trans->net expressions. In trans_alloc() the
trans->net pointer is obtained from the subscr object.

Sponsored-by: On-Waves ehf
diff --git a/openbsc/src/libmsc/transaction.c b/openbsc/src/libmsc/transaction.c
index e425e67..3bed672 100644
--- a/openbsc/src/libmsc/transaction.c
+++ b/openbsc/src/libmsc/transaction.c
@@ -65,8 +65,9 @@
 			      uint32_t callref)
 {
 	struct gsm_trans *trans;
+	struct gsm_network *net = subscr->net;
 
-	DEBUGP(DCC, "subscr=%p, subscr->net=%p\n", subscr, subscr->net);
+	DEBUGP(DCC, "subscr=%p, net=%p\n", subscr, net);
 
 	trans = talloc_zero(tall_trans_ctx, struct gsm_trans);
 	if (!trans)
@@ -79,7 +80,8 @@
 	trans->transaction_id = trans_id;
 	trans->callref = callref;
 
-	llist_add_tail(&trans->entry, &subscr->net->trans_list);
+	trans->net = net;
+	llist_add_tail(&trans->entry, &net->trans_list);
 
 	return trans;
 }