lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/43481?usp=email )
Change subject: libvlr: lu_fsm: PS: don't terminate by timer to prevent cascade ......................................................................
libvlr: lu_fsm: PS: don't terminate by timer to prevent cascade
To prevent a termination cascade, don't termine the FSM by the timer callback when running as PS/SGSN. The SGSN binds the LU FSM to the Attach/RAU FSM. When the timeout happens, the Attach/RAU FSM will terminate the child FSMs because the Attach/RAU FSM gets notified by tx_lu_rej().
Change-Id: I483bd3e734b1046fcafdae31189bc5df5b122a48 --- M src/libvlr/vlr_lu_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-)
Approvals: pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified lynxis lazus: Looks good to me, approved laforge: Looks good to me, but someone else must approve
diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c index e63f1ee..8fa6c54 100644 --- a/src/libvlr/vlr_lu_fsm.c +++ b/src/libvlr/vlr_lu_fsm.c @@ -1594,8 +1594,8 @@ }
lfp->vlr->ops.tx_lu_rej(lfp->msc_conn_ref, gsm48_cause, lfp->lu_type); - /* 1 will terminate the fsm */ - return 1; + /* The callback might have already cleaned up this FSM */ + return 0; }
switch (fi->state) {