diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2014-01-13 14:52:05 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2015-09-22 16:41:30 +0200 |
commit | f39c739bd6ae73596b3a72e2b240f012b669e5a7 (patch) | |
tree | 5112d85744ee36be46e048f17f598dd1bfbe1599 | |
parent | f66f5b3ddc5c894ae7ad4909cbd261c6920260b0 (diff) |
TRX: Activate LCHAN of CCCH when CCCH is configured on time slot
-rw-r--r-- | src/osmo-bts-trx/l1_if.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 85be4744..56cba4f0 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -263,10 +263,16 @@ static int trx_init(struct gsm_bts_trx *trx) int bts_model_trx_close(struct gsm_bts_trx *trx) { struct trx_l1h *l1h = trx_l1h_hdl(trx); + enum gsm_phys_chan_config pchan = trx->ts[0].pchan; /* close all logical channels and reset timeslots */ trx_sched_reset(l1h); + /* deactivate lchan for CCCH */ + if (pchan == GSM_PCHAN_CCCH || pchan == GSM_PCHAN_CCCH_SDCCH4) { + lchan_set_state(&trx->ts[0].lchan[4], LCHAN_S_INACTIVE); + } + /* power off transceiver, if not already */ if (l1h->config.poweron) { l1h->config.poweron = 0; @@ -365,6 +371,12 @@ static uint8_t trx_set_ts(struct gsm_bts_trx_ts *ts) if (rc) return NM_NACK_RES_NOTAVAIL; + /* activate lchan for CCCH */ + if (pchan == GSM_PCHAN_CCCH || pchan == GSM_PCHAN_CCCH_SDCCH4) { + ts->lchan[4].rel_act_kind = LCHAN_REL_ACT_OML; + lchan_set_state(&ts->lchan[4], LCHAN_S_ACTIVE); + } + slottype = transceiver_chan_types[pchan]; if (l1h->config.slottype[tn] != slottype |