fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/33710 )
Change subject: trxcon/l1sched: simplify and unify prim_dequeue_tchf() ......................................................................
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,