dyn TS: rsl_lchan_lookup(): add dyn PCHAN
Accept GSM_PCHAN_TCH_F_TCH_H_PDCH for TCH/F and TCH/H if in matching pchan mode or switching to matching pchan. Accept RSL_CHAN_OSMO_PDCH chan_nr cbits for GSM_PCHAN_TCH_F_TCH_H_PDCH pchan. Change-Id: If8f7c118f69e5a9f370bfe25f82f3d5a8de75b51
This commit is contained in:
parent
9518ffc299
commit
f58852d117
|
@ -658,11 +658,17 @@ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr,
|
||||||
lch_idx = 0; /* TCH/F */
|
lch_idx = 0; /* TCH/F */
|
||||||
if (ts->pchan != GSM_PCHAN_TCH_F &&
|
if (ts->pchan != GSM_PCHAN_TCH_F &&
|
||||||
ts->pchan != GSM_PCHAN_PDCH &&
|
ts->pchan != GSM_PCHAN_PDCH &&
|
||||||
ts->pchan != GSM_PCHAN_TCH_F_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_want == GSM_PCHAN_TCH_F)))
|
||||||
ok = false;
|
ok = false;
|
||||||
} else if ((cbits & 0x1e) == 0x02) {
|
} else if ((cbits & 0x1e) == 0x02) {
|
||||||
lch_idx = cbits & 0x1; /* TCH/H */
|
lch_idx = cbits & 0x1; /* TCH/H */
|
||||||
if (ts->pchan != GSM_PCHAN_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_want == GSM_PCHAN_TCH_H)))
|
||||||
ok = false;
|
ok = false;
|
||||||
} else if ((cbits & 0x1c) == 0x04) {
|
} else if ((cbits & 0x1c) == 0x04) {
|
||||||
lch_idx = cbits & 0x3; /* SDCCH/4 */
|
lch_idx = cbits & 0x3; /* SDCCH/4 */
|
||||||
|
@ -681,6 +687,10 @@ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr,
|
||||||
ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH)
|
ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH)
|
||||||
ok = false;
|
ok = false;
|
||||||
/* FIXME: we should not return first sdcch4 !!! */
|
/* FIXME: we should not return first sdcch4 !!! */
|
||||||
|
} else if ((chan_nr & RSL_CHAN_NR_MASK) == RSL_CHAN_OSMO_PDCH) {
|
||||||
|
lch_idx = 0;
|
||||||
|
if (ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH)
|
||||||
|
ok = false;
|
||||||
} else
|
} else
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue