fixeria has uploaded this change for review.
trxcon/l1sched: simplify and unify prim_dequeue_tchf()
Make it easier to read and more similar to prim_dequeue_tchh().
Change-Id: Ie79069e5cc8acd193a326ac9d334fe070552e320
---
M src/host/trxcon/src/sched_lchan_tchf.c
1 file changed, 22 insertions(+), 17 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/10/33710/1
diff --git a/src/host/trxcon/src/sched_lchan_tchf.c b/src/host/trxcon/src/sched_lchan_tchf.c
index 6d48fc7..a87efaf 100644
--- a/src/host/trxcon/src/sched_lchan_tchf.c
+++ b/src/host/trxcon/src/sched_lchan_tchf.c
@@ -215,26 +215,20 @@
static struct msgb *prim_dequeue_tchf(struct l1sched_lchan_state *lchan)
{
- struct msgb *facch;
- struct msgb *tch;
+ struct msgb *msg_facch;
+ struct msgb *msg_tch;
- /* Attempt to find a pair of FACCH/F and TCH/F frames */
- facch = l1sched_lchan_prim_dequeue_tch(lchan, true);
- tch = l1sched_lchan_prim_dequeue_tch(lchan, false);
+ /* dequeue a pair of TCH and FACCH frames */
+ msg_tch = l1sched_lchan_prim_dequeue_tch(lchan, false);
+ msg_facch = l1sched_lchan_prim_dequeue_tch(lchan, true);
- /* Prioritize FACCH/F, if found */
- if (facch) {
- /* One TCH/F prim is replaced */
- if (tch)
- msgb_free(tch);
- return facch;
- } else if (tch) {
- /* Only TCH/F prim was found */
- return tch;
- } else {
- /* Nothing was found */
- return NULL;
+ /* prioritize FACCH over TCH */
+ if (msg_facch != NULL) {
+ msgb_free(msg_tch); /* drop one TCH/FS block */
+ return msg_facch;
}
+
+ return msg_tch;
}
int tx_tchf_fn(struct l1sched_lchan_state *lchan,
To view, visit change 33710. To unsubscribe, or for help writing mail filters, visit settings.