<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21827">View Change</a></p><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;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/21827/1</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: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>