aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2018-11-21 19:49:12 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2018-11-21 19:59:21 +0100
commit6dacc35c751452f0e94acf15e6fd42ac774c8e53 (patch)
tree1b0ffdbd4ffa49ab4a66520051cf19c6a757a1d7 /src
parent36a61df7a6f4a644eb5feecf9981d65cb355ff12 (diff)
bts: Fix TRX0 param initialization
TRX0 is allocated in a different place than other TRX. Commit that introduced the bug added an initialization step (bts_trx_init) applied in VTY cmd "trx <0-254>", where TRX are allocated since same commit, but doesn't initialize TRX0 for reasons explained in first paragraph. As a result, some parameters were not applied to TRX0, like power ramping increment step, which prevented MS from finding the network in osmo-gsm-tester tests. Fixes: eebb6a4216f136132400831ca35ed70e7502e92a ("bts: Allocate TRX for BTS dynamically, deprecate -t") Change-Id: I5afd66548634ff53e2af24dc7055d408ca8ca4e3
Diffstat (limited to 'src')
-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);