<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/10941">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">trxcon/scheduler: fix: don't send BFI in GSM48_CMODE_SIGN mode<br><br>GSM48_CMODE_SIGN means 'signaling only', so we shall not send<br>bad frame indications in this state. Instead, it makes sense<br>to send dummy L2 frames like we do for xCCH channels.<br><br>Change-Id: Ie39d53522cafab265099076b3194fa96aff217ba<br>---<br>M src/host/trxcon/sched_lchan_common.c<br>M src/host/trxcon/sched_lchan_tchf.c<br>2 files changed, 11 insertions(+), 4 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/host/trxcon/sched_lchan_common.c b/src/host/trxcon/sched_lchan_common.c</span><br><span>index 2767b90..95e496b 100644</span><br><span>--- a/src/host/trxcon/sched_lchan_common.c</span><br><span>+++ b/src/host/trxcon/sched_lchan_common.c</span><br><span>@@ -145,7 +145,6 @@</span><br><span> size_t sched_bad_frame_ind(uint8_t *l2, struct trx_lchan_state *lchan)</span><br><span> {</span><br><span>    switch (lchan->tch_mode) {</span><br><span style="color: hsl(0, 100%, 40%);">-   case GSM48_CMODE_SIGN:</span><br><span>       case GSM48_CMODE_SPEECH_V1:</span><br><span>          if (lchan->type == TRXC_TCHF) { /* Full Rate */</span><br><span>                   memset(l2, 0x00, GSM_FR_BYTES);</span><br><span>@@ -163,6 +162,9 @@</span><br><span>        case GSM48_CMODE_SPEECH_AMR: /* Adaptive Multi Rate */</span><br><span>               /* FIXME: AMR is not implemented yet */</span><br><span>              return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+     case GSM48_CMODE_SIGN:</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGP(DSCH, LOGL_ERROR, "BFI is not allowed in signalling mode\n");</span><br><span style="color: hsl(120, 100%, 40%);">+          return 0;</span><br><span>    default:</span><br><span>             LOGP(DSCH, LOGL_ERROR, "Invalid TCH mode: %u\n", lchan->tch_mode);</span><br><span>              return 0;</span><br><span>diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c</span><br><span>index f6465f9..09d504f 100644</span><br><span>--- a/src/host/trxcon/sched_lchan_tchf.c</span><br><span>+++ b/src/host/trxcon/sched_lchan_tchf.c</span><br><span>@@ -151,13 +151,18 @@</span><br><span>               n_errors, false, true);</span><br><span> </span><br><span> bfi:</span><br><span style="color: hsl(0, 100%, 40%);">-     /* Bad frame indication */</span><br><span style="color: hsl(0, 100%, 40%);">-      l2_len = sched_bad_frame_ind(l2, lchan);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>     /* Didn't try to decode */</span><br><span>       if (n_errors < 0)</span><br><span>                 n_errors = 116 * 4;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+       /* BFI is not applicable in signalling mode */</span><br><span style="color: hsl(120, 100%, 40%);">+        if (lchan->tch_mode == GSM48_CMODE_SIGN)</span><br><span style="color: hsl(120, 100%, 40%);">+           return sched_send_dt_ind(trx, ts, lchan, NULL, 0,</span><br><span style="color: hsl(120, 100%, 40%);">+                     n_errors, true, false);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* Bad frame indication */</span><br><span style="color: hsl(120, 100%, 40%);">+    l2_len = sched_bad_frame_ind(l2, lchan);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   /* Send a BFI frame to the higher layers */</span><br><span>  return sched_send_dt_ind(trx, ts, lchan, l2, l2_len,</span><br><span>                 n_errors, true, true);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10941">change 10941</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/10941"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmocom-bb </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Ie39d53522cafab265099076b3194fa96aff217ba </div>
<div style="display:none"> Gerrit-Change-Number: 10941 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>