openbsc[master]: Make si2q scheduling optional
diff mbox

Message ID 20160518125347.377626383@lists.osmocom.org
State New
Headers show

Commit Message

gerrit-no-reply@lists.osmocom.org May 18, 2016, 12:53 p.m. UTC
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/81

to look at the new patch set (#2).

Make si2q scheduling optional

Previously si2quater SI messages were always scheduled. Check for
neighbor configuration and only schedule si2q when necessary.

Change-Id: Ibe997803ffb894133fd4d838410fe735791d414f
Fixes: OS#1727
---
M openbsc/src/libbsc/system_information.c
1 file changed, 9 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/81/81/2

Patch
diff mbox

diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c
index 1f1d81e..dc69dd0 100644
--- a/openbsc/src/libbsc/system_information.c
+++ b/openbsc/src/libbsc/system_information.c
@@ -648,7 +648,7 @@ 
 
 static int generate_si2quater(uint8_t *output, struct gsm_bts *bts)
 {
-	int rc;
+	int rc, i = MAX_EARFCN_LIST;
 	struct gsm48_system_information_type_2quater *si2q =
 		(struct gsm48_system_information_type_2quater *) output;
 
@@ -667,6 +667,14 @@ 
 	if (rc < 0)
 		return rc;
 
+	if (bts->si_common.si2quater_neigh_list.arfcn)
+		for (i = 0; i < MAX_EARFCN_LIST; i++)
+			if (bts->si_common.si2quater_neigh_list.arfcn[i] !=
+			    OSMO_EARFCN_INVALID)
+				break;
+	if (!bts->si_common.uarfcn_length && i == MAX_EARFCN_LIST)
+		bts->si_valid &= ~(1 << SYSINFO_TYPE_2quater);
+
 	return sizeof(*si2q) + rc;
 }