aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/oml.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-27 14:24:08 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-27 14:26:39 +0100
commitf56d56c439034c8b8bc7eb0843ba5ee1cf2400e5 (patch)
tree0c8a16404c6494315564baed536690182af74d59 /src/osmo-bts-sysmo/oml.c
parented9d643036d159bcd6dca0d7af47e6691b572a8a (diff)
sysmobts: Activate the BCCH silently have have state set to active
Use the lchan->rel_act_kind field for the BCCH activatiob by OML. The lchan's should be marked as active but no event should be sent to the BSC. This is mostly like the PCU. We can now remove the secnd argument from lchan_activate.
Diffstat (limited to 'src/osmo-bts-sysmo/oml.c')
-rw-r--r--src/osmo-bts-sysmo/oml.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c
index 4c63fd5b..395dcbc8 100644
--- a/src/osmo-bts-sysmo/oml.c
+++ b/src/osmo-bts-sysmo/oml.c
@@ -180,7 +180,7 @@ static int compl_cb_send_oml_msg(struct msgb *l1_msg, void *data)
}
#endif
-int lchan_activate(struct gsm_lchan *lchan, enum gsm_lchan_state lchan_state);
+int lchan_activate(struct gsm_lchan *lchan);
static int opstart_compl(struct gsm_abis_mo *mo, struct msgb *l1_msg)
{
@@ -204,7 +204,8 @@ static int opstart_compl(struct gsm_abis_mo *mo, struct msgb *l1_msg)
if (mo->obj_class == NM_OC_CHANNEL && mo->obj_inst.trx_nr == 0 &&
mo->obj_inst.ts_nr == 0) {
DEBUGP(DL1C, "====> trying to activate lchans of BCCH\n");
- lchan_activate(&mo->bts->c0->ts[0].lchan[4], LCHAN_S_NONE);
+ mo->bts->c0->ts[0].lchan[4].rel_act_kind = LCHAN_REL_ACT_OML;
+ lchan_activate(&mo->bts->c0->ts[0].lchan[4]);
}
/* Send OPSTART ack */
@@ -924,14 +925,14 @@ static void enqueue_sapi_act_cmd(struct gsm_lchan *lchan, int sapi, int dir)
queue_sapi_command(lchan, cmd);
}
-int lchan_activate(struct gsm_lchan *lchan, enum gsm_lchan_state lchan_state)
+int lchan_activate(struct gsm_lchan *lchan)
{
struct gsm_bts_role_bts *btsb = lchan->ts->trx->bts->role;
struct femtol1_hdl *fl1h = trx_femtol1_hdl(lchan->ts->trx);
const struct lchan_sapis *s4l = &sapis_for_lchan[lchan->type];
unsigned int i;
- lchan_set_state(lchan, lchan_state);
+ lchan_set_state(lchan, LCHAN_S_ACT_REQ);
if (!llist_empty(&lchan->sapi_cmds))
LOGP(DL1C, LOGL_ERROR,
@@ -1539,7 +1540,7 @@ int bts_model_rsl_chan_act(struct gsm_lchan *lchan, struct tlv_parsed *tp)
//uint8_t type = *TLVP_VAL(tp, RSL_IE_ACT_TYPE);
lchan->sacch_deact = 0;
- lchan_activate(lchan, LCHAN_S_ACT_REQ);
+ lchan_activate(lchan);
return 0;
}