aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2014-01-13 14:52:05 +0100
committerHarald Welte <laforge@gnumonks.org>2015-09-22 16:41:30 +0200
commitf39c739bd6ae73596b3a72e2b240f012b669e5a7 (patch)
tree5112d85744ee36be46e048f17f598dd1bfbe1599
parentf66f5b3ddc5c894ae7ad4909cbd261c6920260b0 (diff)
TRX: Activate LCHAN of CCCH when CCCH is configured on time slot
-rw-r--r--src/osmo-bts-trx/l1_if.c12
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