aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Chemeris <Alexander.Chemeris@gmail.com>2020-06-06 12:48:49 +0300
committerAlexander Chemeris <Alexander.Chemeris@gmail.com>2020-06-06 14:04:11 +0300
commit1325c67ffd2b963da868c527d71e9a1e889b7171 (patch)
tree8024ef6f31309e32a3439017bf7505a28c9e96ad
parentb629c465fc116bbc3850c030c2addc02addcc591 (diff)
ts_fsm: Properly cleanup the FSM on cleanup.fairwaves/stats-work
Though it looks like this code is never actually executed because TS in the current model TS FSM instances are created on the BTS structure allocation and are never destroyed. Change-Id: Ie642d201c7b1333321319cd5220c9778d7e6138e
-rw-r--r--src/osmo-bsc/timeslot_fsm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c
index b577a12f4..d44c29f5c 100644
--- a/src/osmo-bsc/timeslot_fsm.c
+++ b/src/osmo-bsc/timeslot_fsm.c
@@ -794,7 +794,11 @@ static void ts_fsm_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data
static void ts_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)
{
+ LOG_TS(ts, LOGL_DEBUG, "cleaning up with cause %d\n", cause);
+ struct gsm_bts_trx_ts *ts = ts_fi_ts(fi);
_count_borken_on_teardown(fi);
+ ts_terminate_lchan_fsms(ts);
+ ts->fi = NULL;
}
#define S(x) (1 << (x))