Change in osmo-bts[master]: preserve lchan-specific SI overrides on SACCH FILL

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Stefan Sperling gerrit-no-reply at lists.osmocom.org
Wed Jul 25 09:46:18 UTC 2018


Stefan Sperling has uploaded this change for review. ( https://gerrit.osmocom.org/10156


Change subject: preserve lchan-specific SI overrides on SACCH FILL
......................................................................

preserve lchan-specific SI overrides on SACCH FILL

During SACCH FILL processing, update lchan SI values only
for lchans which follow BTS-global default values, keeping
lchan-specific overrides in place.

Change-Id: I515bbd9983fa894507386b241863a9aa4d279497
Fixes: eee7247ebe0d0a54a54b53b739bdd434dfceb511
Related: OS#3173
---
M src/common/rsl.c
1 file changed, 10 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/56/10156/1

diff --git a/src/common/rsl.c b/src/common/rsl.c
index e28f313..bcf36d7 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -564,10 +564,12 @@
 	if (TLVP_PRESENT(&tp, RSL_IE_L3_INFO)) {
 		uint16_t len = TLVP_LEN(&tp, RSL_IE_L3_INFO);
 		struct gsm_bts_trx *t;
+		sysinfo_buf_t old_bts_global_si;
 
+		memcpy(&old_bts_global_si, GSM_BTS_SI(bts, osmo_si), sizeof(old_bts_global_si));
 		lapdm_ui_prefix_bts(bts, TLVP_VAL(&tp, RSL_IE_L3_INFO), osmo_si, len);
 
-		/* Propagate SI change to all lchans. */
+		/* Propagate SI change to all lchans which adhere to BTS-global default. */
 		llist_for_each_entry(t, &bts->trx_list, list) {
 			int i, j;
 			for (i = 0; i < ARRAY_SIZE(t->ts); i++) {
@@ -576,6 +578,9 @@
 					struct gsm_lchan *lchan = &ts->lchan[j];
 					if (lchan->state == LCHAN_S_NONE)
 						continue;
+					if (memcmp(&old_bts_global_si, GSM_LCHAN_SI(lchan, osmo_si),
+						   sizeof(old_bts_global_si)) != 0)
+						continue;
 					lapdm_ui_prefix_lchan(lchan, TLVP_VAL(&tp, RSL_IE_L3_INFO), osmo_si, len);
 				}
 			}
@@ -588,7 +593,7 @@
 
 		bts->si_valid &= ~(1 << osmo_si);
 
-		/* Propagate SI change to all lchans. */
+		/* Propagate SI change to all lchans which adhere to BTS-global default. */
 		llist_for_each_entry(t, &bts->trx_list, list) {
 			int i, j;
 			for (i = 0; i < ARRAY_SIZE(t->ts); i++) {
@@ -597,6 +602,9 @@
 					struct gsm_lchan *lchan = &ts->lchan[j];
 					if (lchan->state == LCHAN_S_NONE)
 						continue;
+					if (memcmp(GSM_BTS_SI(bts, osmo_si), GSM_LCHAN_SI(lchan, osmo_si),
+						   sizeof(sysinfo_buf_t)) != 0)
+						continue;
 					lchan->si.valid &= ~(1 << osmo_si);
 				}
 			}

-- 
To view, visit https://gerrit.osmocom.org/10156
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I515bbd9983fa894507386b241863a9aa4d279497
Gerrit-Change-Number: 10156
Gerrit-PatchSet: 1
Gerrit-Owner: Stefan Sperling <ssperling at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180725/53328116/attachment.htm>


More information about the gerrit-log mailing list