diff options
-rw-r--r-- | src/mm-iface-modem-3gpp-profile-manager.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mm-iface-modem-3gpp-profile-manager.c b/src/mm-iface-modem-3gpp-profile-manager.c index ceeee522..0a14aac7 100644 --- a/src/mm-iface-modem-3gpp-profile-manager.c +++ b/src/mm-iface-modem-3gpp-profile-manager.c @@ -278,8 +278,13 @@ profile_manager_check_activated_profile_ready (MMIfaceModem3gppProfileManager *s ctx = g_task_get_task_data (task); if (!MM_IFACE_MODEM_3GPP_PROFILE_MANAGER_GET_INTERFACE (self)->check_activated_profile_finish (self, res, &activated, &error)) { - mm_obj_dbg (self, "couldn't check if profile '%d' is activated: %s", ctx->profile_id, error->message); - ctx->step = SET_PROFILE_STEP_DEACTIVATE_PROFILE; + if (g_error_matches (error, MM_CORE_ERROR, MM_CORE_ERROR_NOT_FOUND)) { + mm_obj_dbg (self, "profile '%d' is not activated: %s", ctx->profile_id, error->message); + ctx->step = SET_PROFILE_STEP_STORE_PROFILE; + } else { + mm_obj_dbg (self, "couldn't check if profile '%d' is activated: %s", ctx->profile_id, error->message); + ctx->step = SET_PROFILE_STEP_DEACTIVATE_PROFILE; + } } else if (activated) { mm_obj_dbg (self, "profile '%d' is activated", ctx->profile_id); |