diff options
author | Michal Mazur <michamazur@google.com> | 2023-02-07 13:15:12 +0000 |
---|---|---|
committer | MichaĆ Mazur <mkm@semihalf.com> | 2023-02-15 15:00:41 +0000 |
commit | 6f00fb867bdac03ea273a58e2d14ae85468e7857 (patch) | |
tree | 49e4a469b79563e9790db612ec9ffa79878afbb0 /src/mm-broadband-modem.c | |
parent | 7cd28955a076f08b6b9fa999429a2a506e314af0 (diff) |
iface-modem-3gpp: enable reading of IMEI in FAILED state
It was not possible to read IMEI of modem when SIM was not inserted or
initialization failed due to modem facility locks. To load IMEI, the
3gpp interface need to be initialized before going to FALLBACK_LIMITED.
Diffstat (limited to 'src/mm-broadband-modem.c')
-rw-r--r-- | src/mm-broadband-modem.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 7f2fe831..b7e5d0e7 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -12453,18 +12453,12 @@ iface_modem_initialize_ready (MMBroadbandModem *self, g_error_free (error); mm_iface_modem_update_failed_state (MM_IFACE_MODEM (self), failed_reason); - - /* Jump to the fallback step when on failure, we will allow some additional - * interfaces even in failed state. */ - ctx->step = INITIALIZE_STEP_FALLBACK_LIMITED; - initialize_step (task); - return; + } else { + /* bind simple properties */ + mm_iface_modem_bind_simple_status (MM_IFACE_MODEM (self), + self->priv->modem_simple_status); } - /* bind simple properties */ - mm_iface_modem_bind_simple_status (MM_IFACE_MODEM (self), - self->priv->modem_simple_status); - /* Go on to next step */ ctx->step++; initialize_step (task); @@ -12592,9 +12586,10 @@ initialize_step (GTask *task) /* fall through */ case INITIALIZE_STEP_JUMP_TO_LIMITED: - if (ctx->self->priv->modem_state == MM_MODEM_STATE_LOCKED) { - /* Jump to the fallback step when locked, we will allow some additional - * interfaces even in locked state. */ + if (ctx->self->priv->modem_state == MM_MODEM_STATE_LOCKED || + ctx->self->priv->modem_state == MM_MODEM_STATE_FAILED) { + /* Jump to the fallback step when locked or failed, we will allow some additional + * interfaces even in locked or failed state. */ ctx->step = INITIALIZE_STEP_FALLBACK_LIMITED; initialize_step (task); return; @@ -12736,7 +12731,6 @@ initialize_step (GTask *task) * leave the Voice interface around so that we can attempt * emergency voice calls. */ - mm_iface_modem_3gpp_shutdown (MM_IFACE_MODEM_3GPP (ctx->self)); mm_iface_modem_3gpp_profile_manager_shutdown (MM_IFACE_MODEM_3GPP_PROFILE_MANAGER (ctx->self)); mm_iface_modem_3gpp_ussd_shutdown (MM_IFACE_MODEM_3GPP_USSD (ctx->self)); mm_iface_modem_cdma_shutdown (MM_IFACE_MODEM_CDMA (ctx->self)); |