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_SETUP_SIMPLE_STATUS,
|
||||||
INITIALIZE_STEP_IFACE_MODEM,
|
INITIALIZE_STEP_IFACE_MODEM,
|
||||||
INITIALIZE_STEP_IFACE_3GPP,
|
INITIALIZE_STEP_IFACE_3GPP,
|
||||||
|
INITIALIZE_STEP_JUMP_TO_LIMITED,
|
||||||
INITIALIZE_STEP_IFACE_3GPP_PROFILE_MANAGER,
|
INITIALIZE_STEP_IFACE_3GPP_PROFILE_MANAGER,
|
||||||
INITIALIZE_STEP_IFACE_3GPP_USSD,
|
INITIALIZE_STEP_IFACE_3GPP_USSD,
|
||||||
INITIALIZE_STEP_IFACE_CDMA,
|
INITIALIZE_STEP_IFACE_CDMA,
|
||||||
@@ -12068,17 +12069,6 @@ iface_modem_initialize_ready (MMBroadbandModem *self,
|
|||||||
mm_iface_modem_bind_simple_status (MM_IFACE_MODEM (self),
|
mm_iface_modem_bind_simple_status (MM_IFACE_MODEM (self),
|
||||||
self->priv->modem_simple_status);
|
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 */
|
/* Go on to next step */
|
||||||
ctx->step++;
|
ctx->step++;
|
||||||
initialize_step (task);
|
initialize_step (task);
|
||||||
@@ -12204,6 +12194,17 @@ initialize_step (GTask *task)
|
|||||||
ctx->step++;
|
ctx->step++;
|
||||||
/* fall through */
|
/* 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:
|
case INITIALIZE_STEP_IFACE_3GPP_PROFILE_MANAGER:
|
||||||
if (mm_iface_modem_is_3gpp (MM_IFACE_MODEM (ctx->self))) {
|
if (mm_iface_modem_is_3gpp (MM_IFACE_MODEM (ctx->self))) {
|
||||||
/* Initialize the 3GPP Profile Manager interface */
|
/* Initialize the 3GPP Profile Manager interface */
|
||||||
|
Reference in New Issue
Block a user