mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE
It can happen that the MS tries to attach while SGSN's MM Iu state is ST_PMM_IDLE (eg because UE was hard rebooted). Since Attach is a specific case of getting a Connection Established, also allow it as a trigger to transit to state ST_PMM_CONNECTED. Related: SYS#5389 Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d
This commit is contained in:
parent
c67c90b47e
commit
e8cd6856a5
|
@ -81,6 +81,7 @@ static void st_pmm_idle_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
|
|||
static void st_pmm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data)
|
||||
{
|
||||
switch(event) {
|
||||
case E_PMM_PS_ATTACH:
|
||||
case E_PMM_PS_CONN_ESTABLISH:
|
||||
mm_state_iu_fsm_state_chg(fi, ST_PMM_CONNECTED);
|
||||
break;
|
||||
|
@ -117,7 +118,10 @@ static struct osmo_fsm_state mm_state_iu_fsm_states[] = {
|
|||
.action = st_pmm_connected,
|
||||
},
|
||||
[ST_PMM_IDLE] = {
|
||||
.in_event_mask = X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_PS_CONN_ESTABLISH),
|
||||
.in_event_mask =
|
||||
X(E_PMM_IMPLICIT_DETACH) |
|
||||
X(E_PMM_PS_CONN_ESTABLISH) |
|
||||
X(E_PMM_PS_ATTACH),
|
||||
.out_state_mask = X(ST_PMM_DETACHED) | X(ST_PMM_CONNECTED),
|
||||
.name = "Idle",
|
||||
.onenter = st_pmm_idle_on_enter,
|
||||
|
|
Loading…
Reference in New Issue