aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/sched_lchan_tchf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/osmo-bts-trx/sched_lchan_tchf.c')
-rw-r--r--src/osmo-bts-trx/sched_lchan_tchf.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index 9c5bfc22..b1453dc0 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -241,6 +241,16 @@ int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan,
meas_avg.rssi, meas_avg.toa256,
meas_avg.ci_cb, ber10k,
PRES_INFO_UNKNOWN);
+
+ /* If we are in SPEECH mode we will generate a fake (BFI) TCH
+ * indication as well. This indication is needed by the higher
+ * layers, however we already have reported the measurement
+ * result for the current block together with the FACCH.
+ * To avoid reporting the same measurement result again with
+ * the fake (BFI) TCH indication we set meas_avg.rssi to zero.
+ * Doing so tells l1sap.c to ignore the measurement result. */
+ meas_avg.rssi = 0;
+
bfi:
if (rsl_cmode == RSL_CMOD_SPD_SPEECH) {
/* indicate bad frame */