diff options
Diffstat (limited to 'src/mm-base-modem.c')
-rw-r--r-- | src/mm-base-modem.c | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index 3a56566c..298a6413 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -323,88 +323,6 @@ mm_base_modem_grab_port (MMBaseModem *self, return TRUE; } -void -mm_base_modem_release_port (MMBaseModem *self, - const gchar *subsys, - const gchar *name) -{ - gchar *key; - MMPort *port; - GList *l; - - g_return_if_fail (MM_IS_BASE_MODEM (self)); - g_return_if_fail (name != NULL); - g_return_if_fail (subsys != NULL); - - if (!g_str_equal (subsys, "tty") && - !g_str_equal (subsys, "net") && - !(g_str_has_prefix (subsys, "usb") && g_str_has_prefix (name, "cdc-wdm")) && - !g_str_equal (subsys, "virtual")) - return; - - key = get_hash_key (subsys, name); - - /* Find the port */ - port = g_hash_table_lookup (self->priv->ports, key); - if (!port) { - mm_warn ("(%s/%s): cannot release port, not found", - subsys, name); - g_free (key); - return; - } - - if (port == (MMPort *)self->priv->primary) { - /* Cancel modem-wide cancellable; no further actions can be done - * without a primary port. */ - g_cancellable_cancel (self->priv->cancellable); - - g_clear_object (&self->priv->primary); - } - - l = g_list_find (self->priv->data, port); - if (l) { - g_object_unref (l->data); - self->priv->data = g_list_delete_link (self->priv->data, l); - } - - if (port == (MMPort *)self->priv->secondary) - g_clear_object (&self->priv->secondary); - - if (port == (MMPort *)self->priv->qcdm) - g_clear_object (&self->priv->qcdm); - - if (port == (MMPort *)self->priv->gps_control) - g_clear_object (&self->priv->gps_control); - - if (port == (MMPort *)self->priv->gps) - g_clear_object (&self->priv->gps); - -#if defined WITH_QMI - l = g_list_find (self->priv->qmi, port); - if (l) { - g_object_unref (l->data); - self->priv->qmi = g_list_delete_link (self->priv->qmi, l); - } -#endif - -#if defined WITH_MBIM - l = g_list_find (self->priv->mbim, port); - if (l) { - g_object_unref (l->data); - self->priv->mbim = g_list_delete_link (self->priv->mbim, l); - } -#endif - - /* Remove it from the tracking HT */ - mm_dbg ("(%s/%s) type %s released from %s", - subsys, - name, - mm_port_type_get_string (mm_port_get_port_type (port)), - mm_port_get_device (port)); - g_hash_table_remove (self->priv->ports, key); - g_free (key); -} - gboolean mm_base_modem_disable_finish (MMBaseModem *self, GAsyncResult *res, |