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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ms: Properly handle EGPRS_GMSK mode in ms_max_cs_dl/ul()<br><br>Change-Id: Ied3e02a12145112fafa12282ed7aefa5b0fa6eb6<br>---<br>M src/gprs_ms.c<br>M tests/ms/MsTest.ok<br>2 files changed, 12 insertions(+), 20 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gprs_ms.c b/src/gprs_ms.c</span><br><span>index f157d13..0c4db89 100644</span><br><span>--- a/src/gprs_ms.c</span><br><span>+++ b/src/gprs_ms.c</span><br><span>@@ -632,6 +632,7 @@</span><br><span> </span><br><span> enum CodingScheme ms_max_cs_ul(const struct GprsMs *ms)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+  enum CodingScheme cs;</span><br><span>        OSMO_ASSERT(ms->bts != NULL);</span><br><span> </span><br><span>         if (mcs_is_gprs(ms->current_cs_ul)) {</span><br><span>@@ -642,15 +643,10 @@</span><br><span>             return mcs_get_gprs_by_num(bts_max_cs_ul(ms->bts));</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (!mcs_is_edge(ms->current_cs_ul))</span><br><span style="color: hsl(0, 100%, 40%);">-         return UNKNOWN;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- if (bts_max_mcs_ul(ms->bts))</span><br><span style="color: hsl(0, 100%, 40%);">-         return mcs_get_egprs_by_num(bts_max_mcs_ul(ms->bts));</span><br><span style="color: hsl(0, 100%, 40%);">-        else if (bts_max_cs_ul(ms->bts))</span><br><span style="color: hsl(0, 100%, 40%);">-             return mcs_get_gprs_by_num(bts_max_cs_ul(ms->bts));</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  return MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = mcs_get_egprs_by_num(bts_max_mcs_ul(ms->bts));</span><br><span style="color: hsl(120, 100%, 40%);">+        if (ms_mode(ms) == EGPRS_GMSK && cs > MCS4)</span><br><span style="color: hsl(120, 100%, 40%);">+                cs = MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+    return cs;</span><br><span> }</span><br><span> </span><br><span> void ms_set_current_cs_dl(struct GprsMs *ms, enum CodingScheme scheme)</span><br><span>@@ -660,6 +656,7 @@</span><br><span> </span><br><span> enum CodingScheme ms_max_cs_dl(const struct GprsMs *ms)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+       enum CodingScheme cs;</span><br><span>        OSMO_ASSERT(ms->bts != NULL);</span><br><span> </span><br><span>         if (mcs_is_gprs(ms->current_cs_dl)) {</span><br><span>@@ -670,15 +667,10 @@</span><br><span>             return mcs_get_gprs_by_num(bts_max_cs_dl(ms->bts));</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (!mcs_is_edge(ms->current_cs_dl))</span><br><span style="color: hsl(0, 100%, 40%);">-         return UNKNOWN;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- if (bts_max_mcs_dl(ms->bts))</span><br><span style="color: hsl(0, 100%, 40%);">-         return mcs_get_egprs_by_num(bts_max_mcs_dl(ms->bts));</span><br><span style="color: hsl(0, 100%, 40%);">-        else if (bts_max_cs_dl(ms->bts))</span><br><span style="color: hsl(0, 100%, 40%);">-             return mcs_get_gprs_by_num(bts_max_cs_dl(ms->bts));</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  return MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = mcs_get_egprs_by_num(bts_max_mcs_dl(ms->bts));</span><br><span style="color: hsl(120, 100%, 40%);">+        if (ms_mode(ms) == EGPRS_GMSK && cs > MCS4)</span><br><span style="color: hsl(120, 100%, 40%);">+                cs = MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+    return cs;</span><br><span> }</span><br><span> </span><br><span> void ms_update_cs_ul(struct GprsMs *ms, const struct pcu_l1_meas *meas)</span><br><span>diff --git a/tests/ms/MsTest.ok b/tests/ms/MsTest.ok</span><br><span>index 3e5cdab..98e345c 100644</span><br><span>--- a/tests/ms/MsTest.ok</span><br><span>+++ b/tests/ms/MsTest.ok</span><br><span>@@ -26,8 +26,8 @@</span><br><span> 2: after mode set    MS DL MCS-1/MCS-9, UL MCS-1/MCS-9, mode EGPRS, <ACTIVE></span><br><span> 1: after MCS set     MS DL MCS-7/MCS-9, UL MCS-1/MCS-9, mode EGPRS, <IDLE></span><br><span> 2: after MCS set     MS DL MCS-8/MCS-9, UL MCS-1/MCS-9, mode EGPRS, <ACTIVE></span><br><span style="color: hsl(0, 100%, 40%);">-1: after mode set    MS DL MCS-1/MCS-9, UL MCS-1/MCS-9, mode EGPRS_GMSK-only, <IDLE></span><br><span style="color: hsl(0, 100%, 40%);">-2: after mode set    MS DL MCS-1/MCS-9, UL MCS-1/MCS-9, mode EGPRS_GMSK-only, <ACTIVE></span><br><span style="color: hsl(120, 100%, 40%);">+1: after mode set    MS DL MCS-1/MCS-4, UL MCS-1/MCS-4, mode EGPRS_GMSK-only, <IDLE></span><br><span style="color: hsl(120, 100%, 40%);">+2: after mode set    MS DL MCS-1/MCS-4, UL MCS-1/MCS-4, mode EGPRS_GMSK-only, <ACTIVE></span><br><span> 1: after mode set    MS DL CS-4/CS-4, UL CS-1/CS-4, mode GPRS, <IDLE></span><br><span> 2: after mode set    MS DL CS-4/CS-4, UL CS-1/CS-4, mode GPRS, <ACTIVE></span><br><span> === end test_ms_mcs_mode ===</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/22434">change 22434</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/+/22434"/><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: Ied3e02a12145112fafa12282ed7aefa5b0fa6eb6 </div>
<div style="display:none"> Gerrit-Change-Number: 22434 </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-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>