lchan_fsm: allow late RTP release events without erroring

Change-Id: Ia463f97402b957bd13a95d18d291d1c1f006f089
This commit is contained in:
Neels Hofmeyr 2018-09-07 16:24:04 +02:00 committed by Neels Hofmeyr
parent c21681d870
commit 021971781d
1 changed files with 9 additions and 0 deletions

View File

@ -967,6 +967,10 @@ static void lchan_fsm_wait_rf_release_ack(struct osmo_fsm_inst *fi, uint32_t eve
lchan_fsm_state_chg(LCHAN_ST_UNUSED);
break;
case LCHAN_EV_RTP_RELEASED:
/* ignore late lchan_rtp_fsm release events */
return;
default:
OSMO_ASSERT(false);
}
@ -1119,6 +1123,7 @@ static const struct osmo_fsm_state lchan_fsm_states[] = {
.name = "WAIT_BEFORE_RF_RELEASE",
.in_event_mask = 0
| S(LCHAN_EV_RLL_REL_IND) /* allow late REL_IND of SAPI[0] */
| S(LCHAN_EV_RTP_RELEASED) /* ignore late lchan_rtp_fsm release events */
,
.out_state_mask = 0
| S(LCHAN_ST_UNUSED)
@ -1131,6 +1136,7 @@ static const struct osmo_fsm_state lchan_fsm_states[] = {
.action = lchan_fsm_wait_rf_release_ack,
.in_event_mask = 0
| S(LCHAN_EV_RSL_RF_CHAN_REL_ACK)
| S(LCHAN_EV_RTP_RELEASED) /* ignore late lchan_rtp_fsm release events */
,
.out_state_mask = 0
| S(LCHAN_ST_UNUSED)
@ -1140,6 +1146,9 @@ static const struct osmo_fsm_state lchan_fsm_states[] = {
},
[LCHAN_ST_WAIT_AFTER_ERROR] = {
.name = "WAIT_AFTER_ERROR",
.in_event_mask = 0
| S(LCHAN_EV_RTP_RELEASED) /* ignore late lchan_rtp_fsm release events */
,
.out_state_mask = 0
| S(LCHAN_ST_UNUSED)
,