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
This commit is contained in:
Neels Hofmeyr 2019-05-10 15:55:52 +02:00 committed by Harald Welte
parent 979b057ad7
commit 0a437be0e3
1 changed files with 12 additions and 0 deletions

View File

@ -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); msc_ho_start(msc_a, (struct ran_handover_required*)data);
return; 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_MO_CLOSE:
case MSC_A_EV_CN_CLOSE: case MSC_A_EV_CN_CLOSE:
case MSC_A_EV_UNUSED: 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 */ /* RTP streams cleaned up above */
return; return;
case MSC_A_EV_HANDOVER_END:
/* msc_ho_fsm does cleanup. */
return;
default: default:
OSMO_ASSERT(false); 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_EV_CALL_LEG_TERM)
| S(MSC_MNCC_EV_CALL_ENDED) | S(MSC_MNCC_EV_CALL_ENDED)
| S(MSC_A_EV_HANDOVER_REQUIRED) | S(MSC_A_EV_HANDOVER_REQUIRED)
| S(MSC_A_EV_HANDOVER_END)
, ,
.out_state_mask = 0 .out_state_mask = 0
| S(MSC_A_ST_RELEASING) | 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_A_EV_UNUSED)
| S(MSC_EV_CALL_LEG_TERM) | S(MSC_EV_CALL_LEG_TERM)
| S(MSC_MNCC_EV_CALL_ENDED) | S(MSC_MNCC_EV_CALL_ENDED)
| S(MSC_A_EV_HANDOVER_END)
, ,
.out_state_mask = 0 .out_state_mask = 0
| S(MSC_A_ST_RELEASED) | S(MSC_A_ST_RELEASED)