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/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17354 )
Change subject: trxcon/scheduler: align Downlink reception to the first burst
......................................................................
trxcon/scheduler: align Downlink reception to the first burst
Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436
Related: OS#3554
---
M src/host/trxcon/sched_lchan_pdtch.c
M src/host/trxcon/sched_lchan_tchf.c
M src/host/trxcon/sched_lchan_xcch.c
3 files changed, 18 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/17354/1
diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c
index d965daa..8de947e 100644
--- a/src/host/trxcon/sched_lchan_pdtch.c
+++ b/src/host/trxcon/sched_lchan_pdtch.c
@@ -58,9 +58,9 @@
LOGP(DSCHD, LOGL_DEBUG, "Packet data received on %s: "
"fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid);
- /* Reset internal state */
- if (bid == 0)
- *mask = 0x0;
+ /* Align to the first burst of a block */
+ if (*mask == 0x00 && bid != 0)
+ return 0;
/* Update mask */
*mask |= (1 << bid);
@@ -92,6 +92,9 @@
return -1;
}
+ /* Keep the mask updated */
+ *mask = *mask << 4;
+
/* Attempt to decode */
rc = gsm0503_pdtch_decode(l2, buffer,
NULL, &n_errors, &n_bits_total);
diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c
index d190a16..06458f7 100644
--- a/src/host/trxcon/sched_lchan_tchf.c
+++ b/src/host/trxcon/sched_lchan_tchf.c
@@ -60,9 +60,9 @@
LOGP(DSCHD, LOGL_DEBUG, "Traffic received on %s: fn=%u ts=%u bid=%u\n",
lchan_desc->name, fn, ts->index, bid);
- /* Reset internal state */
- if (bid == 0)
- *mask = 0x00;
+ /* Align to the first burst of a block */
+ if (*mask == 0x00 && bid != 0)
+ return 0;
/* Update mask */
*mask |= (1 << bid);
@@ -95,6 +95,9 @@
goto bfi;
}
+ /* Keep the mask updated */
+ *mask = *mask << 4;
+
switch (lchan->tch_mode) {
case GSM48_CMODE_SIGN:
case GSM48_CMODE_SPEECH_V1: /* FR */
diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c
index 0818e20..a0b61ad 100644
--- a/src/host/trxcon/sched_lchan_xcch.c
+++ b/src/host/trxcon/sched_lchan_xcch.c
@@ -57,9 +57,9 @@
LOGP(DSCHD, LOGL_DEBUG, "Data received on %s: fn=%u ts=%u bid=%u\n",
lchan_desc->name, fn, ts->index, bid);
- /* Reset internal state */
- if (bid == 0)
- *mask = 0x0;
+ /* Align to the first burst of a block */
+ if (*mask == 0x00 && bid != 0)
+ return 0;
/* Update mask */
*mask |= (1 << bid);
@@ -93,6 +93,9 @@
* abort here. */
}
+ /* Keep the mask updated */
+ *mask = *mask << 4;
+
/* Attempt to decode */
rc = gsm0503_xcch_decode(l2, buffer, &n_errors, &n_bits_total);
if (rc) {
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436
Gerrit-Change-Number: 17354
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <axilirator at gmail.com>
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200304/1ea1e047/attachment.htm>