diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-08-24 16:57:31 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-08-27 02:23:47 +0000 |
commit | a2ef7d6477a2e3b026e56db78bbd407c67e61df1 (patch) | |
tree | 8490870871194f5d9f1f29d6e3cbc7c2fc30f567 /openbsc/src/libbsc/abis_rsl.c | |
parent | b74a2c8e290e58a371c07b9d8a82872e54de6a2f (diff) |
dyn TS: fix: properly run an lchan activation timeout
Actually schedule an activation timer for the activation part of a dyn TS
switchover. It needs to be restarted because the channel release procedure in
the first part of a switchover actually removes the activation timer.
Change-Id: Ibf50d13ba10298464a8b07e34716763161438990
Diffstat (limited to 'openbsc/src/libbsc/abis_rsl.c')
-rw-r--r-- | openbsc/src/libbsc/abis_rsl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c index 42281ba8f..edc28a704 100644 --- a/openbsc/src/libbsc/abis_rsl.c +++ b/openbsc/src/libbsc/abis_rsl.c @@ -2487,6 +2487,13 @@ static int dyn_ts_switchover_continue(struct gsm_bts_trx_ts *ts) lchan->dyn.rqd_ref = NULL; lchan->dyn.rqd_ta = 0; + /* During switchover, we have received a release ack, which means that + * the act_timer has been stopped. Start the timer again so we mark + * this channel broken if the activation ack comes too late. */ + lchan->act_timer.cb = lchan_act_tmr_cb; + lchan->act_timer.data = lchan; + osmo_timer_schedule(&lchan->act_timer, 4, 0); + rc = rsl_chan_activate_lchan(lchan, act_type, ho_ref); if (rc) { LOGP(DRSL, LOGL_ERROR, |