diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-05-10 15:55:52 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-05-12 10:33:20 +0000 |
commit | 0a437be0e3705ade52085e0f8a91c123b5399ae6 (patch) | |
tree | 78cc7359e8e66b53ccb94d7d326422a8a4111b19 /src/libmsc/msc_a.c | |
parent | 979b057ad7e477718d4143b7c5a18dbe542702d6 (diff) |
silence error messages about HANDOVER_END not permitted
The MSC_A_EV_HANDOVER_END exists as parent term event for the msc_ho_fsm, but
it is not actually required as functional event, since all cleanup is handled
in msc_ho_fsm_cleanup().
That's why I never bothered to add the event to msc_a_fsm, but of course that
means we get an error message after each (successful and unsuccessful)
handover, that the MSC_A_EV_HANDOVER_END is not permitted.
Allow the event and ignore it to silence the error message.
Explain in a comment.
Change-Id: Ie8dc0c0a631b7da43111f329562007766a21b134
Diffstat (limited to 'src/libmsc/msc_a.c')
-rw-r--r-- | src/libmsc/msc_a.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 77dd43df6..5137e200b 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -646,6 +646,12 @@ static void msc_a_fsm_communicating(struct osmo_fsm_inst *fi, uint32_t event, vo msc_ho_start(msc_a, (struct ran_handover_required*)data); return; + case MSC_A_EV_HANDOVER_END: + /* Termination event of the msc_ho_fsm. No action needed, it's all done in the msc_ho_fsm cleanup. This + * event only exists because osmo_fsm_inst_alloc_child() requires a parent term event; and maybe + * interesting for logging. */ + return; + case MSC_A_EV_MO_CLOSE: case MSC_A_EV_CN_CLOSE: case MSC_A_EV_UNUSED: @@ -756,6 +762,10 @@ static void msc_a_fsm_releasing(struct osmo_fsm_inst *fi, uint32_t event, void * /* RTP streams cleaned up above */ return; + case MSC_A_EV_HANDOVER_END: + /* msc_ho_fsm does cleanup. */ + return; + default: OSMO_ASSERT(false); } @@ -921,6 +931,7 @@ static const struct osmo_fsm_state msc_a_fsm_states[] = { | S(MSC_EV_CALL_LEG_TERM) | S(MSC_MNCC_EV_CALL_ENDED) | S(MSC_A_EV_HANDOVER_REQUIRED) + | S(MSC_A_EV_HANDOVER_END) , .out_state_mask = 0 | S(MSC_A_ST_RELEASING) @@ -935,6 +946,7 @@ static const struct osmo_fsm_state msc_a_fsm_states[] = { | S(MSC_A_EV_UNUSED) | S(MSC_EV_CALL_LEG_TERM) | S(MSC_MNCC_EV_CALL_ENDED) + | S(MSC_A_EV_HANDOVER_END) , .out_state_mask = 0 | S(MSC_A_ST_RELEASED) |