fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40415?usp=email )
Change subject: bsc: fix race condition in f_tc_ho_int() ......................................................................
bsc: fix race condition in f_tc_ho_int()
It may happen that the RSLEm component receives a Handover Command earlier than we suspend the DChan processing. We saw this once:
RSL for unknown Dchan BSC_Tests.ttcn:12769 BSC_Tests control part BSC_Tests.ttcn:5888 TC_ho_int_a5_4 testcase
Let's guard against this by calling f_rslem_suspend() earlier.
Change-Id: I012d4db05538d294a6b4aa85be4a40bb0bad28a3 --- M bsc/BSC_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/15/40415/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 1badaa5..54c9897 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5781,10 +5781,11 @@ old_chan_nr := -, expect_target_tsc := c_BtsParams[1].tsc }; - /* issue hand-over command on VTY, from BTS 0 to BTS 1 */ - f_vty_handover(BSCVTY, 0, 0, g_chan_nr, 1); + /* temporarily suspend DChan processing on BTS1 to avoid race with RSLEM_register */ f_rslem_suspend(RSL1_PROC); + /* issue hand-over command on VTY, from BTS 0 to BTS 1 */ + f_vty_handover(BSCVTY, 0, 0, g_chan_nr, 1);
/* From the MGW perspective, a handover is is characterized by * performing one MDCX operation with the MGW. So we expect to see