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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add missing AMR config for RTP activation after mode modify<br><br>Add function lchan_activate_set_ch_mode_rate_and_mr_config() and call it<br>for both plain channel activation and after a mode modify that needs RTP<br>activation. The AMR config was missing after Mode Modify.<br><br>Related: SYS#5315 OS#4940<br>Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3<br>---<br>M src/osmo-bsc/lchan_fsm.c<br>1 file changed, 19 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c</span><br><span>index 3b6333d..b772482 100644</span><br><span>--- a/src/osmo-bsc/lchan_fsm.c</span><br><span>+++ b/src/osmo-bsc/lchan_fsm.c</span><br><span>@@ -604,6 +604,21 @@</span><br><span>     }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+static int lchan_activate_set_ch_mode_rate_and_mr_config(struct gsm_lchan *lchan)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+      struct osmo_fsm_inst *fi = lchan->fi;</span><br><span style="color: hsl(120, 100%, 40%);">+      lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate;</span><br><span style="color: hsl(120, 100%, 40%);">+       /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) {</span><br><span style="color: hsl(120, 100%, 40%);">+              if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+                        lchan_fail("Can not generate multirate configuration IE");</span><br><span style="color: hsl(120, 100%, 40%);">+                  return -EINVAL;</span><br><span style="color: hsl(120, 100%, 40%);">+               }</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+     return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state)</span><br><span> {</span><br><span>    struct gsm_lchan *lchan = lchan_fi_lchan(fi);</span><br><span>@@ -639,15 +654,8 @@</span><br><span>                         lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db;</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate;</span><br><span style="color: hsl(0, 100%, 40%);">- /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) {</span><br><span style="color: hsl(0, 100%, 40%);">-                if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  lchan_fail("Can not generate multirate configuration IE\n");</span><br><span style="color: hsl(0, 100%, 40%);">-                  return;</span><br><span style="color: hsl(0, 100%, 40%);">-         }</span><br><span style="color: hsl(0, 100%, 40%);">-       }</span><br><span style="color: hsl(120, 100%, 40%);">+     if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan))</span><br><span style="color: hsl(120, 100%, 40%);">+             return;</span><br><span> </span><br><span>  use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan);</span><br><span> </span><br><span>@@ -1002,8 +1010,8 @@</span><br><span>                             .tsc_set = -1,</span><br><span>                               .tsc = -1,</span><br><span>                   };</span><br><span style="color: hsl(0, 100%, 40%);">-                      lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate;</span><br><span style="color: hsl(0, 100%, 40%);">-                 /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */</span><br><span style="color: hsl(120, 100%, 40%);">+                       if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan))</span><br><span style="color: hsl(120, 100%, 40%);">+                             return;</span><br><span> </span><br><span>                  lchan->activate.concluded = false;</span><br><span>                        lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/24466">change 24466</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-bsc/+/24466"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 </div>
<div style="display:none"> Gerrit-Change-Number: 24466 </div>
<div style="display:none"> Gerrit-PatchSet: 10 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>