<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/19707">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pdch: rcv pkt meas rep: Allocate MS object early in path and use it<br><br>Let's create the MS object early if doesn't exist and fill in the<br>information, so that we can operate on it in an early way (for instance,<br>logging macros), this way it's easier to trace the lifecycle of<br>subscribers.<br><br>Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f<br>---<br>M src/gprs_rlcmac.h<br>M src/gprs_rlcmac_meas.cpp<br>M src/pdch.cpp<br>3 files changed, 15 insertions(+), 13 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/19707/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h</span><br><span>index 789b8db..45cbda9 100644</span><br><span>--- a/src/gprs_rlcmac.h</span><br><span>+++ b/src/gprs_rlcmac.h</span><br><span>@@ -75,7 +75,7 @@</span><br><span> </span><br><span> int gprs_rlcmac_lost_rep(struct gprs_rlcmac_dl_tbf *tbf);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int gprs_rlcmac_meas_rep(Packet_Measurement_Report_t *pmr);</span><br><span style="color: hsl(120, 100%, 40%);">+int gprs_rlcmac_meas_rep(GprsMs *ms, Packet_Measurement_Report_t *pmr);</span><br><span> </span><br><span> int gprs_rlcmac_rssi(struct gprs_rlcmac_tbf *tbf, int8_t rssi);</span><br><span> </span><br><span>diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp</span><br><span>index e4df559..b9a324f 100644</span><br><span>--- a/src/gprs_rlcmac_meas.cpp</span><br><span>+++ b/src/gprs_rlcmac_meas.cpp</span><br><span>@@ -37,14 +37,13 @@</span><br><span> /* TODO: trigger the measurement report from the pollcontroller and use it for flow control */</span><br><span> </span><br><span> /* received Measurement Report */</span><br><span style="color: hsl(0, 100%, 40%);">-int gprs_rlcmac_meas_rep(Packet_Measurement_Report_t *pmr)</span><br><span style="color: hsl(120, 100%, 40%);">+int gprs_rlcmac_meas_rep(GprsMs *ms, Packet_Measurement_Report_t *pmr)</span><br><span> {</span><br><span>      NC_Measurement_Report_t *ncr;</span><br><span>        NC_Measurements_t *nc;</span><br><span>       int i;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      LOGP(DRLCMACMEAS, LOGL_INFO, "Measurement Report of TLLI=0x%08x:",</span><br><span style="color: hsl(0, 100%, 40%);">-         pmr->TLLI);</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGPMS(ms, DRLCMACMEAS, LOGL_INFO, "Rx Measurement Report:");</span><br><span> </span><br><span>  switch (pmr->UnionType) {</span><br><span>         case 0:</span><br><span>diff --git a/src/pdch.cpp b/src/pdch.cpp</span><br><span>index b34f532..d3156c9 100644</span><br><span>--- a/src/pdch.cpp</span><br><span>+++ b/src/pdch.cpp</span><br><span>@@ -652,18 +652,21 @@</span><br><span> </span><br><span> void gprs_rlcmac_pdch::rcv_measurement_report(Packet_Measurement_Report_t *report, uint32_t fn)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-        struct gprs_rlcmac_sba *sba = bts()->sba()->find(this, fn);</span><br><span style="color: hsl(0, 100%, 40%);">-       if (sba) {</span><br><span style="color: hsl(0, 100%, 40%);">-              GprsMs *ms = bts()->ms_store().get_ms(report->TLLI);</span><br><span style="color: hsl(0, 100%, 40%);">-              if (!ms)</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement "</span><br><span style="color: hsl(0, 100%, 40%);">-                             "but TLLI 0x%08x is unknown\n", report->TLLI);</span><br><span style="color: hsl(0, 100%, 40%);">-             else</span><br><span style="color: hsl(0, 100%, 40%);">-                    ms->set_ta(sba->ta);</span><br><span style="color: hsl(120, 100%, 40%);">+    struct gprs_rlcmac_sba *sba;</span><br><span style="color: hsl(120, 100%, 40%);">+  GprsMs *ms;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+       ms = bts()->ms_by_tlli(report->TLLI);</span><br><span style="color: hsl(120, 100%, 40%);">+   if (!ms) {</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement "</span><br><span style="color: hsl(120, 100%, 40%);">+                "but TLLI 0x%08x is unknown\n", report->TLLI);</span><br><span style="color: hsl(120, 100%, 40%);">+              ms = bts()->ms_alloc(0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+                ms->set_tlli(report->TLLI);</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+     if ((sba = bts()->sba()->find(this, fn))) {</span><br><span style="color: hsl(120, 100%, 40%);">+             ms->set_ta(sba->ta);</span><br><span>           bts()->sba()->free_sba(sba);</span><br><span>   }</span><br><span style="color: hsl(0, 100%, 40%);">-       gprs_rlcmac_meas_rep(report);</span><br><span style="color: hsl(120, 100%, 40%);">+ gprs_rlcmac_meas_rep(ms, report);</span><br><span> }</span><br><span> </span><br><span> /* Received Uplink RLC control block. */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/19707">change 19707</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/+/19707"/><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: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f </div>
<div style="display:none"> Gerrit-Change-Number: 19707 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>