aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Sperling <ssperling@sysmocom.de>2018-04-09 17:02:41 +0200
committerHarald Welte <laforge@gnumonks.org>2018-04-09 17:38:56 +0000
commitc0587d0da26ab1ab5bab91219f663ae433e55b59 (patch)
tree35ef036902837652c9aa183991782d0cd322a915 /src
parent5b6aa650f1a6df22ec99797bd3635ea791998a88 (diff)
fix initialization of acc ramping
Remove a redundant call to acc_ramp_init() during bootstrap_bts(). ACC ramping state is already initialized during VTY config parsing, and bootstrap_bts() accidentally disabled ACC ramping again even if it was enabled in the configuration. This bug was introduced in last-minute refactoring during review of https://gerrit.osmocom.org/#/c/6324/ when the acc_ramping_enabled flag was moved from struct gsm_bts to the acc_ramp structure itself. Also remove an acc_ramp_init() call in bootstrap_rsl(). It is no longer needed as it serves no purpose other than initializing the bitmasks of barred ACCs. To ensure that ACC ramping configuration provided to the BTS via system information stays correct, we move the call to acc_ramp_start(), which has the same effect on barred ACCs, further up. Change-Id: Ib7d99c9d3d5d424e21bb7710f719c42f9aef3e95 Fixes: 6442e4327b1100ecfed7a242e397ac37b7529bea Related: OS#2591
Diffstat (limited to 'src')
-rw-r--r--src/libbsc/bsc_init.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/libbsc/bsc_init.c b/src/libbsc/bsc_init.c
index ba8b8e641..d1173e0ca 100644
--- a/src/libbsc/bsc_init.c
+++ b/src/libbsc/bsc_init.c
@@ -332,16 +332,13 @@ static void bootstrap_rsl(struct gsm_bts_trx *trx)
trx->bts->location_area_code,
trx->bts->cell_identity, trx->bts->bsic);
- /*
- * Re-initialize ACC ramping to ensure ACCs are barred/allowed
- * according to our current VTY configuration.
- */
- acc_ramp_init(&trx->bts->acc_ramp, acc_ramp_is_enabled(&trx->bts->acc_ramp), trx->bts);
-
if (trx->bts->type == GSM_BTS_TYPE_NOKIA_SITE) {
rsl_nokia_si_begin(trx);
}
+ /* Configure ACC ramping before sending system information to BTS. */
+ if (acc_ramp_is_enabled(&trx->bts->acc_ramp))
+ acc_ramp_start(&trx->bts->acc_ramp);
gsm_bts_trx_set_system_infos(trx);
if (trx->bts->type == GSM_BTS_TYPE_NOKIA_SITE) {
@@ -354,9 +351,6 @@ static void bootstrap_rsl(struct gsm_bts_trx *trx)
generate_ma_for_ts(&trx->ts[i]);
dyn_ts_init(&trx->ts[i]);
}
-
- if (acc_ramp_is_enabled(&trx->bts->acc_ramp))
- acc_ramp_start(&trx->bts->acc_ramp);
}
/* Callback function to be called every time we receive a signal from INPUT */
@@ -539,7 +533,7 @@ static int bootstrap_bts(struct gsm_bts *bts)
bts->chan_load_samples_idx = 0;
- acc_ramp_init(&bts->acc_ramp, false, bts);
+ /* ACC ramping is initialized from vty/config */
/* Initialize the BTS state */
gsm_bts_mo_reset(bts);