aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/scheduler_trx.c
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-03-06 14:09:22 +0100
committerHarald Welte <laforge@gnumonks.org>2017-03-23 10:03:27 +0000
commita80c7024f869cbed76d89b042b54eb3fc2513d09 (patch)
tree3f0545b334e61059a731dcfa78c4c3aec5a1e22b /src/osmo-bts-trx/scheduler_trx.c
parentb609ee879eb798f8f3836223b4702745f3f6491e (diff)
osmo-bts-trx: fix scheduling of broken frames
* DTXu: don't set marker for broken frames * do not attempt to send 0-length bursts to avoid flood of errors after bts startup Change-Id: Icb536f951386b9abe34c0dacbb203f3db1e41bb3
Diffstat (limited to 'src/osmo-bts-trx/scheduler_trx.c')
-rw-r--r--src/osmo-bts-trx/scheduler_trx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c
index 9c676d70..aca073ad 100644
--- a/src/osmo-bts-trx/scheduler_trx.c
+++ b/src/osmo-bts-trx/scheduler_trx.c
@@ -1236,7 +1236,8 @@ int rx_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
rc = tch_hr_decode(tch_data, *bursts_p,
(((fn + 26 - 10) % 26) >> 2) & 1,
&n_errors, &n_bits_total);
- lchan_set_marker(osmo_hr_check_sid(tch_data, rc), lchan); /* DTXu */
+ if (rc) /* DTXu */
+ lchan_set_marker(osmo_hr_check_sid(tch_data, rc), lchan);
break;
case GSM48_CMODE_SPEECH_AMR: /* AMR */
/* the first FN 0,8,17 or 1,9,18 defines that CMI is included
@@ -1375,7 +1376,8 @@ static int trx_sched_fn(struct gsm_bts *bts, uint32_t fn)
continue;
} else
gain = 0;
- trx_if_data(l1h, tn, fn, gain, bits, nbits);
+ if (nbits)
+ trx_if_data(l1h, tn, fn, gain, bits, nbits);
}
}