diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-09-07 16:24:04 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2018-09-10 00:51:35 +0000 |
commit | 021971781de88bb9cd58f18c79a71379a6cfa920 (patch) | |
tree | 59666f5833fff9bab53236c779e4a2baa34fbd09 /src | |
parent | c21681d87091af40649daba5e31e8ec1e54b54d8 (diff) |
lchan_fsm: allow late RTP release events without erroring
Change-Id: Ia463f97402b957bd13a95d18d291d1c1f006f089
Diffstat (limited to 'src')
-rw-r--r-- | src/osmo-bsc/lchan_fsm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 7d4738045..1ef7869d3 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -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) , |