From 746df53ad2dde43d6d3230cfffbe0763405d4770 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Wed, 28 Nov 2018 13:58:50 +0100 Subject: UNTESTED: send TS ERROR event to all lchans Change-Id: Iac1ec8ce1cf47aa9ab8345388e9d0eb23481039c --- src/osmo-bsc/timeslot_fsm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3