<p>Vadim Yanitskiy has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13877">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">common/oml.c: introduce and use both LOGPFOH and DEBUGPFOH<br><br>Change-Id: I9e9d6ccb88c9c9d35b2ce5778fa2580382704089<br>---<br>M src/common/oml.c<br>1 file changed, 44 insertions(+), 51 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/13877/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/common/oml.c b/src/common/oml.c</span><br><span>index de7a0e7..f288078 100644</span><br><span>--- a/src/common/oml.c</span><br><span>+++ b/src/common/oml.c</span><br><span>@@ -49,6 +49,9 @@</span><br><span> #include <osmo-bts/signal.h></span><br><span> #include <osmo-bts/phy_link.h></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPFOH(ss, lvl, foh, fmt, args ...) LOGP(ss, lvl, "%s: " fmt, abis_nm_dump_foh(foh), ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+#define DEBUGPFOH(ss, foh, fmt, args ...) LOGPFOH(ss, LOGL_DEBUG, foh, fmt, ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static int oml_ipa_set_attr(struct gsm_bts *bts, struct msgb *msg);</span><br><span> </span><br><span> static struct tlv_definition abis_nm_att_tlvdef_ipa_local = {};</span><br><span>@@ -534,14 +537,12 @@</span><br><span>      if (!foh || !bts)</span><br><span>            return -EINVAL;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx GET ATTR\n");</span><br><span style="color: hsl(120, 100%, 40%);">+     DEBUGPFOH(DOML, foh, "Rx GET ATTR\n");</span><br><span> </span><br><span>         /* Determine which OML object is addressed */</span><br><span>        mo = gsm_objclass2mo(bts, foh->obj_class, &foh->obj_inst);</span><br><span>         if (!mo) {</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DOML, LOGL_ERROR, "%s Get Attributes for unknown Object Instance\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                  abis_nm_dump_foh(foh));</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPFOH(DOML, LOGL_ERROR, foh, "Get Attributes for unknown Object Instance\n");</span><br><span>            return oml_fom_ack_nack(msg, NM_NACK_OBJINST_UNKN);</span><br><span>  }</span><br><span> </span><br><span>@@ -558,7 +559,7 @@</span><br><span> </span><br><span>      rc = oml_tx_attr_resp(mo, TLVP_VAL(&tp, NM_ATT_LIST_REQ_ATTR), TLVP_LEN(&tp, NM_ATT_LIST_REQ_ATTR));</span><br><span>         if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DOML, LOGL_ERROR, "responding to O&M Get Attributes message with NACK 0%x\n", -rc);</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPFOH(DOML, LOGL_ERROR, foh, "Responding to O&M Get Attributes message with NACK 0%x\n", -rc);</span><br><span>               return oml_fom_ack_nack(msg, -rc);</span><br><span>   }</span><br><span> </span><br><span>@@ -573,8 +574,7 @@</span><br><span>  int rc, i;</span><br><span>   const uint8_t *payload;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx SET BTS ATTR\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGPFOH(DOML, foh, "Rx SET BTS ATTR\n");</span><br><span> </span><br><span>     rc = oml_tlv_parse(&tp, foh->data, msgb_l3len(msg) - sizeof(*foh));</span><br><span>   if (rc < 0) {</span><br><span>@@ -590,7 +590,8 @@</span><br><span>                       oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_WARN_SW_WARN,</span><br><span>                                              "Given ARFCN %u is not supported",</span><br><span>                                                 arfcn);</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DOML, LOGL_NOTICE, "Given ARFCN %d is not supported.\n", arfcn);</span><br><span style="color: hsl(120, 100%, 40%);">+                       /* FIXME: use proper format specifier for uint16_t */</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPFOH(DOML, LOGL_ERROR, foh, "Given ARFCN %d is not supported.\n", arfcn);</span><br><span>                       return oml_fom_ack_nack(msg, NM_NACK_FREQ_NOTAVAIL);</span><br><span>                 }</span><br><span>    }</span><br><span>@@ -637,8 +638,8 @@</span><br><span> </span><br><span>          switch (val[0]) {</span><br><span>            case 0xFF: /* Osmocom specific Extension of TS 12.21 */</span><br><span style="color: hsl(0, 100%, 40%);">-                 LOGP(DOML, LOGL_NOTICE, "WARNING: Radio Link Timeout "</span><br><span style="color: hsl(0, 100%, 40%);">-                             "explicitly disabled, only use this for lab testing!\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                      LOGPFOH(DOML, LOGL_NOTICE, foh, "WARNING: Radio Link Timeout "</span><br><span style="color: hsl(120, 100%, 40%);">+                              "explicitly disabled, only use this for lab testing!\n");</span><br><span>                  bts->radio_link_timeout = -1;</span><br><span>                     break;</span><br><span>               case 0x01: /* Based on uplink SACCH (radio link timeout) */</span><br><span>@@ -650,7 +651,7 @@</span><br><span>                    /* fall-through */</span><br><span>           case 0x02: /* Based on RXLEV/RXQUAL measurements */</span><br><span>          default:</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DOML, LOGL_NOTICE, "Given Conn. Failure Criterion "</span><br><span style="color: hsl(120, 100%, 40%);">+                    LOGPFOH(DOML, LOGL_NOTICE, foh, "Given Conn. Failure Criterion "</span><br><span>                           "not supported. Please use criterion 0x01 with "</span><br><span>                           "RADIO_LINK_TIMEOUT value of 4..64\n");</span><br><span>                    return oml_fom_ack_nack(msg, NM_NACK_PARAM_RANGE);</span><br><span>@@ -664,15 +665,15 @@</span><br><span>                   uint32_t t200_ms = payload[i] * abis_nm_t200_ms[i];</span><br><span> #if 0</span><br><span>                         bts->t200_ms[i] = t200_ms;</span><br><span style="color: hsl(0, 100%, 40%);">-                   DEBUGP(DOML, "T200[%u]: OML=%u, mult=%u => %u ms\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                               i, payload[i], abis_nm_t200_mult[i],</span><br><span style="color: hsl(0, 100%, 40%);">-                            bts->t200_ms[i]);</span><br><span style="color: hsl(120, 100%, 40%);">+                  DEBUGPFOH(DOML, foh, "T200[%u]: OML=%u, mult=%u => %u ms\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                               i, payload[i], abis_nm_t200_mult[i],</span><br><span style="color: hsl(120, 100%, 40%);">+                                  bts->t200_ms[i]);</span><br><span> #else</span><br><span>                      /* we'd rather use the 1s/2s (long) defaults by</span><br><span>                   * libosmocore, as we appear to have some bug(s)</span><br><span>                      * related to handling T200 expiration in</span><br><span>                     * libosmogsm lapd(m) code? */</span><br><span style="color: hsl(0, 100%, 40%);">-                  LOGP(DOML, LOGL_NOTICE, "Ignoring T200[%u] (%u ms) "</span><br><span style="color: hsl(120, 100%, 40%);">+                        LOGPFOH(DOML, LOGL_NOTICE, foh, "Ignoring T200[%u] (%u ms) "</span><br><span>                               "as sent by BSC due to suspected LAPDm bug!\n",</span><br><span>                            i, t200_ms);</span><br><span> #endif</span><br><span>@@ -713,8 +714,7 @@</span><br><span>         if (TLVP_PRES_LEN(&tp, NM_ATT_BTS_AIR_TIMER, 1)) {</span><br><span>               uint8_t t3105 = *TLVP_VAL(&tp, NM_ATT_BTS_AIR_TIMER);</span><br><span>            if (t3105 == 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                       LOGP(DOML, LOGL_NOTICE,</span><br><span style="color: hsl(0, 100%, 40%);">-                         "T3105 must have a value != 0.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPFOH(DOML, LOGL_NOTICE, foh, "T3105 must have a value != 0.\n");</span><br><span>                        return oml_fom_ack_nack(msg, NM_NACK_PARAM_RANGE);</span><br><span>           }</span><br><span>            bts->t3105_ms = t3105 * 10;</span><br><span>@@ -743,8 +743,7 @@</span><br><span>         struct tlv_parsed tp, *tp_merged;</span><br><span>    int rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx SET RADIO CARRIER ATTR\n");</span><br><span style="color: hsl(120, 100%, 40%);">+       DEBUGPFOH(DOML, foh, "Rx SET RADIO CARRIER ATTR\n");</span><br><span> </span><br><span>   rc = oml_tlv_parse(&tp, foh->data, msgb_l3len(msg) - sizeof(*foh));</span><br><span>   if (rc < 0) {</span><br><span>@@ -774,8 +773,8 @@</span><br><span>       /* 9.4.47 RF Max Power Reduction */</span><br><span>  if (TLVP_PRES_LEN(&tp, NM_ATT_RF_MAXPOWR_R, 1)) {</span><br><span>                trx->max_power_red = *TLVP_VAL(&tp, NM_ATT_RF_MAXPOWR_R) * 2;</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DOML, LOGL_INFO, "Set RF Max Power Reduction = %d dBm\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     trx->max_power_red);</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPFOH(DOML, LOGL_INFO, foh, "Set RF Max Power Reduction to "</span><br><span style="color: hsl(120, 100%, 40%);">+                      "%d dBm\n", trx->max_power_red);</span><br><span>        }</span><br><span>    /* 9.4.5 ARFCN List */</span><br><span> #if 0</span><br><span>@@ -792,7 +791,7 @@</span><br><span>                        if (arfcn > 1024)</span><br><span>                                 return oml_fom_ack_nack(msg, NM_NACK_FREQ_NOTAVAIL);</span><br><span>                         trx->arfcn_list[i] = arfcn;</span><br><span style="color: hsl(0, 100%, 40%);">-                  LOGP(DOML, LOGL_INFO, " ARFCN list = %d\n", trx->arfcn_list[i]);</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPFOH(DOML, LOGL_INFO, foh, " ARFCN list = %d\n", trx->arfcn_list[i]);</span><br><span>                }</span><br><span>            trx->arfcn_num = length;</span><br><span>  } else</span><br><span>@@ -804,7 +803,7 @@</span><br><span>                 uint16_t length = TLVP_LEN(&tp, NM_ATT_ARFCN_LIST);</span><br><span>              uint16_t arfcn;</span><br><span>              if (length != 2) {</span><br><span style="color: hsl(0, 100%, 40%);">-                      LOGP(DOML, LOGL_ERROR, "Expecting only one ARFCN, "</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPFOH(DOML, LOGL_ERROR, foh, "Expecting only one ARFCN, "</span><br><span>                                "because hopping not supported\n");</span><br><span>                        return oml_fom_ack_nack(msg, NM_NACK_MSGINCONSIST_PHYSCFG);</span><br><span>          }</span><br><span>@@ -816,8 +815,7 @@</span><br><span>                                               OSMO_EVT_WARN_SW_WARN,</span><br><span>                                               "Given ARFCN %u is unsupported",</span><br><span>                                           arfcn);</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DOML, LOGL_NOTICE,</span><br><span style="color: hsl(0, 100%, 40%);">-                      "Given ARFCN %u is unsupported.\n", arfcn);</span><br><span style="color: hsl(120, 100%, 40%);">+                    LOGPFOH(DOML, LOGL_NOTICE, foh, "Given ARFCN %u is unsupported.\n", arfcn);</span><br><span>                        return oml_fom_ack_nack(msg, NM_NACK_FREQ_NOTAVAIL);</span><br><span>                 }</span><br><span>            trx->arfcn = arfcn;</span><br><span>@@ -915,8 +913,7 @@</span><br><span>         struct tlv_parsed tp, *tp_merged;</span><br><span>    int rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx SET CHAN ATTR\n");</span><br><span style="color: hsl(120, 100%, 40%);">+        DEBUGPFOH(DOML, foh, "Rx SET CHAN ATTR\n");</span><br><span> </span><br><span>    rc = oml_tlv_parse(&tp, foh->data, msgb_l3len(msg) - sizeof(*foh));</span><br><span>   if (rc < 0) {</span><br><span>@@ -929,13 +926,13 @@</span><br><span>     /* 9.4.21 HSN... */</span><br><span>  /* 9.4.27 MAIO */</span><br><span>    if (TLVP_PRESENT(&tp, NM_ATT_HSN) || TLVP_PRESENT(&tp, NM_ATT_MAIO)) {</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DOML, LOGL_NOTICE, "SET CHAN ATTR: Frequency hopping not supported.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPFOH(DOML, LOGL_NOTICE, foh, "SET CHAN ATTR: Frequency hopping not supported.\n");</span><br><span>              return oml_fom_ack_nack(msg, NM_NACK_SPEC_IMPL_NOTSUPP);</span><br><span>     }</span><br><span> </span><br><span>        /* 9.4.52 Starting Time */</span><br><span>   if (TLVP_PRESENT(&tp, NM_ATT_START_TIME)) {</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DOML, LOGL_NOTICE, "SET CHAN ATTR: Starting time not supported.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGPFOH(DOML, LOGL_NOTICE, foh, "SET CHAN ATTR: Starting time not supported.\n");</span><br><span>          return oml_fom_ack_nack(msg, NM_NACK_SPEC_IMPL_NOTSUPP);</span><br><span>     }</span><br><span> </span><br><span>@@ -946,7 +943,7 @@</span><br><span>  /* Call into BTS driver to check attribute values */</span><br><span>         rc = bts_model_check_oml(bts, foh->msg_type, ts->mo.nm_attr, tp_merged, ts);</span><br><span>   if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DOML, LOGL_ERROR, "SET CHAN ATTR: invalid attribute value, rc=%d\n", rc);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPFOH(DOML, LOGL_ERROR, foh, "SET CHAN ATTR: invalid attribute value, rc=%d\n", rc);</span><br><span>             talloc_free(tp_merged);</span><br><span>              /* Send NACK */</span><br><span>              return oml_fom_ack_nack(msg, -rc);</span><br><span>@@ -962,9 +959,9 @@</span><br><span>             ts->pchan = abis_nm_pchan4chcomb(comb);</span><br><span>           rc = conf_lchans(ts);</span><br><span>                if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DOML, LOGL_ERROR, "SET CHAN ATTR: invalid Chan Comb 0x%x"</span><br><span style="color: hsl(0, 100%, 40%);">-                             " (pchan=%s, conf_lchans()->%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                        comb, gsm_pchan_name(ts->pchan), rc);</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPFOH(DOML, LOGL_ERROR, foh, "SET CHAN ATTR: invalid Chan Comb 0x%x"</span><br><span style="color: hsl(120, 100%, 40%);">+                              " (pchan=%s, conf_lchans()->%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                              comb, gsm_pchan_name(ts->pchan), rc);</span><br><span>                     talloc_free(tp_merged);</span><br><span>                      /* Send NACK */</span><br><span>                      return oml_fom_ack_nack(msg, -rc);</span><br><span>@@ -980,7 +977,7 @@</span><br><span>             /* If there is no TSC specified, use the BCC */</span><br><span>              ts->tsc = BSIC2BCC(bts->bsic);</span><br><span>         }</span><br><span style="color: hsl(0, 100%, 40%);">-       LOGP(DOML, LOGL_INFO, "%s SET CHAN ATTR (TSC=%u pchan=%s)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGPFOH(DOML, LOGL_INFO, foh, "%s SET CHAN ATTR (TSC=%u pchan=%s)\n",</span><br><span>              gsm_abis_mo_name(&ts->mo), ts->tsc, gsm_pchan_name(ts->pchan));</span><br><span> </span><br><span>     /* call into BTS driver to apply new attributes to hardware */</span><br><span>@@ -994,8 +991,7 @@</span><br><span>         struct gsm_abis_mo *mo;</span><br><span>      void *obj;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx OPSTART\n");</span><br><span style="color: hsl(120, 100%, 40%);">+      DEBUGPFOH(DOML, foh, "Rx OPSTART\n");</span><br><span> </span><br><span>  /* Step 1: Resolve MO by obj_class/obj_inst */</span><br><span>       mo = gsm_objclass2mo(bts, foh->obj_class, &foh->obj_inst);</span><br><span>@@ -1005,7 +1001,7 @@</span><br><span> </span><br><span>     /* Step 2: Do some global dependency/consistency checking */</span><br><span>         if (mo->nm_state.operational == NM_OPSTATE_ENABLED) {</span><br><span style="color: hsl(0, 100%, 40%);">-                DEBUGP(DOML, "... automatic ACK, OP state already was Enabled\n");</span><br><span style="color: hsl(120, 100%, 40%);">+          DEBUGPFOH(DOML, foh, "... automatic ACK, OP state already was Enabled\n");</span><br><span>                 return oml_mo_opstart_ack(mo);</span><br><span>       }</span><br><span> </span><br><span>@@ -1022,17 +1018,16 @@</span><br><span>      void *obj;</span><br><span>   int rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx CHG ADM STATE\n");</span><br><span style="color: hsl(120, 100%, 40%);">+        DEBUGPFOH(DOML, foh, "Rx CHG ADM STATE\n");</span><br><span> </span><br><span>    rc = oml_tlv_parse(&tp, foh->data, msgb_l3len(msg) - sizeof(*foh));</span><br><span>   if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DOML, LOGL_ERROR, "Rx CHG ADM STATE: error during TLV parse\n");</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPFOH(DOML, LOGL_ERROR, foh, "Rx CHG ADM STATE: error during TLV parse\n");</span><br><span>              return oml_fom_ack_nack(msg, NM_NACK_INCORR_STRUCT);</span><br><span>         }</span><br><span> </span><br><span>        if (!TLVP_PRESENT(&tp, NM_ATT_ADM_STATE)) {</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DOML, LOGL_ERROR, "Rx CHG ADM STATE: no ADM state attribute\n");</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPFOH(DOML, LOGL_ERROR, foh, "Rx CHG ADM STATE: no ADM state attribute\n");</span><br><span>              return oml_fom_ack_nack(msg, NM_NACK_INCORR_STRUCT);</span><br><span>         }</span><br><span> </span><br><span>@@ -1046,9 +1041,8 @@</span><br><span> </span><br><span>    /* Step 2: Do some global dependency/consistency checking */</span><br><span>         if (mo->nm_state.administrative == adm_state)</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DOML, LOGL_NOTICE,</span><br><span style="color: hsl(0, 100%, 40%);">-              "ADM state already was %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                 get_value_string(abis_nm_adm_state_names, adm_state));</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGPFOH(DOML, LOGL_NOTICE, foh, "ADM state already was %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                       get_value_string(abis_nm_adm_state_names, adm_state));</span><br><span> </span><br><span>   /* Step 3: Ask BTS driver to apply the state chg */</span><br><span>  return bts_model_chg_adm_state(bts, mo, obj, adm_state);</span><br><span>@@ -1099,10 +1093,10 @@</span><br><span>           if (oh->mdisc == ABIS_OM_MDISC_FOM && oh->data[0] == NM_MT_GET_ATTR &&</span><br><span>                     msgb_l3len(msg) == oh->length + 3) {</span><br><span>                  /* work-around a bug present in OsmoBSC before February 2019 */</span><br><span style="color: hsl(0, 100%, 40%);">-                 DEBUGP(DOML, "GET ATTR with off-by-3 length: Fixing up for OS#3799\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                     DEBUGPFOH(DOML, foh, "GET ATTR with off-by-3 length: Fixing up for OS#3799\n");</span><br><span>                    oh->length += 3;</span><br><span>          } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DOML, LOGL_NOTICE, "OML message with %u extraneous bytes at end: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                        LOGPFOH(DOML, LOGL_NOTICE, foh, "OML message with %u extraneous bytes at end: %s\n",</span><br><span>                               msgb_l3len(msg) - oh->length, msgb_hexdump(msg));</span><br><span>                         /* remove extra bytes at end */</span><br><span>                      msgb_l3trim(msg, oh->length);</span><br><span>@@ -1307,8 +1301,7 @@</span><br><span>     void *obj;</span><br><span>   int rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx IPA SET ATTR\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUGPFOH(DOML, foh, "Rx IPA SET ATTR\n");</span><br><span> </span><br><span>     rc = oml_tlv_parse(&tp, foh->data, msgb_l3len(msg) - sizeof(*foh));</span><br><span>   if (rc < 0) {</span><br><span>@@ -1415,12 +1408,12 @@</span><br><span> </span><br><span>       ret = oml_tlv_parse(&tp, foh->data, oh->length - sizeof(*foh));</span><br><span>    if (ret < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DOML, LOGL_ERROR, "TLV parse error %d\n", ret);</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPFOH(DOML, LOGL_ERROR, foh, "TLV parse error %d\n", ret);</span><br><span>               return oml_fom_ack_nack(msg, NM_NACK_BTSNR_UNKN);</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   abis_nm_debugp_foh(DOML, foh);</span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGPC(DOML, "Rx IPACCESS(0x%02x): ", foh->msg_type);</span><br><span style="color: hsl(120, 100%, 40%);">+   /* FIXME: fix missing \n */</span><br><span style="color: hsl(120, 100%, 40%);">+   DEBUGPFOH(DOML, foh, "Rx IPACCESS(0x%02x): ", foh->msg_type);</span><br><span> </span><br><span>       switch (foh->msg_type) {</span><br><span>  case NM_MT_IPACC_RSL_CONNECT:</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13877">change 13877</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/13877"/><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: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I9e9d6ccb88c9c9d35b2ce5778fa2580382704089 </div>
<div style="display:none"> Gerrit-Change-Number: 13877 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>