<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/16673">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Split identity_lv param into mi+mi_len<br><br>It's not really needed to have those together in some function calls,<br>and makes it more difficult to follow the code. Furthermore, new callers<br>not having content already aligned (len+value) will be using these<br>functions in forthcoming commits.<br><br>Change-Id: Ifb9d3997bfb74b35366c3d1bc51ce458f19abf16<br>---<br>M src/bts.cpp<br>M src/bts.h<br>M src/pcu_l1_if.cpp<br>M src/pdch.cpp<br>M src/pdch.h<br>5 files changed, 11 insertions(+), 9 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/bts.cpp b/src/bts.cpp</span><br><span>index c8b6375..71a2f06 100644</span><br><span>--- a/src/bts.cpp</span><br><span>+++ b/src/bts.cpp</span><br><span>@@ -38,6 +38,7 @@</span><br><span>    #include <osmocom/core/stats.h></span><br><span>        #include <osmocom/gsm/protocol/gsm_04_08.h></span><br><span>    #include <osmocom/gsm/gsm_utils.h></span><br><span style="color: hsl(120, 100%, 40%);">+      #include <osmocom/gsm/gsm48.h></span><br><span>         #include <osmocom/core/gsmtap_util.h></span><br><span>  #include <osmocom/core/application.h></span><br><span>  #include <osmocom/core/bitvec.h></span><br><span>@@ -354,7 +355,7 @@</span><br><span>         m_pollController.expireTimedout(fn, max_delay);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int BTS::add_paging(uint8_t chan_needed, uint8_t *identity_lv)</span><br><span style="color: hsl(120, 100%, 40%);">+int BTS::add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len)</span><br><span> {</span><br><span>     uint8_t l, trx, ts, any_tbf = 0;</span><br><span>     struct gprs_rlcmac_tbf *tbf;</span><br><span>@@ -370,7 +371,7 @@</span><br><span> </span><br><span> </span><br><span>   LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-             chan_needed, osmo_hexdump(identity_lv + 1, identity_lv[0]));</span><br><span style="color: hsl(120, 100%, 40%);">+          chan_needed, osmo_mi_name(mi, mi_len));</span><br><span> </span><br><span>  /* collect slots to page</span><br><span>      * Mark slots for every TBF, but only mark one of it.</span><br><span>@@ -414,7 +415,7 @@</span><br><span>          for (ts = 0; ts < 8; ts++) {</span><br><span>                      if ((slot_mask[trx] & (1 << ts))) {</span><br><span>                                /* schedule */</span><br><span style="color: hsl(0, 100%, 40%);">-                          if (!m_bts.trx[trx].pdch[ts].add_paging(chan_needed, identity_lv))</span><br><span style="color: hsl(120, 100%, 40%);">+                            if (!m_bts.trx[trx].pdch[ts].add_paging(chan_needed, mi, mi_len))</span><br><span>                                    return -ENOMEM;</span><br><span> </span><br><span>                          LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of TRX=%d TS=%d\n", trx, ts);</span><br><span>diff --git a/src/bts.h b/src/bts.h</span><br><span>index 7ef5a3f..0eaab85 100644</span><br><span>--- a/src/bts.h</span><br><span>+++ b/src/bts.h</span><br><span>@@ -290,7 +290,7 @@</span><br><span>     int current_frame_number() const;</span><br><span> </span><br><span>        /** add paging to paging queue(s) */</span><br><span style="color: hsl(0, 100%, 40%);">-    int add_paging(uint8_t chan_needed, uint8_t *identity_lv);</span><br><span style="color: hsl(120, 100%, 40%);">+    int add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len);</span><br><span> </span><br><span>  gprs_rlcmac_dl_tbf *dl_tbf_by_poll_fn(uint32_t fn, uint8_t trx, uint8_t ts);</span><br><span>         gprs_rlcmac_ul_tbf *ul_tbf_by_poll_fn(uint32_t fn, uint8_t trx, uint8_t ts);</span><br><span>diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp</span><br><span>index 98e697d..bac0e56 100644</span><br><span>--- a/src/pcu_l1_if.cpp</span><br><span>+++ b/src/pcu_l1_if.cpp</span><br><span>@@ -644,8 +644,8 @@</span><br><span>          return -EINVAL;</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   return BTS::main_bts()->add_paging(pag_req->chan_needed,</span><br><span style="color: hsl(0, 100%, 40%);">-                                          pag_req->identity_lv);</span><br><span style="color: hsl(120, 100%, 40%);">+     return BTS::main_bts()->add_paging(pag_req->chan_needed, &pag_req->identity_lv[1],</span><br><span style="color: hsl(120, 100%, 40%);">+                                          pag_req->identity_lv[0]);</span><br><span> }</span><br><span> </span><br><span> static int pcu_rx_susp_req(struct gsm_pcu_if_susp_req *susp_req)</span><br><span>diff --git a/src/pdch.cpp b/src/pdch.cpp</span><br><span>index da221f4..e15af2c 100644</span><br><span>--- a/src/pdch.cpp</span><br><span>+++ b/src/pdch.cpp</span><br><span>@@ -251,14 +251,15 @@</span><br><span>    return msg;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, uint8_t *identity_lv)</span><br><span style="color: hsl(120, 100%, 40%);">+bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len)</span><br><span> {</span><br><span>     struct gprs_rlcmac_paging *pag = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_paging);</span><br><span>       if (!pag)</span><br><span>            return false;</span><br><span> </span><br><span>    pag->chan_needed = chan_needed;</span><br><span style="color: hsl(0, 100%, 40%);">-      memcpy(pag->identity_lv, identity_lv, identity_lv[0] + 1);</span><br><span style="color: hsl(120, 100%, 40%);">+ pag->identity_lv[0] = mi_len;</span><br><span style="color: hsl(120, 100%, 40%);">+      memcpy(&pag->identity_lv[1], mi, mi_len);</span><br><span> </span><br><span>         llist_add(&pag->list, &paging_list);</span><br><span> </span><br><span>diff --git a/src/pdch.h b/src/pdch.h</span><br><span>index d55f58e..821fb90 100644</span><br><span>--- a/src/pdch.h</span><br><span>+++ b/src/pdch.h</span><br><span>@@ -48,7 +48,7 @@</span><br><span>         struct gprs_rlcmac_paging *dequeue_paging();</span><br><span>         struct msgb *packet_paging_request();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       bool add_paging(uint8_t chan_needed, uint8_t *identity_lv);</span><br><span style="color: hsl(120, 100%, 40%);">+   bool add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len);</span><br><span> </span><br><span>         void free_resources();</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/16673">change 16673</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-pcu/+/16673"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ifb9d3997bfb74b35366c3d1bc51ce458f19abf16 </div>
<div style="display:none"> Gerrit-Change-Number: 16673 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>