diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c index a50b4ee54..33b79a0b2 100644 --- a/openbsc/src/libbsc/chan_alloc.c +++ b/openbsc/src/libbsc/chan_alloc.c @@ -151,6 +151,13 @@ _lc_find_trx(struct gsm_bts_trx *trx, enum gsm_phys_chan_config pchan, check_subslots = ts_subslots(ts); break; + case GSM_PCHAN_TCH_F_PDCH: + /* Available for voice when in PDCH mode */ + if (ts_pchan(ts) != GSM_PCHAN_PDCH) + continue; + /* Subslots of a PDCH ts don't need to be checked. */ + return ts->lchan; + default: /* Not a dynamic channel, there is only one pchan kind: */ check_subslots = ts_subslots(ts);