summaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc/bsc_init.c
diff options
context:
space:
mode:
authorAndreas Eversberg <andreas@eversberg.eu>2013-01-08 19:33:42 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-01-08 19:34:24 +0100
commitf2621e506de5fdbe7d800c4b1a9e764d7c9cdeef (patch)
treecf5fb85b61ae16a264940a8f0b1533091bfdd8b7 /openbsc/src/libbsc/bsc_init.c
parent608ac2a8a41ed302f5c51f7588afdaeb6d27c6b4 (diff)
si: Do not schedule SI1 to SI4 on the second TRX
Diffstat (limited to 'openbsc/src/libbsc/bsc_init.c')
-rw-r--r--openbsc/src/libbsc/bsc_init.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index 9e734c049..2fb4f1301 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -176,9 +176,11 @@ static int set_system_infos(struct gsm_bts_trx *trx)
for (n = 0; n < n_si; n++) {
i = gen_si[n];
- bts->si_valid |= (1 << i);
/* Only generate SI if this SI is not in "static" (user-defined) mode */
if (!(bts->si_mode_static & (1 << i))) {
+ /* Set SI as being valid. gsm_generate_si() might unset
+ * it, if SI is not required. */
+ bts->si_valid |= (1 << i);
rc = gsm_generate_si(bts, i);
if (rc < 0)
goto err_out;
@@ -196,10 +198,10 @@ static int set_system_infos(struct gsm_bts_trx *trx)
/* Third, we send the selected SI via RSL */
- for (i = SYSINFO_TYPE_1; i < _MAX_SYSINFO_TYPE; i++) {
+ for (n = 0; n < n_si; n++) {
+ i = gen_si[n];
if (!(bts->si_valid & (1 << i)))
continue;
-
rc = rsl_si(trx, i, si_len[i]);
if (rc < 0)
return rc;