trxcon/sched_trx.c: fix: omit inactive logical channels

The sched_frame_clck_cb() is responsible for UL burst transmission.
Iterating over each timeslot, it chooses a proper lchan handler
according to a current frame number and a multiframe layout in use,
takes a L2 UL frame from a TX buffer, and finally calls the chosen
handler in order to to encode and transmit a taken frame.

A handler should be called only for activated logical channels...
but for some long time, there was a bug, so each lchan was
processed, including inactive ones. It's time to fix this.

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

  git pull ssh:// refs/changes/03/7203/2

diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c
index 1197f2c..8c859de 100644
--- a/src/host/trxcon/sched_trx.c
+++ b/src/host/trxcon/sched_trx.c
@@ -86,6 +86,10 @@
                if (lchan == NULL)
+               /* Omit inactive lchans */
+               if (!lchan->active)
+                       continue;
                 * If we aren't processing any primitive yet,
                 * attempt to obtain a new one from queue

To view, visit
To unsubscribe, visit

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I33e3ecc14be3ae64dfd02789c7f0970c945582c9
Gerrit-PatchSet: 2
Gerrit-Project: osmocom-bb
Gerrit-Branch: fixeria/trx
Gerrit-Owner: Vadim Yanitskiy <>
Gerrit-Reviewer: Jenkins Builder

Reply via email to