aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-11-28 13:58:50 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-11-28 13:58:50 +0100
commit746df53ad2dde43d6d3230cfffbe0763405d4770 (patch)
tree4635efadaf46e447b67ed62f521cd3a951897269
parent686deafa487802c6a99ef099d17d2e963dc2876c (diff)
UNTESTED: send TS ERROR event to all lchans
-rw-r--r--src/osmo-bsc/timeslot_fsm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c
index fc2546003..a3374c352 100644
--- a/src/osmo-bsc/timeslot_fsm.c
+++ b/src/osmo-bsc/timeslot_fsm.c
@@ -123,7 +123,10 @@ static void ts_lchans_dispatch(struct gsm_bts_trx_ts *ts, int lchan_state, uint3
{
struct gsm_lchan *lchan;
- ts_for_each_lchan(lchan, ts) {
+ /* Make sure a LCHAN_EV_TS_ERROR also reaches lchans waiting on a dyn TS that is still in
+ * pchan_is == PDCH (e.g. because of a PDCH DEACT NACK event): ts_subslots(PDCH) == 0, so rather
+ * use pchan_on_init's subslot count. */
+ ts_as_pchan_for_each_lchan(lchan, ts, ts->pchan_on_init) {
if (lchan_state >= 0
&& !lchan_state_is(lchan, lchan_state))
continue;