<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/19374">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bts-trx: Fix osmocom dyn ts assert hit during Adm State Unlock<br><br>How to reproduce:<br>* Configure a TS to be TCH/F_TCH/H_PDCH in osmo-bsc.cfg<br>* Run the network with osmo-bts-trx, then use osmo-bsc's "rf_locked 1"<br>* Then, unlock it: "rf_locked 0"<br>* The following assert will be hit:<br>Assert failed ts->dyn.pchan_is == ts->dyn.pchan_want /osmo-bts/src/osmo-bts-trx/l1_if.c:349<br>"""<br>(gdb) bt<br> #0  0x00007ffff5bb9355 in raise () from /usr/lib/libc.so.6<br> #1  0x00007ffff5ba2853 in abort () from /usr/lib/libc.so.6<br> #2  0x00007ffff6832361 in osmo_panic_default (<br>    fmt=0x555555814e60 "Assert failed %s %s:%d\n", args=0x7fffffffc6e0)<br>    at /libosmocore/src/panic.c:49<br> #3  0x00007ffff683249d in osmo_panic (<br>    fmt=0x555555814e60 "Assert failed %s %s:%d\n")<br>    at /libosmocore/src/panic.c:84<br> #4  0x000055555570fdf7 in trx_set_ts (ts=0x7ffff1e6bce8)<br>    at /osmo-bts/src/osmo-bts-trx/l1_if.c:349<br> #5  0x00005555557133c1 in bts_model_chg_adm_state (bts=0x627000000160,<br>    mo=0x7ffff1e0f8a0, obj=0x7ffff1e0f860, adm_state=2 '\002')<br>    at /osmo-bts/src/osmo-bts-trx/l1_if.c:681<br> #6  0x0000555555769978 in oml_rx_chg_adm_state (bts=0x627000000160,<br>    msg=0x633000003e00)<br>    at /osmo-bts/src/common/oml.c:1044<br> #7  0x000055555576a8d3 in down_fom (bts=0x627000000160, msg=0x633000003e00)<br>    at /osmo-bts/src/common/oml.c:1129<br> #8  0x0000555555770aed in down_oml (bts=0x627000000160, msg=0x633000003e00)<br>    at /osmo-bts/src/common/oml.c:1476<br> #9  0x00005555557f8174 in sign_link_cb (msg=0x633000003e00)<br>    at /osmo-bts/src/common/abis.c:188<br> #10 0x00007ffff73b5935 in ipaccess_bts_read_cb (link=0x6120000030a0,<br>--Type <RET> for more, q to quit, c to continue without paging--<br>    msg=0x633000003e00)<br>    at /libosmo-abis/src/input/ipaccess.c:980<br> #11 0x00007ffff73a1060 in ipa_client_read (link=0x6120000030a0)<br>    at /libosmo-abis/src/input/ipa.c:72<br> #12 0x00007ffff73a2458 in ipa_client_fd_cb (ofd=0x62f000038a50, what=1)<br>    at /libosmo-abis/src/input/ipa.c:136<br> #13 0x00007ffff67ebfa7 in osmo_fd_disp_fds (_rset=0x7fffffffdda0,<br>    _wset=0x7fffffffde40, _eset=0x7fffffffdee0)<br>    at /libosmocore/src/select.c:227<br> #14 0x00007ffff67ec38c in _osmo_select_main (polling=0)<br>    at /libosmocore/src/select.c:265<br> #15 0x00007ffff67ec46b in osmo_select_main (polling=0)<br>    at /libosmocore/src/select.c:274<br> #16 0x00005555557ef089 in bts_main (argc=7, argv=0x7fffffffe208)<br>    at /osmo-bts/src/common/main.c:354<br> #17 0x00005555556fe621 in main (argc=7, argv=0x7fffffffe208)<br>    at /osmo-bts/src/osmo-bts-trx/main.c:176<br>"""<br><br>Related: OS#4920<br>Change-Id: Ia3210e24b921fd0c67f77068b7ef4a65f270cd11<br>---<br>M src/osmo-bts-trx/l1_if.c<br>1 file changed, 7 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/74/19374/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c</span><br><span>index d65900f..bc936c0 100644</span><br><span>--- a/src/osmo-bts-trx/l1_if.c</span><br><span>+++ b/src/osmo-bts-trx/l1_if.c</span><br><span>@@ -678,6 +678,13 @@</span><br><span>                   /* Activate timeslots in scheduler and start power ramp up */</span><br><span>                        for (i = 0; i < ARRAY_SIZE(trx->ts); i++) {</span><br><span>                            struct gsm_bts_trx_ts *ts = &trx->ts[i];</span><br><span style="color: hsl(120, 100%, 40%);">+                               if (ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                     /* dyn.pchan_is is set to GSM_PCHAN_NONE when</span><br><span style="color: hsl(120, 100%, 40%);">+                                  * internally deactivated during locking. Simply</span><br><span style="color: hsl(120, 100%, 40%);">+                                       * internally restore the old status here.</span><br><span style="color: hsl(120, 100%, 40%);">+                                     */</span><br><span style="color: hsl(120, 100%, 40%);">+                                   ts->dyn.pchan_is = ts->dyn.pchan_want;</span><br><span style="color: hsl(120, 100%, 40%);">+                          }</span><br><span>                            trx_set_ts(ts);</span><br><span>                      }</span><br><span>                    rc = l1if_trx_start_power_ramp(trx, bts_model_chg_adm_state_ramp_compl_cb);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/19374">change 19374</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/+/19374"/><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: Ia3210e24b921fd0c67f77068b7ef4a65f270cd11 </div>
<div style="display:none"> Gerrit-Change-Number: 19374 </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-MessageType: newchange </div>