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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pdch: Make sure pending ImmAssRej scheduled for disabled pdch are dropped<br><br>When a PDCH TS becomes disabled (eg due to dyn TS being used for a<br>call), we are currently freeing all attached PDCHs in order to avoid<br>further use of it. However, pdch_free_all_tbf() was only freeing TBFs<br>attached to the PDCH, that is, TBFs having a valid TFI assigned.<br>There are some cases where temporary dummy TBFs are created which have<br>no TFI assigned, such as when creating an ImmAssReject. Let's take those<br>into account too, and make sure they are freed.<br><br>Related: OS#5226<br>Change-Id: Ibfe78448ebdedc8b049c80664711e166d910f9b7<br>---<br>M src/pdch.cpp<br>1 file changed, 12 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/pdch.cpp b/src/pdch.cpp</span><br><span>index da43bdf..49f9eb6 100644</span><br><span>--- a/src/pdch.cpp</span><br><span>+++ b/src/pdch.cpp</span><br><span>@@ -1145,6 +1145,9 @@</span><br><span> </span><br><span> void pdch_free_all_tbf(struct gprs_rlcmac_pdch *pdch)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+        struct llist_item *pos;</span><br><span style="color: hsl(120, 100%, 40%);">+       struct llist_item *pos2;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   for (uint8_t tfi = 0; tfi < 32; tfi++) {</span><br><span>          struct gprs_rlcmac_tbf *tbf;</span><br><span> </span><br><span>@@ -1155,6 +1158,15 @@</span><br><span>            if (tbf)</span><br><span>                     tbf_free(tbf);</span><br><span>       }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Some temporary dummy TBFs to tx ImmAssRej may be left linked to the</span><br><span style="color: hsl(120, 100%, 40%);">+         * PDCH, since they have no TFI assigned (see handle_tbf_reject()).</span><br><span style="color: hsl(120, 100%, 40%);">+    * Get rid of them too: */</span><br><span style="color: hsl(120, 100%, 40%);">+    llist_for_each_entry_safe(pos, pos2, &pdch->trx->ul_tbfs, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+           struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry);</span><br><span style="color: hsl(120, 100%, 40%);">+               if (ul_tbf->control_ts == pdch->ts_no)</span><br><span style="color: hsl(120, 100%, 40%);">+                  tbf_free(ul_tbf);</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span> }</span><br><span> </span><br><span> void pdch_disable(struct gprs_rlcmac_pdch *pdch)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/25330">change 25330</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/+/25330"/><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: Ibfe78448ebdedc8b049c80664711e166d910f9b7 </div>
<div style="display:none"> Gerrit-Change-Number: 25330 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </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-CC: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>