aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmo-bts/rsl.h1
-rw-r--r--src/osmo-bts-sysmo/oml.c11
-rw-r--r--src/osmo-bts-sysmo/sysmobts_vty.c4
3 files changed, 9 insertions, 7 deletions
diff --git a/include/osmo-bts/rsl.h b/include/osmo-bts/rsl.h
index ede9edc8..4f600741 100644
--- a/include/osmo-bts/rsl.h
+++ b/include/osmo-bts/rsl.h
@@ -8,6 +8,7 @@
enum {
LCHAN_REL_ACT_RSL,
LCHAN_REL_ACT_PCU,
+ LCHAN_REL_ACT_OML,
};
int down_rsl(struct gsm_bts_trx *trx, struct msgb *msg);
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;
}
diff --git a/src/osmo-bts-sysmo/sysmobts_vty.c b/src/osmo-bts-sysmo/sysmobts_vty.c
index 3dfd6f79..cd51a962 100644
--- a/src/osmo-bts-sysmo/sysmobts_vty.c
+++ b/src/osmo-bts-sysmo/sysmobts_vty.c
@@ -48,7 +48,7 @@
#include "utils.h"
-extern int lchan_activate(struct gsm_lchan *lchan, enum gsm_lchan_state lchan_state);
+extern int lchan_activate(struct gsm_lchan *lchan);
extern int lchan_deactivate(struct gsm_lchan *lchan);
#define TRX_STR "Transceiver related commands\n" "TRX number\n"
@@ -403,7 +403,7 @@ DEFUN(activate_lchan, activate_lchan_cmd,
struct gsm_lchan *lchan = &ts->lchan[lchan_nr];
if (!strcmp(argv[2], "activate"))
- lchan_activate(lchan, LCHAN_S_ACT_REQ);
+ lchan_activate(lchan);
else
lchan_deactivate(lchan);