aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/scheduler.c
diff options
context:
space:
mode:
authorHarld Welte <laforge@osmocom.org>2020-03-22 12:26:26 +0000
committerHarald Welte <laforge@osmocom.org>2020-03-22 14:06:47 +0100
commit4e07b83a64553f7f71d7f685ebb31d07fa7186f2 (patch)
treeb617833d4e27e2f2238f6c7e3eb323fd74793e96 /src/common/scheduler.c
parentf1efd727fb97c63037942e4a962315f381373a6d (diff)
trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H
Without using the NOPE indication it might happen that we get into the following situation: * bursts 0,1,2 of a given block are received * burst 3 is lost on the radio interface, OsmoTRX sends NOPE * osmo-bts-trx doesn't pass the NOPE the the rx_tch*_fn() * we never detect the end of the block, never perform decoding and even if the burst could be fully decoded, we loose the block For voice, it can lead to lost RTP frames in uplink, which is also problematic. Let's deal with burst_len=0 in rx_tch*_fn() and use it as nope_fn. Closes: OS#4661 Related: OS#2975 Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a
Diffstat (limited to 'src/common/scheduler.c')
-rw-r--r--src/common/scheduler.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/common/scheduler.c b/src/common/scheduler.c
index e8df5373..054b6ca2 100644
--- a/src/common/scheduler.c
+++ b/src/common/scheduler.c
@@ -191,6 +191,7 @@ const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX] = {
.rts_fn = rts_tchf_fn,
.dl_fn = tx_tchf_fn,
.ul_fn = rx_tchf_fn,
+ .nope_fn = rx_tchf_fn,
},
[TRXC_TCHH_0] = {
.name = "TCH/H(0)", /* 3GPP TS 05.02, section 3.2 */
@@ -211,6 +212,7 @@ const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX] = {
.rts_fn = rts_tchh_fn,
.dl_fn = tx_tchh_fn,
.ul_fn = rx_tchh_fn,
+ .nope_fn = rx_tchh_fn,
},
[TRXC_TCHH_1] = {
.name = "TCH/H(1)", /* 3GPP TS 05.02, section 3.2 */
@@ -222,6 +224,7 @@ const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX] = {
.rts_fn = rts_tchh_fn,
.dl_fn = tx_tchh_fn,
.ul_fn = rx_tchh_fn,
+ .nope_fn = rx_tchh_fn,
},
[TRXC_SDCCH4_0] = {
.name = "SDCCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */