diff options
Diffstat (limited to 'src/common/gsm_data_shared.c')
-rw-r--r-- | src/common/gsm_data_shared.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index 328b57e2..2a1f9c8b 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -716,19 +716,13 @@ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, lch_idx = 0; /* TCH/F */ if (ts->pchan != GSM_PCHAN_TCH_F && ts->pchan != GSM_PCHAN_PDCH && - ts->pchan != GSM_PCHAN_TCH_F_PDCH - && !(ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH - && (ts->dyn.pchan_is == GSM_PCHAN_TCH_F - || ts->dyn.pchan_is == GSM_PCHAN_NONE - || ts->dyn.pchan_want == GSM_PCHAN_TCH_F))) + ts->pchan != GSM_PCHAN_TCH_F_PDCH && + ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; } else if ((cbits & 0x1e) == 0x02) { lch_idx = cbits & 0x1; /* TCH/H */ - if (ts->pchan != GSM_PCHAN_TCH_H - && !(ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH - && (ts->dyn.pchan_is == GSM_PCHAN_TCH_H - || ts->dyn.pchan_is == GSM_PCHAN_NONE - || ts->dyn.pchan_want == GSM_PCHAN_TCH_H))) + if (ts->pchan != GSM_PCHAN_TCH_H && + ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; } else if ((cbits & 0x1c) == 0x04) { lch_idx = cbits & 0x3; /* SDCCH/4 */ |