Change in ...osmocom-bb[master]: trxcon/scheduler: fix: do not ignore SACCH prims with odd length

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/.

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Sat Jun 1 20:55:58 UTC 2019


Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14325


Change subject: trxcon/scheduler: fix: do not ignore SACCH prims with odd length
......................................................................

trxcon/scheduler: fix: do not ignore SACCH prims with odd length

Before this patch, prim_dequeue_sacch() used to ignore SACCH primitives
with odd length (e.g. 21, when sender forgot to push 2 octets of L1
SACCH header), so neither they were transmitted, nor rejected.

As a result, they would stay in the Tx queue until a dedicated
connection is released. The only way to notice such problem
was looking at the constantly growing talloc's report.

Instead of ignoring the primitives with odd length and keeping them
in the queue, let's pass them to a logical channel handler, so they
would be dequeued and rejected with a proper logging event.

Also, to simplify further debugging, let's print the final decision
of SACCH prioritization: whether it's a Measurement Report or not.

Change-Id: I3149fa518439470b397953306209eb859c83450a
---
M src/host/trxcon/sched_prim.c
1 file changed, 4 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/25/14325/1

diff --git a/src/host/trxcon/sched_prim.c b/src/host/trxcon/sched_prim.c
index 275a050..50dfd6e 100644
--- a/src/host/trxcon/sched_prim.c
+++ b/src/host/trxcon/sched_prim.c
@@ -253,10 +253,6 @@
 		if (prim->chan != lchan->type)
 			continue;
 
-		/* Just to be sure... */
-		if (prim->payload_len != GSM_MACBLOCK_LEN)
-			continue;
-
 		/* Look for a Measurement Report */
 		if (!prim_mr && PRIM_IS_MR(prim))
 			prim_mr = prim;
@@ -307,6 +303,10 @@
 	/* Update the MR transmission state */
 	lchan->sacch.mr_tx_last = PRIM_IS_MR(prim);
 
+	LOGP(DSCHD, LOGL_DEBUG, "SACCH decision on lchan=%s: %s\n",
+		trx_lchan_desc[lchan->type].name, PRIM_IS_MR(prim) ?
+			"Measurement Report" : "data frame");
+
 	return prim;
 }
 

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

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I3149fa518439470b397953306209eb859c83450a
Gerrit-Change-Number: 14325
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190601/cbe93109/attachment.htm>


More information about the gerrit-log mailing list