[S] Change in libosmo-sigtran[master]: xua_as_fsm: Fix wrong pointer cast during XUA_ASPAS_ASP_DOWN_IND
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40695?usp=email ) Change subject: xua_as_fsm: Fix wrong pointer cast during XUA_ASPAS_ASP_DOWN_IND ...................................................................... xua_as_fsm: Fix wrong pointer cast during XUA_ASPAS_ASP_DOWN_IND Change-Id: Ied523e080419723e0a3eb2f8103897b241bff41f --- M src/xua_as_fsm.c M src/xua_as_fsm.h 2 files changed, 17 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/95/40695/1 diff --git a/src/xua_as_fsm.c b/src/xua_as_fsm.c index 7afcb6d..c39132b 100644 --- a/src/xua_as_fsm.c +++ b/src/xua_as_fsm.c @@ -586,14 +586,8 @@ switch (event) { case XUA_ASPAS_ASP_DOWN_IND: - case XUA_ASPAS_ASP_INACTIVE_IND: - inact_ind_pars = data; - if (check_any_other_asp_in_active(xafp->as, inact_ind_pars->asp)) { - if (event == XUA_ASPAS_ASP_INACTIVE_IND && inact_ind_pars->asp_requires_notify) { - fill_notify_statchg_pars(fi, &npar); - tx_notify(inact_ind_pars->asp, &npar); - } /* ASP_DOWN_IND: ignore, nothing to be sent */ - } else { + asp = data; + if (!check_any_other_asp_in_active(xafp->as, asp)) { uint32_t recovery_msec = xafp->as->cfg.recovery_timeout_msec; osmo_fsm_inst_state_chg(fi, XUA_AS_S_PENDING, 0, 0); /* Start T(r) */ @@ -602,6 +596,20 @@ * recovery or T(r) expiry */ } break; + case XUA_ASPAS_ASP_INACTIVE_IND: + inact_ind_pars = data; + if (!check_any_other_asp_in_active(xafp->as, inact_ind_pars->asp)) { + uint32_t recovery_msec = xafp->as->cfg.recovery_timeout_msec; + osmo_fsm_inst_state_chg(fi, XUA_AS_S_PENDING, 0, 0); + /* Start T(r) */ + osmo_timer_schedule(&xafp->recovery.t_r, MSEC_TO_S_US(recovery_msec)); + /* FIXME: Queue all signalling messages until + * recovery or T(r) expiry */ + } else if (inact_ind_pars->asp_requires_notify) { + fill_notify_statchg_pars(fi, &npar); + tx_notify(inact_ind_pars->asp, &npar); + } + break; case XUA_ASPAS_ASP_ACTIVE_IND: asp = data; /* RFC466 sec 4.3.4.3 ASP Active Procedures*/ diff --git a/src/xua_as_fsm.h b/src/xua_as_fsm.h index 08f626b..5f6c7f3 100644 --- a/src/xua_as_fsm.h +++ b/src/xua_as_fsm.h @@ -21,7 +21,7 @@ enum xua_as_event { XUA_ASPAS_ASP_INACTIVE_IND, /* param: struct xua_as_event_asp_inactive_ind_pars* */ - XUA_ASPAS_ASP_DOWN_IND, + XUA_ASPAS_ASP_DOWN_IND, /* param: struct osmo_ss7_asp* */ XUA_ASPAS_ASP_ACTIVE_IND, XUA_AS_E_RECOVERY_EXPD, XUA_AS_E_TRANSFER_REQ, /* param: struct xua_msg*, ownership transferred. */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40695?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: libosmo-sigtran Gerrit-Branch: master Gerrit-Change-Id: Ied523e080419723e0a3eb2f8103897b241bff41f Gerrit-Change-Number: 40695 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin@sysmocom.de>
participants (1)
-
pespin