aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2014-01-13 14:52:05 +0100
committerAndreas Eversberg <jolly@eversberg.eu>2014-04-06 08:58:29 +0200
commitb95a7ccd911902be2f037486c1b4cc7f0566c8a1 (patch)
tree7e63135190a7d786f882bb6ec1bc76aee7580f9e
parent7a9456075ca278558106d470d9962d0a73033071 (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 ca0f7cbc..4021b70a 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;
@@ -368,6 +374,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