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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add new gsm_bts_trx_free_shadow_ts() function<br><br>Use it as a counterpart of gsm_bts_trx_init_shadow_ts()<br><br>Change-Id: I38baa2b2cfcf6221325d45860b3c7dd53235b8ff<br>---<br>M include/osmo-bts/bts_trx.h<br>M src/common/bts_trx.c<br>M src/common/scheduler.c<br>3 files changed, 18 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h</span><br><span>index e1959c8..c0dcb1c 100644</span><br><span>--- a/include/osmo-bts/bts_trx.h</span><br><span>+++ b/include/osmo-bts/bts_trx.h</span><br><span>@@ -50,6 +50,7 @@</span><br><span> struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts);</span><br><span> struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num);</span><br><span> void gsm_bts_trx_init_shadow_ts(struct gsm_bts_trx *trx);</span><br><span style="color: hsl(120, 100%, 40%);">+void gsm_bts_trx_free_shadow_ts(struct gsm_bts_trx *trx);</span><br><span> char *gsm_trx_name(const struct gsm_bts_trx *trx);</span><br><span> const char *gsm_trx_unit_id(struct gsm_bts_trx *trx);</span><br><span> </span><br><span>diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c</span><br><span>index 7ef5b52..b16a31c 100644</span><br><span>--- a/src/common/bts_trx.c</span><br><span>+++ b/src/common/bts_trx.c</span><br><span>@@ -112,6 +112,20 @@</span><br><span>         }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void gsm_bts_trx_free_shadow_ts(struct gsm_bts_trx *trx)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       unsigned int tn;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) {</span><br><span style="color: hsl(120, 100%, 40%);">+          struct gsm_bts_trx_ts *shadow_ts = trx->ts[tn].vamos.peer;</span><br><span style="color: hsl(120, 100%, 40%);">+         if (!shadow_ts)</span><br><span style="color: hsl(120, 100%, 40%);">+                       continue;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           talloc_free(shadow_ts);</span><br><span style="color: hsl(120, 100%, 40%);">+               trx->ts[tn].vamos.peer = NULL;</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%);">+</span><br><span> struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts)</span><br><span> {</span><br><span>    struct gsm_bts_trx *trx = talloc_zero(bts, struct gsm_bts_trx);</span><br><span>diff --git a/src/common/scheduler.c b/src/common/scheduler.c</span><br><span>index 5118904..2a729e4 100644</span><br><span>--- a/src/common/scheduler.c</span><br><span>+++ b/src/common/scheduler.c</span><br><span>@@ -694,10 +694,10 @@</span><br><span>                 /* Clean primary and shadow timeslots */</span><br><span>             trx_sched_clean_ts(ts);</span><br><span>              trx_sched_clean_ts(ts->vamos.peer);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-          talloc_free(ts->vamos.peer);</span><br><span style="color: hsl(0, 100%, 40%);">-         ts->vamos.peer = NULL;</span><br><span>    }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Free previously allocated shadow timeslots */</span><br><span style="color: hsl(120, 100%, 40%);">+      gsm_bts_trx_free_shadow_ts(trx);</span><br><span> }</span><br><span> </span><br><span> struct msgb *_sched_dequeue_prim(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/25740">change 25740</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-bts/+/25740"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I38baa2b2cfcf6221325d45860b3c7dd53235b8ff </div>
<div style="display:none"> Gerrit-Change-Number: 25740 </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: fixeria <vyanitskiy@sysmocom.de> </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>