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:

committed by
Aleksander Morgado

parent
d76c5c9bcd
commit
83e7600a67
@@ -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 */
|
||||
|
Reference in New Issue
Block a user