diff options
author | Max <msuraev@sysmocom.de> | 2017-06-15 14:59:20 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-06-15 16:39:55 +0200 |
commit | 8b1a2f8cd7a81c6b8c7cdb0963dcf89de7c46100 (patch) | |
tree | bea26194de9bc7af60d12f8ea04e193bd591c669 /openbsc/src/libbsc/bsc_init.c | |
parent | 70fdd24d04a37217724ec8f12873e292b10e5e4d (diff) |
bsc_init: Forget which SIs are valid for the trx
Previously the SI generation lead to setting the BCCH SIs for all TRX in
a multi-trx setup. This is because we create the SIs globally but
si_valid appears to be limited to the 'current' trx. Warn if we attempt
to set SIs for the BCCH on a trx that does not have a BCCH.
Change-Id: Ie0e288252a2e7709c4dae16b96a0b1512278847f
Tweaked-by: Max <msuraev@sysmocom.de>
Diffstat (limited to 'openbsc/src/libbsc/bsc_init.c')
-rw-r--r-- | openbsc/src/libbsc/bsc_init.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c index b95c7b08e..ec87a7bc7 100644 --- a/openbsc/src/libbsc/bsc_init.c +++ b/openbsc/src/libbsc/bsc_init.c @@ -119,8 +119,7 @@ static int rsl_si(struct gsm_bts_trx *trx, enum osmo_sysinfo_type i, int si_len) rc = rsl_bcch_info(trx, i, (const uint8_t *)GSM_BTS_SI2Q(bts, j), GSM_MACBLOCK_LEN); break; default: - rc = rsl_bcch_info(trx, osmo_sitype2rsl(i), - GSM_BTS_SI(bts, i), si_len); + rc = rsl_bcch_info(trx, i, GSM_BTS_SI(bts, i), si_len); break; } @@ -139,6 +138,9 @@ int gsm_bts_trx_set_system_infos(struct gsm_bts_trx *trx) ms_pwr_ctl_lvl(bts->band, bts->ms_max_power); bts->si_common.cell_sel_par.neci = bts->network->neci; + /* Zero, forget the state of the SIs */ + bts->si_valid = 0; + /* First, we determine which of the SI messages we actually need */ if (trx == bts->c0) { |