dyn TS: fix: abis_om2000: also handle dyn TS as TCH
Add ts2comb() to switch on dyn TS so that dyn TS in TCH mode are also treated like normal TCH/H or TCH/F pchans. Use ts2comb() instead of pchan2comb(). Change-Id: Iddc51a4409488d91db59228ca66aaab73ce3f1df
This commit is contained in:
parent
c3f72f63af
commit
23c3aa37ac
|
@ -1123,13 +1123,27 @@ static uint8_t pchan2comb(enum gsm_phys_chan_config pchan)
|
||||||
case GSM_PCHAN_TCH_F:
|
case GSM_PCHAN_TCH_F:
|
||||||
case GSM_PCHAN_TCH_H:
|
case GSM_PCHAN_TCH_H:
|
||||||
case GSM_PCHAN_PDCH:
|
case GSM_PCHAN_PDCH:
|
||||||
case GSM_PCHAN_TCH_F_PDCH:
|
|
||||||
return 8;
|
return 8;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static uint8_t ts2comb(struct gsm_bts_trx_ts *ts)
|
||||||
|
{
|
||||||
|
switch (ts->pchan) {
|
||||||
|
case GSM_PCHAN_TCH_F_PDCH:
|
||||||
|
if (ts->flags & TS_F_PDCH_ACTIVE)
|
||||||
|
return pchan2comb(GSM_PCHAN_PDCH);
|
||||||
|
else
|
||||||
|
return pchan2comb(GSM_PCHAN_TCH_F);
|
||||||
|
case GSM_PCHAN_TCH_F_TCH_H_PDCH:
|
||||||
|
return pchan2comb(ts->dyn.pchan_is);
|
||||||
|
default:
|
||||||
|
return pchan2comb(ts->pchan);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int put_freq_list(uint8_t *buf, uint16_t arfcn)
|
static int put_freq_list(uint8_t *buf, uint16_t arfcn)
|
||||||
{
|
{
|
||||||
buf[0] = 0x00; /* TX/RX address */
|
buf[0] = 0x00; /* TX/RX address */
|
||||||
|
@ -1179,7 +1193,7 @@ int abis_om2k_tx_ts_conf_req(struct gsm_bts_trx_ts *ts)
|
||||||
o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k));
|
o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k));
|
||||||
fill_om2k_hdr(o2k, &mo, OM2K_MSGT_TS_CONF_REQ);
|
fill_om2k_hdr(o2k, &mo, OM2K_MSGT_TS_CONF_REQ);
|
||||||
|
|
||||||
msgb_tv_put(msg, OM2K_DEI_COMBINATION, pchan2comb(ts->pchan));
|
msgb_tv_put(msg, OM2K_DEI_COMBINATION, ts2comb(ts));
|
||||||
msgb_tv_put(msg, OM2K_DEI_TS_NR, ts->nr);
|
msgb_tv_put(msg, OM2K_DEI_TS_NR, ts->nr);
|
||||||
msgb_tlv_put(msg, OM2K_DEI_FREQ_LIST, freq_list_len, freq_list);
|
msgb_tlv_put(msg, OM2K_DEI_FREQ_LIST, freq_list_len, freq_list);
|
||||||
msgb_tv_put(msg, OM2K_DEI_HSN, ts->hopping.hsn);
|
msgb_tv_put(msg, OM2K_DEI_HSN, ts->hopping.hsn);
|
||||||
|
|
Loading…
Reference in New Issue