<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13268">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">oml: use oml_tx_failure_event_rep() instead of oml_fail_rep()<br><br>The function oml_tx_failure_event_rep() replaces oml_fail_rep(), so lets<br>use only oml_tx_failure_event_rep() and remove oml_fail_rep()<br><br>Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6<br>Related: OS#3843<br>---<br>M include/osmo-bts/oml.h<br>M src/common/bts.c<br>M src/common/l1sap.c<br>M src/common/main.c<br>M src/common/oml.c<br>M src/common/rsl.c<br>6 files changed, 26 insertions(+), 34 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmo-bts/oml.h b/include/osmo-bts/oml.h</span><br><span>index a87d438..5136058 100644</span><br><span>--- a/include/osmo-bts/oml.h</span><br><span>+++ b/include/osmo-bts/oml.h</span><br><span>@@ -45,8 +45,6 @@</span><br><span> extern const unsigned int oml_default_t200_ms[7];</span><br><span> </span><br><span> /* Transmit failure event report */</span><br><span style="color: hsl(0, 100%, 40%);">-void oml_fail_rep(uint16_t cause_value, const char *fmt, ...);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value,</span><br><span>                          const char *fmt, ...);</span><br><span> </span><br><span>diff --git a/src/common/bts.c b/src/common/bts.c</span><br><span>index abbaeb4..8c2b2fe 100644</span><br><span>--- a/src/common/bts.c</span><br><span>+++ b/src/common/bts.c</span><br><span>@@ -309,10 +309,13 @@</span><br><span>                 rc = rsl_tx_rf_res(trx);</span><br><span>     else</span><br><span>                 rc = bts_model_trx_deact_rf(trx);</span><br><span style="color: hsl(0, 100%, 40%);">-       if (rc < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-          oml_fail_rep(OSMO_EVT_MAJ_RSL_FAIL,</span><br><span style="color: hsl(0, 100%, 40%);">-                          link ? "Failed to establish RSL link (%d)" :</span><br><span style="color: hsl(0, 100%, 40%);">-                          "Failed to deactivate RF (%d)", rc);</span><br><span style="color: hsl(120, 100%, 40%);">+   if (rc < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+              oml_tx_failure_event_rep(&trx->bb_transc.mo, OSMO_EVT_MAJ_RSL_FAIL,</span><br><span style="color: hsl(120, 100%, 40%);">+                                     link ?</span><br><span style="color: hsl(120, 100%, 40%);">+                                        "Failed to establish RSL link (%d)" :</span><br><span style="color: hsl(120, 100%, 40%);">+                                       "Failed to deactivate RF (%d)", rc);</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  return 0;</span><br><span> }</span><br><span> </span><br><span>diff --git a/src/common/l1sap.c b/src/common/l1sap.c</span><br><span>index a1b0464..f8f3fef 100644</span><br><span>--- a/src/common/l1sap.c</span><br><span>+++ b/src/common/l1sap.c</span><br><span>@@ -1364,8 +1364,10 @@</span><br><span>     default:</span><br><span>             LOGP(DL1P, LOGL_NOTICE, "unknown prim %d op %d\n",</span><br><span>                         l1sap->oph.primitive, l1sap->oph.operation);</span><br><span style="color: hsl(0, 100%, 40%);">-              oml_fail_rep(OSMO_EVT_MAJ_UKWN_MSG, "unknown prim %d op %d",</span><br><span style="color: hsl(0, 100%, 40%);">-                       l1sap->oph.primitive, l1sap->oph.operation);</span><br><span style="color: hsl(120, 100%, 40%);">+               oml_tx_failure_event_rep(&trx->mo, OSMO_EVT_MAJ_UKWN_MSG,</span><br><span style="color: hsl(120, 100%, 40%);">+                                       "unknown prim %d op %d",</span><br><span style="color: hsl(120, 100%, 40%);">+                                    l1sap->oph.primitive,</span><br><span style="color: hsl(120, 100%, 40%);">+                                      l1sap->oph.operation);</span><br><span>           break;</span><br><span>       }</span><br><span> </span><br><span>diff --git a/src/common/main.c b/src/common/main.c</span><br><span>index 9575f57..0d84c18 100644</span><br><span>--- a/src/common/main.c</span><br><span>+++ b/src/common/main.c</span><br><span>@@ -183,8 +183,9 @@</span><br><span>         case SIGINT:</span><br><span>         case SIGTERM:</span><br><span>                if (!quit) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    oml_fail_rep(OSMO_EVT_CRIT_PROC_STOP,</span><br><span style="color: hsl(0, 100%, 40%);">-                                "BTS: SIGINT received -> shutdown");</span><br><span style="color: hsl(120, 100%, 40%);">+                        oml_tx_failure_event_rep(&bts->mo,</span><br><span style="color: hsl(120, 100%, 40%);">+                                              OSMO_EVT_CRIT_PROC_STOP,</span><br><span style="color: hsl(120, 100%, 40%);">+                                              "BTS: SIGINT received -> shutdown");</span><br><span>                   bts_shutdown(bts, "SIGINT");</span><br><span>               }</span><br><span>            quit++;</span><br><span>diff --git a/src/common/oml.c b/src/common/oml.c</span><br><span>index ac388d1..7ff5967 100644</span><br><span>--- a/src/common/oml.c</span><br><span>+++ b/src/common/oml.c</span><br><span>@@ -87,21 +87,6 @@</span><br><span>    return oml_mo_send_msg(mo, nmsg, NM_MT_FAILURE_EVENT_REP);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void oml_fail_rep(uint16_t cause_value, const char *fmt, ...)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-       va_list ap;</span><br><span style="color: hsl(0, 100%, 40%);">-     char *rep;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      va_start(ap, fmt);</span><br><span style="color: hsl(0, 100%, 40%);">-      rep = talloc_asprintf(tall_bts_ctx, fmt, ap);</span><br><span style="color: hsl(0, 100%, 40%);">-   va_end(ap);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     osmo_signal_dispatch(SS_FAIL, cause_value, rep);</span><br><span style="color: hsl(0, 100%, 40%);">-        /* signal dispatch is synchronous so all the signal handlers are</span><br><span style="color: hsl(0, 100%, 40%);">-           finished already: we're free to free */</span><br><span style="color: hsl(0, 100%, 40%);">-  talloc_free(rep);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /* Push OM header in front of msgb and send it */</span><br><span> int oml_send_msg(struct msgb *msg, int is_manuf)</span><br><span> {</span><br><span>diff --git a/src/common/rsl.c b/src/common/rsl.c</span><br><span>index 9334ed9..f93ca50 100644</span><br><span>--- a/src/common/rsl.c</span><br><span>+++ b/src/common/rsl.c</span><br><span>@@ -466,9 +466,10 @@</span><br><span>         rc = paging_add_identity(bts->paging_state, paging_group, identity_lv, chan_needed);</span><br><span>      if (rc < 0) {</span><br><span>             /* FIXME: notfiy the BSC on other errors? */</span><br><span style="color: hsl(0, 100%, 40%);">-            if (rc == -ENOSPC)</span><br><span style="color: hsl(0, 100%, 40%);">-                      oml_fail_rep(OSMO_EVT_MIN_PAG_TAB_FULL,</span><br><span style="color: hsl(0, 100%, 40%);">-                              "BTS paging table is full");</span><br><span style="color: hsl(120, 100%, 40%);">+           if (rc == -ENOSPC) {</span><br><span style="color: hsl(120, 100%, 40%);">+                  oml_tx_failure_event_rep(&trx->bts->mo, OSMO_EVT_MIN_PAG_TAB_FULL,</span><br><span style="color: hsl(120, 100%, 40%);">+                                           "BTS paging table is full");</span><br><span style="color: hsl(120, 100%, 40%);">+               }</span><br><span>    }</span><br><span> </span><br><span>        pcu_tx_pag_req(identity_lv, chan_needed);</span><br><span>@@ -1938,9 +1939,10 @@</span><br><span>                   LOGP(DRTP, LOGL_ERROR,</span><br><span>                            "%s IPAC Failed to create RTP/RTCP sockets\n",</span><br><span>                             gsm_lchan_name(lchan));</span><br><span style="color: hsl(0, 100%, 40%);">-                    oml_fail_rep(OSMO_EVT_CRIT_RTP_TOUT,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 "%s IPAC Failed to create RTP/RTCP sockets",</span><br><span style="color: hsl(0, 100%, 40%);">-                                  gsm_lchan_name(lchan));</span><br><span style="color: hsl(120, 100%, 40%);">+                  oml_tx_failure_event_rep(&lchan->ts->trx->mo,</span><br><span style="color: hsl(120, 100%, 40%);">+                                             OSMO_EVT_CRIT_RTP_TOUT,</span><br><span style="color: hsl(120, 100%, 40%);">+                                               "%s IPAC Failed to create RTP/RTCP sockets",</span><br><span style="color: hsl(120, 100%, 40%);">+                                                gsm_lchan_name(lchan));</span><br><span>                     return tx_ipac_XXcx_nack(lchan, RSL_ERR_RES_UNAVAIL,</span><br><span>                                                  inc_ip_port, dch->c.msg_type);</span><br><span>           }</span><br><span>@@ -1979,9 +1981,10 @@</span><br><span>                   LOGP(DRTP, LOGL_ERROR,</span><br><span>                            "%s IPAC Failed to bind RTP/RTCP sockets\n",</span><br><span>                       gsm_lchan_name(lchan));</span><br><span style="color: hsl(0, 100%, 40%);">-                    oml_fail_rep(OSMO_EVT_CRIT_RTP_TOUT,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 "%s IPAC Failed to bind RTP/RTCP sockets",</span><br><span style="color: hsl(0, 100%, 40%);">-                                    gsm_lchan_name(lchan));</span><br><span style="color: hsl(120, 100%, 40%);">+                  oml_tx_failure_event_rep(&lchan->ts->trx->mo,</span><br><span style="color: hsl(120, 100%, 40%);">+                                             OSMO_EVT_CRIT_RTP_TOUT,</span><br><span style="color: hsl(120, 100%, 40%);">+                                               "%s IPAC Failed to bind RTP/RTCP sockets",</span><br><span style="color: hsl(120, 100%, 40%);">+                                          gsm_lchan_name(lchan));</span><br><span>                     osmo_rtp_socket_free(lchan->abis_ip.rtp_socket);</span><br><span>                  lchan->abis_ip.rtp_socket = NULL;</span><br><span>                         msgb_queue_flush(&lchan->dl_tch_queue);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13268">change 13268</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/13268"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 </div>
<div style="display:none"> Gerrit-Change-Number: 13268 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-CC: Pau Espin Pedrol <pespin@sysmocom.de> </div>