diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem-mbim.c | 1 | ||||
-rw-r--r-- | src/mm-broadband-modem-qmi.c | 3 | ||||
-rw-r--r-- | src/mm-broadband-modem.c | 48 | ||||
-rw-r--r-- | src/mm-iface-modem.c | 27 | ||||
-rw-r--r-- | src/mm-iface-modem.h | 1 |
5 files changed, 23 insertions, 57 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c index 7d04dc92..11f26efb 100644 --- a/src/mm-broadband-modem-mbim.c +++ b/src/mm-broadband-modem-mbim.c @@ -9022,7 +9022,6 @@ mm_broadband_modem_mbim_new (const gchar *device, MM_BASE_MODEM_DATA_NET_SUPPORTED, TRUE, MM_BASE_MODEM_DATA_TTY_SUPPORTED, FALSE, MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED, TRUE, - MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, FALSE, MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, TRUE, NULL); } diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index 62420684..1c799172 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -12668,8 +12668,7 @@ mm_broadband_modem_qmi_new (const gchar *device, /* QMI bearer supports NET only */ MM_BASE_MODEM_DATA_NET_SUPPORTED, TRUE, MM_BASE_MODEM_DATA_TTY_SUPPORTED, FALSE, - MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED, TRUE, - MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, FALSE, + MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED, TRUE, NULL); } diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index f711e502..f38e6b86 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -129,7 +129,6 @@ enum { PROP_MODEM_VOICE_CALL_LIST, PROP_MODEM_SIMPLE_STATUS, PROP_MODEM_SIM_HOT_SWAP_SUPPORTED, - PROP_MODEM_SIM_HOT_SWAP_CONFIGURED, PROP_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, PROP_MODEM_PERIODIC_ACCESS_TECH_CHECK_DISABLED, PROP_MODEM_PERIODIC_CALL_LIST_CHECK_DISABLED, @@ -156,7 +155,6 @@ struct _MMBroadbandModemPrivate { PortsContext *in_call_ports_ctx; gboolean modem_init_run; gboolean sim_hot_swap_supported; - gboolean sim_hot_swap_configured; gboolean periodic_signal_check_disabled; gboolean periodic_access_tech_check_disabled; @@ -12632,33 +12630,25 @@ initialize_step (GTask *task) * (we may be re-running the initialization step after SIM-PIN unlock) */ if (!ctx->self->priv->sim_hot_swap_ports_ctx) { gboolean is_sim_hot_swap_supported = FALSE; - gboolean is_sim_hot_swap_configured = FALSE; g_object_get (ctx->self, - MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED, &is_sim_hot_swap_supported, - MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, &is_sim_hot_swap_configured, + MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED, &is_sim_hot_swap_supported, NULL); if (is_sim_hot_swap_supported) { - - if (!is_sim_hot_swap_configured) { - mm_obj_warn (ctx->self, "SIM hot swap supported but not configured. Skipping opening ports"); + PortsContext *ports; + g_autoptr(GError) error = NULL; + + mm_obj_dbg (ctx->self, "creating ports context for SIM hot swap"); + ports = ports_context_new (); + if (!ports_context_open (ctx->self, ports, FALSE, FALSE, FALSE, &error)) { + mm_obj_warn (ctx->self, "couldn't open ports during modem SIM hot swap enabling: %s", + error ? error->message : "unknown reason"); } else { - PortsContext *ports; - GError *error = NULL; - - mm_obj_dbg (ctx->self, "creating ports context for SIM hot swap"); - ports = ports_context_new (); - if (!ports_context_open (ctx->self, ports, FALSE, FALSE, FALSE, &error)) { - mm_obj_warn (ctx->self, "couldn't open ports during Modem SIM hot swap enabling: %s", - error ? error->message : "unknown reason"); - g_error_free (error); - } else { - ctx->self->priv->sim_hot_swap_ports_ctx = ports_context_ref (ports); - } - - ports_context_unref (ports); + ctx->self->priv->sim_hot_swap_ports_ctx = ports_context_ref (ports); } + + ports_context_unref (ports); } } else mm_obj_dbg (ctx->self, "ports context for SIM hot swap already available"); @@ -12686,21 +12676,17 @@ initialize_step (GTask *task) } else { /* Fatal SIM, firmware, or modem failure :-( */ gboolean is_sim_hot_swap_supported = FALSE; - gboolean is_sim_hot_swap_configured = FALSE; MMModemStateFailedReason reason; reason = mm_gdbus_modem_get_state_failed_reason (MM_GDBUS_MODEM (ctx->self->priv->modem_dbus_skeleton)); g_object_get (ctx->self, MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED, &is_sim_hot_swap_supported, - MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, &is_sim_hot_swap_configured, NULL); if (reason == MM_MODEM_STATE_FAILED_REASON_SIM_MISSING) { if (!is_sim_hot_swap_supported) { mm_obj_dbg (ctx->self, "SIM is missing, but this modem does not support SIM hot swap."); - } else if (!is_sim_hot_swap_configured) { - mm_obj_warn (ctx->self, "SIM is missing, but SIM hot swap could not be configured."); } else if (!ctx->self->priv->sim_hot_swap_ports_ctx) { mm_obj_err (ctx->self, "SIM is missing and SIM hot swap is configured, but ports are not opened."); } else { @@ -13058,9 +13044,6 @@ set_property (GObject *object, case PROP_MODEM_SIM_HOT_SWAP_SUPPORTED: self->priv->sim_hot_swap_supported = g_value_get_boolean (value); break; - case PROP_MODEM_SIM_HOT_SWAP_CONFIGURED: - self->priv->sim_hot_swap_configured = g_value_get_boolean (value); - break; case PROP_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED: self->priv->periodic_signal_check_disabled = g_value_get_boolean (value); break; @@ -13208,9 +13191,6 @@ get_property (GObject *object, case PROP_MODEM_SIM_HOT_SWAP_SUPPORTED: g_value_set_boolean (value, self->priv->sim_hot_swap_supported); break; - case PROP_MODEM_SIM_HOT_SWAP_CONFIGURED: - g_value_set_boolean (value, self->priv->sim_hot_swap_configured); - break; case PROP_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED: g_value_set_boolean (value, self->priv->periodic_signal_check_disabled); break; @@ -13860,10 +13840,6 @@ mm_broadband_modem_class_init (MMBroadbandModemClass *klass) MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED); g_object_class_override_property (object_class, - PROP_MODEM_SIM_HOT_SWAP_CONFIGURED, - MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED); - - g_object_class_override_property (object_class, PROP_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED); diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index d2954cb2..517288e6 100644 --- a/src/mm-iface-modem.c +++ b/src/mm-iface-modem.c @@ -71,6 +71,9 @@ typedef struct { /* Initialization restart support */ guint restart_initialize_idle_id; + + /* SIM hot swap setup done flag */ + gboolean sim_hot_swap_configured; } Private; static void @@ -5019,19 +5022,19 @@ setup_sim_hot_swap_ready (MMIfaceModem *self, GAsyncResult *res, GTask *task) { + Private *priv; InitializationContext *ctx; g_autoptr(GError) error = NULL; - ctx = g_task_get_task_data (task); + priv = get_private (self); + ctx = g_task_get_task_data (task); MM_IFACE_MODEM_GET_INTERFACE (self)->setup_sim_hot_swap_finish (self, res, &error); if (error) mm_obj_warn (self, "SIM hot swap setup failed: %s", error->message); else { mm_obj_dbg (self, "SIM hot swap setup succeeded"); - g_object_set (self, - MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, TRUE, - NULL); + priv->sim_hot_swap_configured = TRUE; } /* Go on to next step */ @@ -5775,12 +5778,10 @@ interface_initialization_step (GTask *task) /* fall-through */ case INITIALIZATION_STEP_SIM_HOT_SWAP: { - gboolean sim_hot_swap_configured = FALSE; + Private *priv; - g_object_get (self, - MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, &sim_hot_swap_configured, - NULL); - if (!sim_hot_swap_configured && + priv = get_private (self); + if (!priv->sim_hot_swap_configured && MM_IFACE_MODEM_GET_INTERFACE (self)->setup_sim_hot_swap && MM_IFACE_MODEM_GET_INTERFACE (self)->setup_sim_hot_swap_finish) { MM_IFACE_MODEM_GET_INTERFACE (self)->setup_sim_hot_swap ( @@ -6431,14 +6432,6 @@ iface_modem_init (gpointer g_iface) g_object_interface_install_property (g_iface, - g_param_spec_boolean (MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, - "Sim Hot Swap Configured", - "Whether the sim hot swap support is configured correctly.", - FALSE, - G_PARAM_READWRITE)); - - g_object_interface_install_property - (g_iface, g_param_spec_boolean (MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, "Periodic signal quality check disabled", "Whether periodic signal quality check is disabled.", diff --git a/src/mm-iface-modem.h b/src/mm-iface-modem.h index a182d6d9..bb79084c 100644 --- a/src/mm-iface-modem.h +++ b/src/mm-iface-modem.h @@ -39,7 +39,6 @@ #define MM_IFACE_MODEM_SIM_SLOTS "iface-modem-sim-slots" #define MM_IFACE_MODEM_BEARER_LIST "iface-modem-bearer-list" #define MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED "iface-modem-sim-hot-swap-supported" -#define MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED "iface-modem-sim-hot-swap-configured" #define MM_IFACE_MODEM_CARRIER_CONFIG_MAPPING "iface-modem-carrier-config-mapping" #define MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED "iface-modem-periodic-signal-check-disabled" #define MM_IFACE_MODEM_PERIODIC_ACCESS_TECH_CHECK_DISABLED "iface-modem-periodic-access-tech-check-disabled" |