diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-04-09 10:44:58 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2014-01-21 15:54:13 +0100 |
commit | e9e9732473cfebde0fada7147d41b9dcc44419cc (patch) | |
tree | 16d221bb4da23347c59a94f335b96351be51be29 | |
parent | fc93e748d36902f69ff1fb5066d199af7d09c4eb (diff) |
Fix: Cleanly free TRX instances during initialization in case of an error
-rw-r--r-- | src/osmo-bts-trx/l1_if.c | 1 | ||||
-rw-r--r-- | src/osmo-bts-trx/trx_if.c | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 2e29bc0e..1f17b47f 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -79,6 +79,7 @@ struct trx_l1h *l1if_open(struct gsm_bts_trx *trx) err: l1if_close(l1h); + trx->role_bts.l1h = NULL; return NULL; } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index e6b70134..1af10b5c 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -473,6 +473,9 @@ int trx_if_open(struct trx_l1h *l1h) LOGP(DTRX, LOGL_NOTICE, "Open tranceiver for trx=%u\n", l1h->trx->nr); + /* initialize ctrl queue */ + INIT_LLIST_HEAD(&l1h->trx_ctrl_list); + /* open sockets */ if (l1h->trx->nr == 0) { rc = trx_udp_open(NULL, &trx_ofd_clk, base_port_local, @@ -490,9 +493,6 @@ int trx_if_open(struct trx_l1h *l1h) if (rc < 0) goto err; - /* initialize ctrl queue */ - INIT_LLIST_HEAD(&l1h->trx_ctrl_list); - /* enable all slots */ l1h->config.slotmask = 0xff; |