<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21827">View Change</a></p><div style="white-space:pre-wrap">Approvals:
fixeria: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">[cosmetic] abis_om2000: Re-format to use longer lines<br><br>For several years now we are using line lengths longer than 80chars,<br>let's re-format this code more in-line with our new style.<br><br>Change-Id: I8143280358c0e23ca7e32b882e952eac991e105b<br>---<br>M src/osmo-bsc/abis_om2000.c<br>1 file changed, 97 insertions(+), 188 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c</span><br><span>index 151ecdf..8c2d859 100644</span><br><span>--- a/src/osmo-bsc/abis_om2000.c</span><br><span>+++ b/src/osmo-bsc/abis_om2000.c</span><br><span>@@ -861,8 +861,7 @@</span><br><span> }</span><br><span> </span><br><span> /* resolve the gsm_nm_state data structure for a given MO */</span><br><span style="color: hsl(0, 100%, 40%);">-static struct gsm_nm_state *</span><br><span style="color: hsl(0, 100%, 40%);">-mo2nm_state(struct gsm_bts *bts, const struct abis_om2k_mo *mo)</span><br><span style="color: hsl(120, 100%, 40%);">+static struct gsm_nm_state *mo2nm_state(struct gsm_bts *bts, const struct abis_om2k_mo *mo)</span><br><span> {</span><br><span> struct gsm_bts_trx *trx;</span><br><span> struct gsm_nm_state *nm_state = NULL;</span><br><span>@@ -945,8 +944,7 @@</span><br><span> return NULL;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void update_mo_state(struct gsm_bts *bts, struct abis_om2k_mo *mo,</span><br><span style="color: hsl(0, 100%, 40%);">- uint8_t mo_state)</span><br><span style="color: hsl(120, 100%, 40%);">+static void update_mo_state(struct gsm_bts *bts, struct abis_om2k_mo *mo, uint8_t mo_state)</span><br><span> {</span><br><span> struct gsm_nm_state *nm_state = mo2nm_state(bts, mo);</span><br><span> struct gsm_nm_state new_state;</span><br><span>@@ -998,8 +996,7 @@</span><br><span> nm_state->availability = new_state.availability;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void update_op_state(struct gsm_bts *bts, const struct abis_om2k_mo *mo,</span><br><span style="color: hsl(0, 100%, 40%);">- uint8_t op_state)</span><br><span style="color: hsl(120, 100%, 40%);">+static void update_op_state(struct gsm_bts *bts, const struct abis_om2k_mo *mo, uint8_t op_state)</span><br><span> {</span><br><span> struct gsm_nm_state *nm_state = mo2nm_state(bts, mo);</span><br><span> struct gsm_nm_state new_state;</span><br><span>@@ -1041,8 +1038,8 @@</span><br><span> /* Route through per-TRX OML Link to the appropriate TRX */</span><br><span> trx = gsm_bts_trx_num(bts, o2h->mo.inst);</span><br><span> if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR, "MO=%s Tx Dropping msg to "</span><br><span style="color: hsl(0, 100%, 40%);">- "non-existing TRX\n", abis_om2k_mo_name(&o2h->mo));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "MO=%s Tx Dropping msg to non-existing TRX\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ abis_om2k_mo_name(&o2h->mo));</span><br><span> return -ENODEV;</span><br><span> }</span><br><span> msg->dst = trx->oml_link;</span><br><span>@@ -1051,8 +1048,8 @@</span><br><span> /* Route through per-TRX OML Link to the appropriate TRX */</span><br><span> trx = gsm_bts_trx_num(bts, o2h->mo.assoc_so);</span><br><span> if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR, "MO=%s Tx Dropping msg to "</span><br><span style="color: hsl(0, 100%, 40%);">- "non-existing TRX\n", abis_om2k_mo_name(&o2h->mo));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "MO=%s Tx Dropping msg to non-existing TRX\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ abis_om2k_mo_name(&o2h->mo));</span><br><span> return -ENODEV;</span><br><span> }</span><br><span> msg->dst = trx->oml_link;</span><br><span>@@ -1066,8 +1063,7 @@</span><br><span> return _abis_nm_sendmsg(msg);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void fill_om2k_hdr(struct abis_om2k_hdr *o2h, const struct abis_om2k_mo *mo,</span><br><span style="color: hsl(0, 100%, 40%);">- uint16_t msg_type)</span><br><span style="color: hsl(120, 100%, 40%);">+static void fill_om2k_hdr(struct abis_om2k_hdr *o2h, const struct abis_om2k_mo *mo, uint16_t msg_type)</span><br><span> {</span><br><span> o2h->om.mdisc = ABIS_OM_MDISC_FOM;</span><br><span> o2h->om.placement = ABIS_OM_PLACEMENT_ONLY;</span><br><span>@@ -1085,8 +1081,7 @@</span><br><span> struct tm *tm;</span><br><span> </span><br><span> o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k));</span><br><span style="color: hsl(0, 100%, 40%);">- fill_om2k_hdr(o2k, &bts->rbs2000.cf.om2k_mo.addr,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MSGT_CAL_TIME_RESP);</span><br><span style="color: hsl(120, 100%, 40%);">+ fill_om2k_hdr(o2k, &bts->rbs2000.cf.om2k_mo.addr, OM2K_MSGT_CAL_TIME_RESP);</span><br><span> </span><br><span> tm_t = time(NULL);</span><br><span> tm = localtime(&tm_t);</span><br><span>@@ -1102,8 +1097,7 @@</span><br><span> return abis_om2k_sendmsg(bts, msg);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int abis_om2k_tx_simple(struct gsm_bts *bts, const struct abis_om2k_mo *mo,</span><br><span style="color: hsl(0, 100%, 40%);">- uint16_t msg_type)</span><br><span style="color: hsl(120, 100%, 40%);">+static int abis_om2k_tx_simple(struct gsm_bts *bts, const struct abis_om2k_mo *mo, uint16_t msg_type)</span><br><span> {</span><br><span> struct msgb *msg = om2k_msgb_alloc();</span><br><span> struct abis_om2k_hdr *o2k;</span><br><span>@@ -1111,8 +1105,7 @@</span><br><span> o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k));</span><br><span> fill_om2k_hdr(o2k, mo, msg_type);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(mo),</span><br><span style="color: hsl(0, 100%, 40%);">- get_value_string(om2k_msgcode_vals, msg_type));</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(mo), get_value_string(om2k_msgcode_vals, msg_type));</span><br><span> </span><br><span> return abis_om2k_sendmsg(bts, msg);</span><br><span> }</span><br><span>@@ -1157,8 +1150,7 @@</span><br><span> return abis_om2k_tx_simple(bts, mo, OM2K_MSGT_DISABLE_REQ);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int abis_om2k_tx_op_info(struct gsm_bts *bts, const struct abis_om2k_mo *mo,</span><br><span style="color: hsl(0, 100%, 40%);">- uint8_t operational)</span><br><span style="color: hsl(120, 100%, 40%);">+int abis_om2k_tx_op_info(struct gsm_bts *bts, const struct abis_om2k_mo *mo, uint8_t operational)</span><br><span> {</span><br><span> struct msgb *msg = om2k_msgb_alloc();</span><br><span> struct abis_om2k_hdr *o2k;</span><br><span>@@ -1228,19 +1220,16 @@</span><br><span> om2k_fill_is_conn_grp(&cg[i++], grp->icp1, grp->icp2, grp->ci);</span><br><span> </span><br><span> o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k));</span><br><span style="color: hsl(0, 100%, 40%);">- fill_om2k_hdr(o2k, &bts->rbs2000.is.om2k_mo.addr,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MSGT_IS_CONF_REQ);</span><br><span style="color: hsl(120, 100%, 40%);">+ fill_om2k_hdr(o2k, &bts->rbs2000.is.om2k_mo.addr, OM2K_MSGT_IS_CONF_REQ);</span><br><span> </span><br><span> msgb_tv_put(msg, OM2K_DEI_LIST_NR, 1);</span><br><span> msgb_tv_put(msg, OM2K_DEI_END_LIST_NR, 1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- msgb_tlv_put(msg, OM2K_DEI_IS_CONN_LIST,</span><br><span style="color: hsl(0, 100%, 40%);">- num_grps * sizeof(*cg), (uint8_t *)cg);</span><br><span style="color: hsl(120, 100%, 40%);">+ msgb_tlv_put(msg, OM2K_DEI_IS_CONN_LIST, num_grps * sizeof(*cg), (uint8_t *)cg);</span><br><span> </span><br><span> talloc_free(cg);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DNM, "Tx MO=%s %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(&bts->rbs2000.is.om2k_mo.addr),</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(&bts->rbs2000.is.om2k_mo.addr),</span><br><span> get_value_string(om2k_msgcode_vals, OM2K_MSGT_IS_CONF_REQ));</span><br><span> </span><br><span> return abis_om2k_sendmsg(bts, msg);</span><br><span>@@ -1286,11 +1275,9 @@</span><br><span> </span><br><span> /* pre-pend the OM2K header */</span><br><span> o2k = (struct abis_om2k_hdr *) msgb_push(msg, sizeof(*o2k));</span><br><span style="color: hsl(0, 100%, 40%);">- fill_om2k_hdr(o2k, &bts->rbs2000.con.om2k_mo.addr,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MSGT_CON_CONF_REQ);</span><br><span style="color: hsl(120, 100%, 40%);">+ fill_om2k_hdr(o2k, &bts->rbs2000.con.om2k_mo.addr, OM2K_MSGT_CON_CONF_REQ);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DNM, "Tx MO=%s %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(&bts->rbs2000.con.om2k_mo.addr),</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(&bts->rbs2000.con.om2k_mo.addr),</span><br><span> get_value_string(om2k_msgcode_vals, OM2K_MSGT_CON_CONF_REQ));</span><br><span> </span><br><span> return abis_om2k_sendmsg(bts, msg);</span><br><span>@@ -1316,17 +1303,14 @@</span><br><span> </span><br><span> /* pre-pend the OM2K header */</span><br><span> o2k = (struct abis_om2k_hdr *) msgb_push(msg, sizeof(*o2k));</span><br><span style="color: hsl(0, 100%, 40%);">- fill_om2k_hdr(o2k, &bts->rbs2000.mctr.om2k_mo.addr,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MSGT_MCTR_CONF_REQ);</span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DNM, "Tx MO=%s %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(&bts->rbs2000.mctr.om2k_mo.addr),</span><br><span style="color: hsl(120, 100%, 40%);">+ fill_om2k_hdr(o2k, &bts->rbs2000.mctr.om2k_mo.addr, OM2K_MSGT_MCTR_CONF_REQ);</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(&bts->rbs2000.mctr.om2k_mo.addr),</span><br><span> get_value_string(om2k_msgcode_vals, OM2K_MSGT_MCTR_CONF_REQ));</span><br><span> </span><br><span> return abis_om2k_sendmsg(bts, msg);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void om2k_trx_to_mo(struct abis_om2k_mo *mo,</span><br><span style="color: hsl(0, 100%, 40%);">- const struct gsm_bts_trx *trx,</span><br><span style="color: hsl(120, 100%, 40%);">+static void om2k_trx_to_mo(struct abis_om2k_mo *mo, const struct gsm_bts_trx *trx,</span><br><span> enum abis_om2k_mo_cls cls)</span><br><span> {</span><br><span> mo->class = cls;</span><br><span>@@ -1335,8 +1319,7 @@</span><br><span> mo->assoc_so = 255;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void om2k_ts_to_mo(struct abis_om2k_mo *mo,</span><br><span style="color: hsl(0, 100%, 40%);">- const struct gsm_bts_trx_ts *ts)</span><br><span style="color: hsl(120, 100%, 40%);">+static void om2k_ts_to_mo(struct abis_om2k_mo *mo, const struct gsm_bts_trx_ts *ts)</span><br><span> {</span><br><span> mo->class = OM2K_MO_CLS_TS;</span><br><span> mo->bts = 0;</span><br><span>@@ -1400,16 +1383,13 @@</span><br><span> struct abis_om2k_hdr *o2k;</span><br><span> </span><br><span> o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k));</span><br><span style="color: hsl(0, 100%, 40%);">- fill_om2k_hdr(o2k, &bts->rbs2000.tf.om2k_mo.addr,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MSGT_TF_CONF_REQ);</span><br><span style="color: hsl(120, 100%, 40%);">+ fill_om2k_hdr(o2k, &bts->rbs2000.tf.om2k_mo.addr, OM2K_MSGT_TF_CONF_REQ);</span><br><span> </span><br><span> msgb_tv_put(msg, OM2K_DEI_TF_MODE, OM2K_TF_MODE_STANDALONE);</span><br><span> msgb_tv_put(msg, OM2K_DEI_TF_SYNC_SRC, 0x00);</span><br><span style="color: hsl(0, 100%, 40%);">- msgb_tv_fixed_put(msg, OM2K_DEI_FS_OFFSET,</span><br><span style="color: hsl(0, 100%, 40%);">- sizeof(fs_offset_undef), fs_offset_undef);</span><br><span style="color: hsl(120, 100%, 40%);">+ msgb_tv_fixed_put(msg, OM2K_DEI_FS_OFFSET, sizeof(fs_offset_undef), fs_offset_undef);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DNM, "Tx MO=%s %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(&bts->rbs2000.tf.om2k_mo.addr),</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(&bts->rbs2000.tf.om2k_mo.addr),</span><br><span> get_value_string(om2k_msgcode_vals, OM2K_MSGT_TF_CONF_REQ));</span><br><span> </span><br><span> return abis_om2k_sendmsg(bts, msg);</span><br><span>@@ -1438,10 +1418,8 @@</span><br><span> static uint8_t ts2comb(struct gsm_bts_trx_ts *ts)</span><br><span> {</span><br><span> if (ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR, "%s pchan %s not intended for use"</span><br><span style="color: hsl(0, 100%, 40%);">- " with OM2000, use %s instead\n",</span><br><span style="color: hsl(0, 100%, 40%);">- gsm_ts_and_pchan_name(ts),</span><br><span style="color: hsl(0, 100%, 40%);">- gsm_pchan_name(GSM_PCHAN_TCH_F_PDCH),</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "%s pchan %s not intended for use with OM2000, use %s instead\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ gsm_ts_and_pchan_name(ts), gsm_pchan_name(GSM_PCHAN_TCH_F_PDCH),</span><br><span> gsm_pchan_name(GSM_PCHAN_TCH_F_TCH_H_PDCH));</span><br><span> /* If we allowed initialization of TCH/F_PDCH, it would fail</span><br><span> * when we try to send the ip.access specific RSL PDCH Act</span><br><span>@@ -1676,20 +1654,17 @@</span><br><span> switch (omfp->mo->addr.class) {</span><br><span> case OM2K_MO_CLS_CF:</span><br><span> /* no Connect required, is always connected */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_start_req(omfp->trx->bts, &omfp->mo->addr);</span><br><span> break;</span><br><span> case OM2K_MO_CLS_TRXC:</span><br><span> /* no Connect required, start with Reset */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_RES_COMPL,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_RES_COMPL, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_reset_cmd(omfp->trx->bts, &omfp->mo->addr);</span><br><span> break;</span><br><span> default:</span><br><span> /* start with Connect */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_CONN_COMPL,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_CONN_COMPL, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_connect_cmd(omfp->trx->bts, &omfp->mo->addr);</span><br><span> break;</span><br><span> }</span><br><span>@@ -1703,14 +1678,12 @@</span><br><span> #if 0</span><br><span> case OM2K_MO_CLS_TF:</span><br><span> /* skip the reset, hope that helps */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_start_req(omfp->trx->bts, &omfp->mo->addr);</span><br><span> break;</span><br><span> #endif</span><br><span> default:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_RES_COMPL,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_RES_COMPL, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_reset_cmd(omfp->trx->bts, &omfp->mo->addr);</span><br><span> break;</span><br><span> }</span><br><span>@@ -1720,8 +1693,7 @@</span><br><span> {</span><br><span> struct om2k_mo_fsm_priv *omfp = fi->priv;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_start_req(omfp->trx->bts, &omfp->mo->addr);</span><br><span> }</span><br><span> </span><br><span>@@ -1731,8 +1703,7 @@</span><br><span> </span><br><span> switch (omd->msg_type) {</span><br><span> case OM2K_MSGT_START_REQ_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_RES,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_START_RES, OM2K_TIMEOUT, 0);</span><br><span> break;</span><br><span> case OM2K_MSGT_START_REQ_REJ:</span><br><span> osmo_fsm_inst_state_chg(fi, OM2K_ST_ERROR, 0, 0);</span><br><span>@@ -1749,21 +1720,18 @@</span><br><span> case OM2K_MO_CLS_CF:</span><br><span> case OM2K_MO_CLS_TRXC:</span><br><span> /* Transition directly to Operational Info */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_OPINFO_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_OPINFO_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_op_info(omfp->trx->bts, &omfp->mo->addr, 1);</span><br><span> return;</span><br><span> case OM2K_MO_CLS_DP:</span><br><span> /* Transition directory to WAIT_ENABLE_ACCEPT */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_enable_req(omfp->trx->bts, &omfp->mo->addr);</span><br><span> return;</span><br><span> #if 0</span><br><span> case OM2K_MO_CLS_TF:</span><br><span> /* skip the config, hope that helps speeding things up */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_enable_req(omfp->trx->bts, &omfp->mo->addr);</span><br><span> return;</span><br><span> #endif</span><br><span>@@ -1826,8 +1794,7 @@</span><br><span> return;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_enable_req(omfp->trx->bts, &omfp->mo->addr);</span><br><span> }</span><br><span> </span><br><span>@@ -1841,11 +1808,9 @@</span><br><span> osmo_fsm_inst_state_chg(fi, OM2K_ST_ERROR, 0, 0);</span><br><span> break;</span><br><span> case OM2K_MSGT_ENABLE_REQ_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">- if (omfp->mo->addr.class == OM2K_MO_CLS_IS &&</span><br><span style="color: hsl(0, 100%, 40%);">- omfp->trx->bts->rbs2000.use_superchannel)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (omfp->mo->addr.class == OM2K_MO_CLS_IS && omfp->trx->bts->rbs2000.use_superchannel)</span><br><span> e1inp_ericsson_set_altc(omfp->trx->bts->oml_link->ts->line, 1);</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_RES,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_ENABLE_RES, OM2K_TIMEOUT, 0);</span><br><span> }</span><br><span> }</span><br><span> </span><br><span>@@ -1855,8 +1820,7 @@</span><br><span> //struct om2k_decoded_msg *omd = data;</span><br><span> /* TODO: check if state is actually enabled now? */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_OPINFO_ACCEPT,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_ST_WAIT_OPINFO_ACCEPT, OM2K_TIMEOUT, 0);</span><br><span> abis_om2k_tx_op_info(omfp->trx->bts, &omfp->mo->addr, 1);</span><br><span> }</span><br><span> </span><br><span>@@ -2029,25 +1993,21 @@</span><br><span> switch (odm->msg_type) {</span><br><span> case OM2K_MSGT_CONNECT_COMPL:</span><br><span> case OM2K_MSGT_CONNECT_REJ:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_CONN_COMPL, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_CONN_COMPL, odm);</span><br><span> break;</span><br><span> </span><br><span> case OM2K_MSGT_RESET_COMPL:</span><br><span> case OM2K_MSGT_RESET_REJ:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_RESET_COMPL, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_RESET_COMPL, odm);</span><br><span> break;</span><br><span> </span><br><span> case OM2K_MSGT_START_REQ_ACK:</span><br><span> case OM2K_MSGT_START_REQ_REJ:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_START_REQ_ACCEPT, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_START_REQ_ACCEPT, odm);</span><br><span> break;</span><br><span> </span><br><span> case OM2K_MSGT_START_RES:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_START_RES, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_START_RES, odm);</span><br><span> break;</span><br><span> </span><br><span> case OM2K_MSGT_CON_CONF_REQ_ACK:</span><br><span>@@ -2057,8 +2017,7 @@</span><br><span> case OM2K_MSGT_TF_CONF_REQ_ACK:</span><br><span> case OM2K_MSGT_TS_CONF_REQ_ACK:</span><br><span> case OM2K_MSGT_TX_CONF_REQ_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_CFG_REQ_ACCEPT, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_CFG_REQ_ACCEPT, odm);</span><br><span> break;</span><br><span> </span><br><span> case OM2K_MSGT_CON_CONF_RES:</span><br><span>@@ -2068,24 +2027,20 @@</span><br><span> case OM2K_MSGT_TF_CONF_RES:</span><br><span> case OM2K_MSGT_TS_CONF_RES:</span><br><span> case OM2K_MSGT_TX_CONF_RES:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_CFG_RES, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_CFG_RES, odm);</span><br><span> break;</span><br><span> </span><br><span> case OM2K_MSGT_ENABLE_REQ_ACK:</span><br><span> case OM2K_MSGT_ENABLE_REQ_REJ:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_ENA_REQ_ACCEPT, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_ENA_REQ_ACCEPT, odm);</span><br><span> break;</span><br><span> case OM2K_MSGT_ENABLE_RES:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_ENA_RES, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_ENA_RES, odm);</span><br><span> break;</span><br><span> </span><br><span> case OM2K_MSGT_OP_INFO_ACK:</span><br><span> case OM2K_MSGT_OP_INFO_REJ:</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_dispatch(mo->fsm,</span><br><span style="color: hsl(0, 100%, 40%);">- OM2K_MO_EVT_RX_OPINFO_ACC, odm);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(mo->fsm, OM2K_MO_EVT_RX_OPINFO_ACC, odm);</span><br><span> break;</span><br><span> default:</span><br><span> return -1;</span><br><span>@@ -2138,10 +2093,8 @@</span><br><span> struct om2k_trx_fsm_priv *otfp = fi->priv;</span><br><span> </span><br><span> /* First initialize TRXC */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TRXC,</span><br><span style="color: hsl(0, 100%, 40%);">- TRX_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TRXC_DONE, otfp->trx,</span><br><span style="color: hsl(0, 100%, 40%);">- &otfp->trx->rbs2000.trxc.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TRXC, TRX_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TRXC_DONE, otfp->trx, &otfp->trx->rbs2000.trxc.om2k_mo);</span><br><span> }</span><br><span> </span><br><span> static void om2k_trx_s_wait_trxc(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2149,10 +2102,8 @@</span><br><span> struct om2k_trx_fsm_priv *otfp = fi->priv;</span><br><span> </span><br><span> /* Initialize TX after TRXC */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TX,</span><br><span style="color: hsl(0, 100%, 40%);">- TRX_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TX_DONE, otfp->trx,</span><br><span style="color: hsl(0, 100%, 40%);">- &otfp->trx->rbs2000.tx.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TX, TRX_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TX_DONE, otfp->trx, &otfp->trx->rbs2000.tx.om2k_mo);</span><br><span> }</span><br><span> </span><br><span> static void om2k_trx_s_wait_tx(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2160,10 +2111,8 @@</span><br><span> struct om2k_trx_fsm_priv *otfp = fi->priv;</span><br><span> </span><br><span> /* Initialize RX after TX */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_RX,</span><br><span style="color: hsl(0, 100%, 40%);">- TRX_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_TRX_EVT_RX_DONE, otfp->trx,</span><br><span style="color: hsl(0, 100%, 40%);">- &otfp->trx->rbs2000.rx.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_RX, TRX_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_TRX_EVT_RX_DONE, otfp->trx, &otfp->trx->rbs2000.rx.om2k_mo);</span><br><span> }</span><br><span> </span><br><span> static void om2k_trx_s_wait_rx(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2172,12 +2121,10 @@</span><br><span> struct gsm_bts_trx_ts *ts;</span><br><span> </span><br><span> /* Initialize Timeslots after TX */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TS,</span><br><span style="color: hsl(0, 100%, 40%);">- TRX_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TS, TRX_FSM_TIMEOUT, 0);</span><br><span> otfp->cur_ts_nr = 0;</span><br><span> ts = &otfp->trx->ts[otfp->cur_ts_nr];</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx,</span><br><span style="color: hsl(0, 100%, 40%);">- &ts->rbs2000.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx, &ts->rbs2000.om2k_mo);</span><br><span> }</span><br><span> </span><br><span> static void om2k_trx_s_wait_ts(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2193,8 +2140,7 @@</span><br><span> if (++otfp->cur_ts_nr < 8) {</span><br><span> /* iterate to the next timeslot */</span><br><span> ts = &otfp->trx->ts[otfp->cur_ts_nr];</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx,</span><br><span style="color: hsl(0, 100%, 40%);">- &ts->rbs2000.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx, &ts->rbs2000.om2k_mo);</span><br><span> } else {</span><br><span> /* only after all 8 TS */</span><br><span> osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_SEND_SI, 0, 0);</span><br><span>@@ -2364,10 +2310,8 @@</span><br><span> struct gsm_bts *bts = obfp->bts;</span><br><span> </span><br><span> OSMO_ASSERT(event == OM2K_BTS_EVT_START);</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_CF,</span><br><span style="color: hsl(0, 100%, 40%);">- BTS_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_BTS_EVT_CF_DONE, bts->c0,</span><br><span style="color: hsl(0, 100%, 40%);">- &bts->rbs2000.cf.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_CF, BTS_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_BTS_EVT_CF_DONE, bts->c0, &bts->rbs2000.cf.om2k_mo);</span><br><span> }</span><br><span> </span><br><span> static void om2k_bts_s_wait_cf(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2378,8 +2322,7 @@</span><br><span> OSMO_ASSERT(event == OM2K_BTS_EVT_CF_DONE);</span><br><span> /* TF can take a long time to initialize, wait for 10min */</span><br><span> osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TF, 600, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_BTS_EVT_TF_DONE, bts->c0,</span><br><span style="color: hsl(0, 100%, 40%);">- &bts->rbs2000.tf.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_BTS_EVT_TF_DONE, bts->c0, &bts->rbs2000.tf.om2k_mo);</span><br><span> }</span><br><span> </span><br><span> static void om2k_bts_s_wait_tf(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2406,10 +2349,8 @@</span><br><span> </span><br><span> OSMO_ASSERT(event == OM2K_BTS_EVT_CON_DONE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_IS,</span><br><span style="color: hsl(0, 100%, 40%);">- BTS_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_BTS_EVT_IS_DONE, bts->c0,</span><br><span style="color: hsl(0, 100%, 40%);">- &bts->rbs2000.is.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_IS, BTS_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_BTS_EVT_IS_DONE, bts->c0, &bts->rbs2000.is.om2k_mo);</span><br><span> }</span><br><span> </span><br><span> static void om2k_bts_s_wait_is(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2421,13 +2362,10 @@</span><br><span> </span><br><span> /* If we're running OML >= G12R13, start MCTR, else skip directly to TRX */</span><br><span> if (bts->rbs2000.om2k_version[0].active >= 0x0c0d) {</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_MCTR,</span><br><span style="color: hsl(0, 100%, 40%);">- BTS_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_fsm_start(fi, OM2K_BTS_EVT_MCTR_DONE, bts->c0,</span><br><span style="color: hsl(0, 100%, 40%);">- &bts->rbs2000.mctr.om2k_mo);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_MCTR, BTS_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_fsm_start(fi, OM2K_BTS_EVT_MCTR_DONE, bts->c0, &bts->rbs2000.mctr.om2k_mo);</span><br><span> } else {</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD,</span><br><span style="color: hsl(0, 100%, 40%);">- TRX_LAPD_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD, TRX_LAPD_TIMEOUT, 0);</span><br><span> }</span><br><span> }</span><br><span> </span><br><span>@@ -2435,8 +2373,7 @@</span><br><span> {</span><br><span> OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD,</span><br><span style="color: hsl(0, 100%, 40%);">- TRX_LAPD_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD, TRX_LAPD_TIMEOUT, 0);</span><br><span> }</span><br><span> </span><br><span> static void om2k_bts_s_wait_trx_lapd(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>@@ -2446,8 +2383,7 @@</span><br><span> </span><br><span> OSMO_ASSERT(event == OM2K_BTS_EVT_TRX_LAPD_UP);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX,</span><br><span style="color: hsl(0, 100%, 40%);">- BTS_FSM_TIMEOUT, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, BTS_FSM_TIMEOUT, 0);</span><br><span> obfp->next_trx_nr = 0;</span><br><span> trx = gsm_bts_trx_num(obfp->bts, obfp->next_trx_nr++);</span><br><span> om2k_trx_fsm_start(fi, trx, OM2K_BTS_EVT_TRX_DONE);</span><br><span>@@ -2570,8 +2506,7 @@</span><br><span> </span><br><span> snprintf(idbuf, sizeof(idbuf), "%u", bts->nr);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- fi = osmo_fsm_inst_alloc(&om2k_bts_fsm, bts, NULL,</span><br><span style="color: hsl(0, 100%, 40%);">- LOGL_DEBUG, idbuf);</span><br><span style="color: hsl(120, 100%, 40%);">+ fi = osmo_fsm_inst_alloc(&om2k_bts_fsm, bts, NULL, LOGL_DEBUG, idbuf);</span><br><span> if (!fi)</span><br><span> return NULL;</span><br><span> fi->priv = obfp = talloc_zero(fi, struct om2k_bts_fsm_priv);</span><br><span>@@ -2725,13 +2660,11 @@</span><br><span> </span><br><span> abis_om2k_msg_tlv_parse(&tp, o2h);</span><br><span> if (TLVP_PRESENT(&tp, OM2K_DEI_REASON_CODE))</span><br><span style="color: hsl(0, 100%, 40%);">- LOGPC(DNM, LOGL_ERROR, ", Reason 0x%02x",</span><br><span style="color: hsl(0, 100%, 40%);">- *TLVP_VAL(&tp, OM2K_DEI_REASON_CODE));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGPC(DNM, LOGL_ERROR, ", Reason 0x%02x", *TLVP_VAL(&tp, OM2K_DEI_REASON_CODE));</span><br><span> </span><br><span> if (TLVP_PRESENT(&tp, OM2K_DEI_RESULT_CODE))</span><br><span> LOGPC(DNM, LOGL_ERROR, ", Result %s",</span><br><span style="color: hsl(0, 100%, 40%);">- get_value_string(om2k_result_strings,</span><br><span style="color: hsl(0, 100%, 40%);">- *TLVP_VAL(&tp, OM2K_DEI_RESULT_CODE)));</span><br><span style="color: hsl(120, 100%, 40%);">+ get_value_string(om2k_result_strings, *TLVP_VAL(&tp, OM2K_DEI_RESULT_CODE)));</span><br><span> LOGPC(DNM, LOGL_ERROR, "\n");</span><br><span> </span><br><span> return 0;</span><br><span>@@ -2745,8 +2678,7 @@</span><br><span> return -EIO;</span><br><span> mo_state = *TLVP_VAL(&odm->tp, OM2K_DEI_MO_STATE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_DEBUG, "Rx MO=%s %s, MO State: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(&odm->o2h.mo),</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_DEBUG, "Rx MO=%s %s, MO State: %s\n", abis_om2k_mo_name(&odm->o2h.mo),</span><br><span> get_value_string(om2k_msgcode_vals, odm->msg_type),</span><br><span> get_value_string(om2k_mostate_vals, mo_state));</span><br><span> </span><br><span>@@ -2754,10 +2686,8 @@</span><br><span> * not yield an enabled mo-state */</span><br><span> if (odm->msg_type == OM2K_MSGT_ENABLE_RES</span><br><span> && mo_state != OM2K_MO_S_ENABLED) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">- "Rx MO=%s %s Failed to enable MO State!\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(&odm->o2h.mo),</span><br><span style="color: hsl(0, 100%, 40%);">- get_value_string(om2k_msgcode_vals, odm->msg_type));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "Rx MO=%s %s Failed to enable MO State!\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ abis_om2k_mo_name(&odm->o2h.mo), get_value_string(om2k_msgcode_vals, odm->msg_type));</span><br><span> }</span><br><span> </span><br><span> update_mo_state(bts, &odm->o2h.mo, mo_state);</span><br><span>@@ -2827,8 +2757,7 @@</span><br><span> src++;</span><br><span> src_len--;</span><br><span> if (msg_code != OM2K_MSGT_FAULT_REP) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR, "Rx MO=%s Fault report: invalid message code!\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(mo));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "Rx MO=%s Fault report: invalid message code!\n", abis_om2k_mo_name(mo));</span><br><span> return;</span><br><span> }</span><br><span> </span><br><span>@@ -2842,20 +2771,17 @@</span><br><span> /* Bail if an the maximum number of TLV fields</span><br><span> * have been parsed */</span><br><span> if (tlv_count >= 11) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">- "Rx MO=%s Fault Report: too many tlv elements!\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "Rx MO=%s Fault Report: too many tlv elements!\n",</span><br><span> abis_om2k_mo_name(mo));</span><br><span> return;</span><br><span> }</span><br><span> </span><br><span> /* Parse TLV field */</span><br><span style="color: hsl(0, 100%, 40%);">- rc = tlv_parse_one(&tag, &tag_len, &val, &om2k_att_tlvdef,</span><br><span style="color: hsl(0, 100%, 40%);">- src + src_pos, src_len - src_pos);</span><br><span style="color: hsl(120, 100%, 40%);">+ rc = tlv_parse_one(&tag, &tag_len, &val, &om2k_att_tlvdef, src + src_pos, src_len - src_pos);</span><br><span> if (rc > 0)</span><br><span> src_pos += rc;</span><br><span> else {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">- "Rx MO=%s Fault Report: invalid tlv element!\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "Rx MO=%s Fault Report: invalid tlv element!\n",</span><br><span> abis_om2k_mo_name(mo));</span><br><span> return;</span><br><span> }</span><br><span>@@ -2883,8 +2809,7 @@</span><br><span> }</span><br><span> </span><br><span> if (!faults_present) {</span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DNM, "Rx MO=%s Fault Report: All faults ceased!\n",</span><br><span style="color: hsl(0, 100%, 40%);">- abis_om2k_mo_name(mo));</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGP(DNM, "Rx MO=%s Fault Report: All faults ceased!\n", abis_om2k_mo_name(mo));</span><br><span> }</span><br><span> }</span><br><span> </span><br><span>@@ -2901,28 +2826,24 @@</span><br><span> </span><br><span> /* Various consistency checks */</span><br><span> if (oh->placement != ABIS_OM_PLACEMENT_ONLY) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR, "ABIS OML placement 0x%x not supported\n",</span><br><span style="color: hsl(0, 100%, 40%);">- oh->placement);</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "ABIS OML placement 0x%x not supported\n", oh->placement);</span><br><span> if (oh->placement != ABIS_OM_PLACEMENT_FIRST)</span><br><span> return -EINVAL;</span><br><span> }</span><br><span> if (oh->sequence != 0) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR, "ABIS OML sequence 0x%x != 0x00\n",</span><br><span style="color: hsl(0, 100%, 40%);">- oh->sequence);</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "ABIS OML sequence 0x%x != 0x00\n", oh->sequence);</span><br><span> return -EINVAL;</span><br><span> }</span><br><span> </span><br><span> msg->l3h = (unsigned char *)o2h + sizeof(*o2h);</span><br><span> </span><br><span> if (oh->mdisc != ABIS_OM_MDISC_FOM) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DNM, LOGL_ERROR, "unknown ABIS OM2000 message discriminator 0x%x\n",</span><br><span style="color: hsl(0, 100%, 40%);">- oh->mdisc);</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DNM, LOGL_ERROR, "unknown ABIS OM2000 message discriminator 0x%x\n", oh->mdisc);</span><br><span> return -EINVAL;</span><br><span> }</span><br><span> </span><br><span> DEBUGP(DNM, "Rx MO=%s %s (%s)\n", abis_om2k_mo_name(&o2h->mo),</span><br><span style="color: hsl(0, 100%, 40%);">- get_value_string(om2k_msgcode_vals, msg_type),</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_hexdump(msg->l2h, msgb_l2len(msg)));</span><br><span style="color: hsl(120, 100%, 40%);">+ get_value_string(om2k_msgcode_vals, msg_type), osmo_hexdump(msg->l2h, msgb_l2len(msg)));</span><br><span> </span><br><span> om2k_decode_msg(&odm, msg);</span><br><span> </span><br><span>@@ -3007,14 +2928,12 @@</span><br><span> mo = get_om2k_mo(bts, &o2h->mo);</span><br><span> if (!mo) {</span><br><span> LOGP(DNM, LOGL_ERROR, "Couldn't resolve MO for OM2K msg "</span><br><span style="color: hsl(0, 100%, 40%);">- "%s: %s\n", get_value_string(om2k_msgcode_vals, msg_type),</span><br><span style="color: hsl(0, 100%, 40%);">- msgb_hexdump(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+ "%s: %s\n", get_value_string(om2k_msgcode_vals, msg_type), msgb_hexdump(msg));</span><br><span> return 0;</span><br><span> }</span><br><span> if (!mo->fsm) {</span><br><span> LOGP(DNM, LOGL_ERROR, "MO object should not generate any message. fsm == NULL "</span><br><span style="color: hsl(0, 100%, 40%);">- "%s: %s\n", get_value_string(om2k_msgcode_vals, msg_type),</span><br><span style="color: hsl(0, 100%, 40%);">- msgb_hexdump(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+ "%s: %s\n", get_value_string(om2k_msgcode_vals, msg_type), msgb_hexdump(msg));</span><br><span> return 0;</span><br><span> }</span><br><span> </span><br><span>@@ -3025,8 +2944,7 @@</span><br><span> return rc;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void om2k_mo_init(struct om2k_mo *mo, uint8_t class,</span><br><span style="color: hsl(0, 100%, 40%);">- uint8_t bts_nr, uint8_t assoc_so, uint8_t inst)</span><br><span style="color: hsl(120, 100%, 40%);">+static void om2k_mo_init(struct om2k_mo *mo, uint8_t class, uint8_t bts_nr, uint8_t assoc_so, uint8_t inst)</span><br><span> {</span><br><span> mo->addr.class = class;</span><br><span> mo->addr.bts = bts_nr;</span><br><span>@@ -3042,17 +2960,13 @@</span><br><span> </span><br><span> OSMO_ASSERT(bts->type == GSM_BTS_TYPE_RBS2000);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&trx->rbs2000.trxc.om2k_mo, OM2K_MO_CLS_TRXC,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 255, trx->nr);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&trx->rbs2000.tx.om2k_mo, OM2K_MO_CLS_TX,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 255, trx->nr);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&trx->rbs2000.rx.om2k_mo, OM2K_MO_CLS_RX,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 255, trx->nr);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&trx->rbs2000.trxc.om2k_mo, OM2K_MO_CLS_TRXC, bts->nr, 255, trx->nr);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&trx->rbs2000.tx.om2k_mo, OM2K_MO_CLS_TX, bts->nr, 255, trx->nr);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&trx->rbs2000.rx.om2k_mo, OM2K_MO_CLS_RX, bts->nr, 255, trx->nr);</span><br><span> </span><br><span> for (i = 0; i < ARRAY_SIZE(trx->ts); i++) {</span><br><span> struct gsm_bts_trx_ts *ts = &trx->ts[i];</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&ts->rbs2000.om2k_mo, OM2K_MO_CLS_TS,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, trx->nr, i);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&ts->rbs2000.om2k_mo, OM2K_MO_CLS_TS, bts->nr, trx->nr, i);</span><br><span> OSMO_ASSERT(ts->fi);</span><br><span> }</span><br><span> }</span><br><span>@@ -3062,18 +2976,13 @@</span><br><span> {</span><br><span> OSMO_ASSERT(bts->type == GSM_BTS_TYPE_RBS2000);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&bts->rbs2000.cf.om2k_mo, OM2K_MO_CLS_CF,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 0xFF, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&bts->rbs2000.is.om2k_mo, OM2K_MO_CLS_IS,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 0xFF, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&bts->rbs2000.con.om2k_mo, OM2K_MO_CLS_CON,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 0xFF, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&bts->rbs2000.dp.om2k_mo, OM2K_MO_CLS_DP,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 0xFF, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&bts->rbs2000.tf.om2k_mo, OM2K_MO_CLS_TF,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 0xFF, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- om2k_mo_init(&bts->rbs2000.mctr.om2k_mo, OM2K_MO_CLS_MCTR,</span><br><span style="color: hsl(0, 100%, 40%);">- bts->nr, 0xFF, 0); // FIXME: There can be multiple MCTRs ...</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&bts->rbs2000.cf.om2k_mo, OM2K_MO_CLS_CF, bts->nr, 0xFF, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&bts->rbs2000.is.om2k_mo, OM2K_MO_CLS_IS, bts->nr, 0xFF, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&bts->rbs2000.con.om2k_mo, OM2K_MO_CLS_CON, bts->nr, 0xFF, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&bts->rbs2000.dp.om2k_mo, OM2K_MO_CLS_DP, bts->nr, 0xFF, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&bts->rbs2000.tf.om2k_mo, OM2K_MO_CLS_TF, bts->nr, 0xFF, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ om2k_mo_init(&bts->rbs2000.mctr.om2k_mo, OM2K_MO_CLS_MCTR, bts->nr, 0xFF, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ // FIXME: There can be multiple MCTRs ...</span><br><span> }</span><br><span> </span><br><span> static __attribute__((constructor)) void abis_om2k_init(void)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21827">change 21827</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/21827"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I8143280358c0e23ca7e32b882e952eac991e105b </div>
<div style="display:none"> Gerrit-Change-Number: 21827 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>