handover_test: ack release only when lchan is still waiting

Change-Id: I4c7596df06d7c211adcfcd110a1984903a0820e1
This commit is contained in:
Neels Hofmeyr 2021-05-11 17:22:57 +02:00
parent 4ab0555f39
commit f9fea61fa9
1 changed files with 8 additions and 6 deletions

View File

@ -439,12 +439,14 @@ struct gsm_lchan *create_lchan(struct gsm_bts *bts, int full_rate, const char *c
static void lchan_release_ack(struct gsm_lchan *lchan)
{
if (lchan->fi && lchan->fi->state == LCHAN_ST_WAIT_BEFORE_RF_RELEASE) {
/* don't wait before release */
osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_WAIT_RF_RELEASE_ACK, 0, 0);
/* ack the release */
osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_RSL_RF_CHAN_REL_ACK, 0);
}
if (!lchan->fi || lchan->fi->state != LCHAN_ST_WAIT_BEFORE_RF_RELEASE)
return;
/* don't wait before release */
osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_WAIT_RF_RELEASE_ACK, 0, 0);
if (lchan->fi->state == LCHAN_ST_UNUSED)
return;
/* ack the release */
osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_RSL_RF_CHAN_REL_ACK, 0);
}
static void lchan_clear(struct gsm_lchan *lchan)