summaryrefslogtreecommitdiffstats
path: root/src/host/trxcon/sched_trx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/host/trxcon/sched_trx.c')
-rw-r--r--src/host/trxcon/sched_trx.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c
index 62fe8703..37d1acf6 100644
--- a/src/host/trxcon/sched_trx.c
+++ b/src/host/trxcon/sched_trx.c
@@ -35,6 +35,7 @@
#include <osmocom/core/logging.h>
#include <osmocom/core/linuxlist.h>
+#include "l1ctl_proto.h"
#include "scheduler.h"
#include "sched_trx.h"
#include "trx_if.h"
@@ -116,6 +117,11 @@ static void sched_frame_clck_cb(struct trx_sched *sched)
if (lchan->prim == NULL)
continue;
+ /* Handover RACH needs to be handled regardless of the
+ * current channel type and the associated handler. */
+ if (PRIM_IS_RACH(lchan->prim) && lchan->prim->chan != TRXC_RACH)
+ handler = trx_lchan_desc[TRXC_RACH].tx_fn;
+
/* Poke lchan handler */
handler(trx, ts, lchan, fn, bid);
}