msuraev has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/29676 )
Change subject: GMM: permit E_GMM_COMMON_PROC_SUCCESS in normal state ......................................................................
GMM: permit E_GMM_COMMON_PROC_SUCCESS in normal state
The FSM might be moved out of ST_GMM_COMMON_PROC_INIT state either by E_GMM_ATTACH_SUCCESS or by E_GMM_COMMON_PROC_SUCCESS events which are not mutually exclusive. Hence the later event will arrive when we're already in the ST_GMM_REGISTERED_NORMAL state.
Let's have both events permitted to keep the logs clean from useless error.
Related: OS#5349 Change-Id: Ia97b50aac6c665812ddca9010de7f97b17b78bd5 --- M src/sgsn/gprs_gmm_fsm.c 1 file changed, 6 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve msuraev: Looks good to me, approved
diff --git a/src/sgsn/gprs_gmm_fsm.c b/src/sgsn/gprs_gmm_fsm.c index 78946b5..e9c31d0 100644 --- a/src/sgsn/gprs_gmm_fsm.c +++ b/src/sgsn/gprs_gmm_fsm.c @@ -80,6 +80,11 @@ case E_GMM_COMMON_PROC_INIT_REQ: gmm_fsm_state_chg(fi, ST_GMM_COMMON_PROC_INIT); break; + case E_GMM_COMMON_PROC_SUCCESS: + /* If we were moved from ST_GMM_COMMON_PROC_INIT here by + * E_GMM_ATTACH_SUCCESS instead of E_GMM_COMMON_PROC_SUCCESS then we'll receive the latter here: + * we should simply ignore it */ + break; /* case E_GMM_NET_INIT_DETACH_REQ: gmm_fsm_state_chg(fi, ST_GMM_DEREGISTERED_INIT); break; */ @@ -141,6 +146,7 @@ [ST_GMM_REGISTERED_NORMAL] = { .in_event_mask = X(E_GMM_COMMON_PROC_INIT_REQ) | + X(E_GMM_COMMON_PROC_SUCCESS) | /* X(E_GMM_NET_INIT_DETACH_REQ) | */ /* X(E_GMM_MS_INIT_DETACH_REQ) | */ X(E_GMM_SUSPEND),