aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-modem.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-base-modem.c')
-rw-r--r--src/mm-base-modem.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c
index d3be6056..9ded0445 100644
--- a/src/mm-base-modem.c
+++ b/src/mm-base-modem.c
@@ -151,8 +151,18 @@ initialize_ready (MMBaseModem *self,
GError *error = NULL;
if (!MM_BASE_MODEM_GET_CLASS (self)->initialize_finish (self, res, &error)) {
- mm_warn ("couldn't initialize the modem: '%s'", error->message);
- mm_base_modem_set_valid (self, FALSE);
+ /* Wrong state is returned when modem is found locked */
+ if (g_error_matches (error,
+ MM_CORE_ERROR,
+ MM_CORE_ERROR_WRONG_STATE)) {
+ mm_dbg ("Couldn't finish initialization in the current state: '%s'",
+ error->message);
+ mm_base_modem_set_valid (self, TRUE);
+ } else {
+ mm_warn ("couldn't initialize the modem: '%s'", error->message);
+ mm_base_modem_set_valid (self, FALSE);
+ }
+
g_error_free (error);
return;
}