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.orgStefan Sperling has uploaded this change for review. ( https://gerrit.osmocom.org/10153
Change subject: update sysinfo copies in all lchans upon SACCH FILL
......................................................................
update sysinfo copies in all lchans upon SACCH FILL
When a SACCH FILL is received, loop over all lchans and update
their copies of system information data.
This change makes BTS_Tests.TC_sacch_multi_chg pass.
Change-Id: I3e63eeb5fcf320fb029de16e4d327e153cc34567
Related: OS#3173
---
M src/common/rsl.c
1 file changed, 32 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/10153/1
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 9295240..e28f313 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -563,12 +563,44 @@
}
if (TLVP_PRESENT(&tp, RSL_IE_L3_INFO)) {
uint16_t len = TLVP_LEN(&tp, RSL_IE_L3_INFO);
+ struct gsm_bts_trx *t;
+
lapdm_ui_prefix_bts(bts, TLVP_VAL(&tp, RSL_IE_L3_INFO), osmo_si, len);
+ /* Propagate SI change to all lchans. */
+ llist_for_each_entry(t, &bts->trx_list, list) {
+ int i, j;
+ for (i = 0; i < ARRAY_SIZE(t->ts); i++) {
+ struct gsm_bts_trx_ts *ts = &t->ts[i];
+ for (j = 0; j < ARRAY_SIZE(ts->lchan); j++) {
+ struct gsm_lchan *lchan = &ts->lchan[j];
+ if (lchan->state == LCHAN_S_NONE)
+ continue;
+ lapdm_ui_prefix_lchan(lchan, TLVP_VAL(&tp, RSL_IE_L3_INFO), osmo_si, len);
+ }
+ }
+ }
+
LOGP(DRSL, LOGL_INFO, " Rx RSL SACCH FILLING (SI%s, %u bytes)\n",
get_value_string(osmo_sitype_strs, osmo_si), len);
} else {
+ struct gsm_bts_trx *t;
+
bts->si_valid &= ~(1 << osmo_si);
+
+ /* Propagate SI change to all lchans. */
+ llist_for_each_entry(t, &bts->trx_list, list) {
+ int i, j;
+ for (i = 0; i < ARRAY_SIZE(t->ts); i++) {
+ struct gsm_bts_trx_ts *ts = &t->ts[i];
+ for (j = 0; j < ARRAY_SIZE(ts->lchan); j++) {
+ struct gsm_lchan *lchan = &ts->lchan[j];
+ if (lchan->state == LCHAN_S_NONE)
+ continue;
+ lchan->si.valid &= ~(1 << osmo_si);
+ }
+ }
+ }
LOGP(DRSL, LOGL_INFO, " Rx RSL Disabling SACCH FILLING (SI%s)\n",
get_value_string(osmo_sitype_strs, osmo_si));
}
--
To view, visit https://gerrit.osmocom.org/10153
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: I3e63eeb5fcf320fb029de16e4d327e153cc34567
Gerrit-Change-Number: 10153
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/20180724/afc7d17e/attachment.htm>