Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst

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.org
Wed Mar 4 15:20:42 UTC 2020


fixeria 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>


More information about the gerrit-log mailing list