diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-11-30 19:16:16 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-12-05 16:06:47 +0000 |
commit | 674bcd53d036a4c9e6cdea4e784e877cceb7cdac (patch) | |
tree | 8b7145f075d21a6f1ccac318da56e75c3f255bc1 | |
parent | 3df635655517a98b488c7a4d7f02c25e4338f128 (diff) |
bsc: ts_is_pchan_switching: Return correct IPA dyn TS target_pchan
Change-Id: Ie438b4efaa9832c44009a92c3df698875f1fa9ae
-rw-r--r-- | src/osmo-bsc/timeslot_fsm.c | 17 |
1 files 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: |