aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-05-10 15:55:52 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-12 10:33:20 +0000
commit0a437be0e3705ade52085e0f8a91c123b5399ae6 (patch)
tree78cc7359e8e66b53ccb94d7d326422a8a4111b19
parent979b057ad7e477718d4143b7c5a18dbe542702d6 (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
-rw-r--r--src/libmsc/msc_a.c12
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)