broadband-modem: allow 3GPP initialization before fallback

To enable call to disable-facility-lock in LOCKED state,
3gpp interface needs to be initialized before going to fallback step.
This commit is contained in:
Michal Mazur
2021-04-20 11:31:23 +02:00
committed by Aleksander Morgado
parent d76c5c9bcd
commit 83e7600a67

View File

@@ -11941,6 +11941,7 @@ typedef enum {
INITIALIZE_STEP_SETUP_SIMPLE_STATUS,
INITIALIZE_STEP_IFACE_MODEM,
INITIALIZE_STEP_IFACE_3GPP,
INITIALIZE_STEP_JUMP_TO_LIMITED,
INITIALIZE_STEP_IFACE_3GPP_PROFILE_MANAGER,
INITIALIZE_STEP_IFACE_3GPP_USSD,
INITIALIZE_STEP_IFACE_CDMA,
@@ -12068,17 +12069,6 @@ iface_modem_initialize_ready (MMBroadbandModem *self,
mm_iface_modem_bind_simple_status (MM_IFACE_MODEM (self),
self->priv->modem_simple_status);
/* If we find ourselves in a LOCKED state, we shouldn't keep on
* the initialization sequence. Instead, we will re-initialize once
* we are unlocked. */
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. */
ctx->step = INITIALIZE_STEP_FALLBACK_LIMITED;
initialize_step (task);
return;
}
/* Go on to next step */
ctx->step++;
initialize_step (task);
@@ -12204,6 +12194,17 @@ initialize_step (GTask *task)
ctx->step++;
/* 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. */
ctx->step = INITIALIZE_STEP_FALLBACK_LIMITED;
initialize_step (task);
return;
}
ctx->step++;
/* fall through */
case INITIALIZE_STEP_IFACE_3GPP_PROFILE_MANAGER:
if (mm_iface_modem_is_3gpp (MM_IFACE_MODEM (ctx->self))) {
/* Initialize the 3GPP Profile Manager interface */