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
This commit is contained in:
Neels Hofmeyr 2016-08-24 16:57:31 +02:00 committed by Harald Welte
parent b74a2c8e29
commit a2ef7d6477
1 changed files with 7 additions and 0 deletions

View File

@ -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,