From 674bcd53d036a4c9e6cdea4e784e877cceb7cdac Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 30 Nov 2018 19:16:16 +0100 Subject: bsc: ts_is_pchan_switching: Return correct IPA dyn TS target_pchan Change-Id: Ie438b4efaa9832c44009a92c3df698875f1fa9ae --- src/osmo-bsc/timeslot_fsm.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 269fcd526..d78428962 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -896,8 +896,21 @@ bool ts_is_pchan_switching(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config case TS_ST_WAIT_PDCH_DEACT: /* If lchan started a PDCH deact but got somehow released while * waiting for PDCH DEACT (N)ACK */ - if (target_pchan) - *target_pchan = GSM_PCHAN_NONE; + if (target_pchan) { + switch (ts->pchan_on_init) { + case GSM_PCHAN_TCH_F_TCH_H_PDCH: + if (target_pchan) + *target_pchan = GSM_PCHAN_NONE; + break; + case GSM_PCHAN_TCH_F_PDCH: + if (target_pchan) + *target_pchan = GSM_PCHAN_TCH_F; + break; + default: + /* Can't be in this state and be a non dyn TS */ + OSMO_ASSERT(false); + } + } return true; default: -- cgit v1.2.3