diff options
Diffstat (limited to 'src/mm-iface-modem-3gpp.c')
-rw-r--r-- | src/mm-iface-modem-3gpp.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/mm-iface-modem-3gpp.c b/src/mm-iface-modem-3gpp.c index 786d2bc0..50246791 100644 --- a/src/mm-iface-modem-3gpp.c +++ b/src/mm-iface-modem-3gpp.c @@ -3053,8 +3053,8 @@ static void interface_initialization_step (GTask *task); typedef enum { INITIALIZATION_STEP_FIRST, INITIALIZATION_STEP_ENABLED_FACILITY_LOCKS, - INITIALIZATION_STEP_TEST_LOCKED, INITIALIZATION_STEP_IMEI, + INITIALIZATION_STEP_TEST_LOCKED_OR_FAILED, INITIALIZATION_STEP_EPS_UE_MODE_OPERATION, INITIALIZATION_STEP_EPS_INITIAL_BEARER_SETTINGS, INITIALIZATION_STEP_NR5G_REGISTRATION_SETTINGS, @@ -3254,20 +3254,6 @@ interface_initialization_step (GTask *task) ctx->step++; /* fall through */ - case INITIALIZATION_STEP_TEST_LOCKED: - modem_state = MM_MODEM_STATE_UNKNOWN; - g_object_get (self, - MM_IFACE_MODEM_STATE, &modem_state, - NULL); - if (modem_state == MM_MODEM_STATE_LOCKED) { - /* Skip some steps and export the interface if modem is locked */ - ctx->step = INITIALIZATION_STEP_LAST; - interface_initialization_step (task); - return; - } - ctx->step++; - /* fall through */ - case INITIALIZATION_STEP_IMEI: /* IMEI value is meant to be loaded only once during the whole * lifetime of the modem. Therefore, if we already have it loaded, @@ -3284,6 +3270,21 @@ interface_initialization_step (GTask *task) ctx->step++; /* fall through */ + case INITIALIZATION_STEP_TEST_LOCKED_OR_FAILED: + modem_state = MM_MODEM_STATE_UNKNOWN; + g_object_get (self, + MM_IFACE_MODEM_STATE, &modem_state, + NULL); + if (modem_state == MM_MODEM_STATE_LOCKED || + modem_state == MM_MODEM_STATE_FAILED) { + /* Skip some steps and export the interface if modem is locked or failed */ + ctx->step = INITIALIZATION_STEP_LAST; + interface_initialization_step (task); + return; + } + ctx->step++; + /* fall through */ + case INITIALIZATION_STEP_EPS_UE_MODE_OPERATION: if (MM_IFACE_MODEM_3GPP_GET_INTERFACE (self)->load_eps_ue_mode_operation && MM_IFACE_MODEM_3GPP_GET_INTERFACE (self)->load_eps_ue_mode_operation_finish) { |