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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">fixup: pass tsc = -1 for previous default training sequence code<br><br>An unintended change in default behavior was introduced in patch:<br>"allow explixit TSC Set and TSC on chan activ / modif / assignment"<br>Ic665125255d7354f5499d10dda1dd866ab243d24<br>c33eb8d56943b8981523754b081967e6ff5f245d<br><br>Set tsc_set and tsc = -1 for all lchan_activate_info and<br>assignment_request requests to actually yield the default behavior of<br>selecting the TSC based on the timeslot cfg or the BSIC value.<br><br>By setting tsc = 0 implicitly, the patch caused all requests to ask for<br>tsc 0 instead of calling gsm_ts_tsc().<br><br>For a Channel Mode Modify in assignment_fsm, pass the lchan's current<br>TSC to keep it unchanged.<br><br>osmo-ttcn3-hacks Id67a949e0f61ec8123976eb8d336f04510c55c01 adds a test<br>to verify the expected TSC in all of the activation, assignment and<br>modify messages. Current osmo-bsc master fails, this patch fixes.<br><br>Related: SYS#5315 OS#4940 Ic665125255d7354f5499d10dda1dd866ab243d24<br>Change-Id: If12df11511fe22ea167782f776736a1a9c484b1f<br>---<br>M src/osmo-bsc/abis_rsl.c<br>M src/osmo-bsc/assignment_fsm.c<br>M src/osmo-bsc/lchan_fsm.c<br>M src/osmo-bsc/osmo_bsc_bssap.c<br>4 files changed, 13 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c</span><br><span>index fc8e217..69052ee 100644</span><br><span>--- a/src/osmo-bsc/abis_rsl.c</span><br><span>+++ b/src/osmo-bsc/abis_rsl.c</span><br><span>@@ -1807,6 +1807,8 @@</span><br><span>             },</span><br><span>           .ta = rqd->ta,</span><br><span>            .ta_known = true,</span><br><span style="color: hsl(120, 100%, 40%);">+             .tsc_set = -1,</span><br><span style="color: hsl(120, 100%, 40%);">+                .tsc = -1,</span><br><span>   };</span><br><span> </span><br><span>       lchan_activate(lchan, &info);</span><br><span>diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c</span><br><span>index 6a9eb81..a15807a 100644</span><br><span>--- a/src/osmo-bsc/assignment_fsm.c</span><br><span>+++ b/src/osmo-bsc/assignment_fsm.c</span><br><span>@@ -808,14 +808,18 @@</span><br><span> static void assignment_fsm_wait_lchan_modified_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state)</span><br><span> {</span><br><span>     struct gsm_subscriber_connection *conn = assignment_fi_conn(fi);</span><br><span style="color: hsl(120, 100%, 40%);">+      struct gsm_lchan *lchan = conn->lchan;</span><br><span>    struct assignment_request *req = &conn->assignment.req;</span><br><span>       struct lchan_modify_info modif_info = {</span><br><span>              .modify_for = MODIFY_FOR_ASSIGNMENT,</span><br><span>                 .ch_mode_rate = conn->assignment.selected_ch_mode_rate,</span><br><span>           .requires_voice_stream = conn->assignment.requires_voice_stream,</span><br><span>          .msc_assigned_cic = req->msc_assigned_cic,</span><br><span style="color: hsl(120, 100%, 40%);">+         /* keep previous training sequence code */</span><br><span style="color: hsl(120, 100%, 40%);">+            .tsc_set = lchan->tsc_set,</span><br><span style="color: hsl(120, 100%, 40%);">+         .tsc = lchan->tsc,</span><br><span>        };</span><br><span style="color: hsl(0, 100%, 40%);">-      lchan_mode_modify(conn->lchan, &modif_info);</span><br><span style="color: hsl(120, 100%, 40%);">+   lchan_mode_modify(lchan, &modif_info);</span><br><span> }</span><br><span> </span><br><span> static void assignment_fsm_wait_lchan_modified(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span>diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c</span><br><span>index 17e0c89..c06735f 100644</span><br><span>--- a/src/osmo-bsc/lchan_fsm.c</span><br><span>+++ b/src/osmo-bsc/lchan_fsm.c</span><br><span>@@ -984,6 +984,8 @@</span><br><span>                               .ch_mode_rate = lchan->modify.ch_mode_rate,</span><br><span>                               .requires_voice_stream = true,</span><br><span>                               .msc_assigned_cic = lchan->modify.info.msc_assigned_cic,</span><br><span style="color: hsl(120, 100%, 40%);">+                           .tsc_set = -1,</span><br><span style="color: hsl(120, 100%, 40%);">+                                .tsc = -1,</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>diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>index d6048bf..da0429b 100644</span><br><span>--- a/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>+++ b/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>@@ -928,6 +928,8 @@</span><br><span>                         .msc_assigned_cic = cic,</span><br><span>                     .use_osmux = use_osmux,</span><br><span>                      .osmux_cid = osmux_cid,</span><br><span style="color: hsl(120, 100%, 40%);">+                       .tsc_set = -1,</span><br><span style="color: hsl(120, 100%, 40%);">+                        .tsc = -1,</span><br><span>           };</span><br><span> </span><br><span>               /* Match codec information from the assignment command against the</span><br><span>@@ -954,6 +956,8 @@</span><br><span>             req = (struct assignment_request){</span><br><span>                   .assign_for = ASSIGN_FOR_BSSMAP_REQ,</span><br><span>                         .aoip = aoip,</span><br><span style="color: hsl(120, 100%, 40%);">+                 .tsc_set = -1,</span><br><span style="color: hsl(120, 100%, 40%);">+                        .tsc = -1,</span><br><span>           };</span><br><span> </span><br><span>               rc = select_sign_chan(&req, &ct);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/24565">change 24565</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/+/24565"/><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: If12df11511fe22ea167782f776736a1a9c484b1f </div>
<div style="display:none"> Gerrit-Change-Number: 24565 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </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: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>