From 959bb9d2ffb8bd7a3d701c21ec2cb58cab3717d9 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Mon, 7 Jan 2013 22:19:02 +0100 Subject: broadband-modem: launch the Firmware interface even on fatal errors Even when there is a fatal error during initialization (e.g. missing PIN in a 3GPP modem), we should allow operations on the Firmware interface. --- src/mm-broadband-modem.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 11bc279c..6563b4e9 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -7678,8 +7678,9 @@ iface_modem_initialize_ready (MMBroadbandModem *self, MM_MODEM_STATE_FAILED, MM_MODEM_STATE_CHANGE_REASON_UNKNOWN); - /* Just jump to the last step */ - ctx->step = INITIALIZE_STEP_LAST; + /* Jump to the firmware step. We allow firmware switching even in failed + * state */ + ctx->step = INITIALIZE_STEP_IFACE_FIRMWARE; initialize_step (ctx); return; } @@ -7873,7 +7874,8 @@ initialize_step (InitializeContext *ctx) return; case INITIALIZE_STEP_IFACE_SIMPLE: - mm_iface_modem_simple_initialize (MM_IFACE_MODEM_SIMPLE (ctx->self)); + if (ctx->self->priv->modem_state != MM_MODEM_STATE_FAILED) + mm_iface_modem_simple_initialize (MM_IFACE_MODEM_SIMPLE (ctx->self)); /* Fall down to next step */ ctx->step++; -- cgit v1.2.3-70-g09d2