diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2022-05-20 14:16:17 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2022-05-25 11:14:40 +0200 |
commit | 012303013699bf23fde74a3ecb067c5c3a011554 (patch) | |
tree | 510850897dacff17915b6547886778697cc28146 /src/mm-iface-modem.c | |
parent | fe91a3044d55fcb354630d92dcfe723279a612eb (diff) |
iface-modem: skip setting up carrier config on esim without profiles
Diffstat (limited to 'src/mm-iface-modem.c')
-rw-r--r-- | src/mm-iface-modem.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index d4d406a8..02849048 100644 --- a/src/mm-iface-modem.c +++ b/src/mm-iface-modem.c @@ -5960,8 +5960,8 @@ interface_initialization_step (GTask *task) if (!mm_iface_modem_is_cdma_only (self) && MM_IFACE_MODEM_GET_INTERFACE (self)->setup_carrier_config && MM_IFACE_MODEM_GET_INTERFACE (self)->setup_carrier_config_finish) { - MMBaseSim *sim = NULL; - gchar *carrier_config_mapping = NULL; + g_autoptr(MMBaseSim) sim = NULL; + g_autofree gchar *carrier_config_mapping = NULL; g_object_get (self, MM_IFACE_MODEM_SIM, &sim, @@ -5972,26 +5972,25 @@ interface_initialization_step (GTask *task) * validate whether we're already using the best config or not. */ if (!sim) mm_obj_dbg (self, "not setting up carrier config: SIM not found"); + else if (!mm_base_sim_is_esim_without_profiles (sim)) + mm_obj_dbg (self, "not setting up carrier config: eSIM without profiles"); else if (!carrier_config_mapping) mm_obj_dbg (self, "not setting up carrier config: mapping file not configured"); else { const gchar *imsi; imsi = mm_gdbus_sim_get_imsi (MM_GDBUS_SIM (sim)); - if (imsi) { + if (!imsi) + mm_obj_dbg (self, "not setting up carrier config: unknown IMSI"); + else { MM_IFACE_MODEM_GET_INTERFACE (self)->setup_carrier_config (self, imsi, carrier_config_mapping, (GAsyncReadyCallback)setup_carrier_config_ready, task); - g_object_unref (sim); - g_free (carrier_config_mapping); return; } - mm_obj_warn (self, "couldn't setup carrier config: unknown IMSI"); } - g_clear_object (&sim); - g_free (carrier_config_mapping); } ctx->step++; /* fall-through */ |