aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/common/bts.c2
-rw-r--r--src/common/gsm_data_shared.c2
-rw-r--r--src/common/vty.c5
3 files changed, 7 insertions, 2 deletions
diff --git a/src/common/bts.c b/src/common/bts.c
index 2b17ec68..abbaeb46 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -177,6 +177,8 @@ int bts_init(struct gsm_bts *bts)
return rc;
}
+ /* TRX0 was allocated early during gsm_bts_alloc, not later through VTY */
+ bts_trx_init(bts->c0);
bts_gsmnet.num_bts++;
if (!initialized) {
diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c
index 21e57814..beb3107a 100644
--- a/src/common/gsm_data_shared.c
+++ b/src/common/gsm_data_shared.c
@@ -333,7 +333,7 @@ struct gsm_bts *gsm_bts_alloc(void *ctx, uint8_t bts_num)
memcpy(&bts->gprs.cell.rlc_cfg, &rlc_cfg_default,
sizeof(bts->gprs.cell.rlc_cfg));
- /* create our primary TRX */
+ /* create our primary TRX. It will be initialized during bts_init() */
bts->c0 = gsm_bts_trx_alloc(bts);
if (!bts->c0) {
talloc_free(bts);
diff --git a/src/common/vty.c b/src/common/vty.c
index f3054139..7c2900f2 100644
--- a/src/common/vty.c
+++ b/src/common/vty.c
@@ -233,7 +233,10 @@ DEFUN(cfg_bts_trx, cfg_bts_trx_cmd,
bts->num_trx, VTY_NEWLINE);
return CMD_WARNING;
} else if (trx_nr == bts->num_trx) {
- /* allocate a new one */
+ /* Allocate a new TRX
+ * Remark: TRX0 was already created during gsm_bts_alloc() and
+ * initialized in bts_init(), not here.
+ */
trx = gsm_bts_trx_alloc(bts);
if (trx)
bts_trx_init(trx);