HACK: allow running parallel BTS_Tests.ConnHdlr components

Unfortunately, trxcon does not support handling more than one
connection in parallel.  If there is already one connection
established, it would reject all other connection attempts.

This causes an error in f_handler_init().  As a quick hack,
let's allow running BTS_Tests.ConnHdlr components without
establishing L1CTL connections at all.

Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc
Related: SYS#4895, OS#4941
This commit is contained in:
Vadim Yanitskiy 2021-05-28 04:57:50 +02:00
parent 1b9a7f663a
commit 918e2b2834
1 changed files with 8 additions and 3 deletions

View File

@ -639,7 +639,8 @@ friend function f_resolve_fh_params(inout FreqHopPars fhp, uint8_t tn,
/* create a new test component */
friend function f_start_handler(void_fn fn, ConnHdlrPars pars,
boolean pcu_comp := false,
boolean trxc_comp := false)
boolean trxc_comp := false,
boolean l1ctl := true)
runs on test_CT return ConnHdlr {
var charstring id := testcasename();
var ConnHdlr vc_conn;
@ -660,6 +661,9 @@ runs on test_CT return ConnHdlr {
unmap(self:BTS_TRXC, system:BTS_TRXC);
map(vc_conn:BTS_TRXC, system:BTS_TRXC);
}
if (l1ctl) {
map(vc_conn:L1CTL, system:L1CTL);
}
/* Obtain frequency hopping parameters for a given timeslot */
if (mp_freq_hop_enabled and mp_transceiver_num > 1) {
@ -697,8 +701,9 @@ runs on ConnHdlr {
g_pars := pars;
g_chan_nr := pars.chan_nr;
map(self:L1CTL, system:L1CTL);
f_connect_reset(L1CTL);
if (L1CTL.checkstate("Mapped")) {
f_connect_reset(L1CTL);
}
if (mp_bts_trxc_port != -1 and BTS_TRXC.checkstate("Mapped")) {
f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id);