diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-11-21 19:49:12 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-11-21 19:59:21 +0100 |
commit | 6dacc35c751452f0e94acf15e6fd42ac774c8e53 (patch) | |
tree | 1b0ffdbd4ffa49ab4a66520051cf19c6a757a1d7 /src | |
parent | 36a61df7a6f4a644eb5feecf9981d65cb355ff12 (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.c | 2 | ||||
-rw-r--r-- | src/common/gsm_data_shared.c | 2 | ||||
-rw-r--r-- | src/common/vty.c | 5 |
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); |