<p>Max has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13162">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Log (M)CS UL update errors<br><br>Previously some of the errors in update_cs_ul() call were silently<br>ignored. Let's log all those as errors with appropriate message.<br><br>Note: test output needs updating because we do not (yet) set proper meas<br>struct in TBF tests. That's likely wrong but it's better to update tests<br>in a separate commit.<br><br>Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e<br>---<br>M src/gprs_ms.cpp<br>M tests/tbf/TbfTest.err<br>2 files changed, 30 insertions(+), 2 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/62/13162/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp</span><br><span>index 87a35d1..8855053 100644</span><br><span>--- a/src/gprs_ms.cpp</span><br><span>+++ b/src/gprs_ms.cpp</span><br><span>@@ -633,11 +633,19 @@</span><br><span> </span><br><span>       OSMO_ASSERT(current_cs_num > 0);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (!m_current_cs_ul)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!m_current_cs_ul) {</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGP(DRLCMACMEAS, LOGL_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+              "Unable to update UL (M)CS because it's not set: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                 m_current_cs_ul.name());</span><br><span>                return;</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (!meas->have_link_qual)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!meas->have_link_qual) {</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGP(DRLCMACMEAS, LOGL_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+              "Unable to update UL (M)CS %s because we don't have link quality measurements.\n",</span><br><span style="color: hsl(120, 100%, 40%);">+              m_current_cs_ul.name());</span><br><span>                return;</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span> </span><br><span>        old_link_qual = meas->link_qual;</span><br><span> </span><br><span>@@ -652,6 +660,9 @@</span><br><span>                low  = bts_data->mcs_lqual_ranges[current_cs_num-1].low;</span><br><span>          high = bts_data->mcs_lqual_ranges[current_cs_num-1].high;</span><br><span>         } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGP(DRLCMACMEAS, LOGL_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+              "Unable to update UL (M)CS because it's neither GPRS nor EDGE: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                   m_current_cs_ul.name());</span><br><span>                return;</span><br><span>      }</span><br><span> </span><br><span>diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err</span><br><span>index e788ccc..355ec69 100644</span><br><span>--- a/tests/tbf/TbfTest.err</span><br><span>+++ b/tests/tbf/TbfTest.err</span><br><span>@@ -1453,6 +1453,7 @@</span><br><span>  - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -1528,6 +1529,7 @@</span><br><span> Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-4 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++</span><br><span> ------------------------- TX : Packet Uplink Assignment -------------------------</span><br><span>@@ -1542,6 +1544,7 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-4 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -1608,6 +1611,7 @@</span><br><span> Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-4 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++</span><br><span> ------------------------- TX : Packet Uplink Assignment -------------------------</span><br><span>@@ -1622,6 +1626,7 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-4 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -1738,6 +1743,7 @@</span><br><span> Modifying MS object, TLLI = 0xf5667788, TA 220 -> 7</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete.</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-4 because we don't have link quality measurements.</span><br><span> Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++</span><br><span>@@ -1753,6 +1759,7 @@</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-4 because we don't have link quality measurements.</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24</span><br><span> TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -1803,6 +1810,7 @@</span><br><span> Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++</span><br><span> ------------------------- TX : Packet Uplink Assignment -------------------------</span><br><span>@@ -1817,6 +1825,7 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -1894,6 +1903,7 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++</span><br><span> ------------------------- TX : Packet Uplink Assignment -------------------------</span><br><span>@@ -1929,6 +1939,7 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -1970,6 +1981,7 @@</span><br><span> Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++</span><br><span> ------------------------- TX : Packet Uplink Assignment -------------------------</span><br><span>@@ -1984,6 +1996,7 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -2054,6 +2067,7 @@</span><br><span>  - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -2116,6 +2130,7 @@</span><br><span> Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++</span><br><span> ------------------------- TX : Packet Uplink Assignment -------------------------</span><br><span>@@ -2130,6 +2145,7 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW</span><br><span> Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63)</span><br><span>@@ -2793,6 +2809,7 @@</span><br><span> TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN</span><br><span> TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0]</span><br><span> TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0</span><br><span style="color: hsl(120, 100%, 40%);">+Unable to update UL (M)CS CS-1 because we don't have link quality measurements.</span><br><span> Received RTS for PDCH: TRX=0 TS=7 FN=2654400 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0</span><br><span> TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH)</span><br><span> +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13162">change 13162</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/13162"/><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-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e </div>
<div style="display:none"> Gerrit-Change-Number: 13162 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>