aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-03-11 11:20:48 +0100
committerAleksander Morgado <aleksander@aleksander.es>2021-03-11 11:38:29 +0100
commitfdfcd30308faf9d008ab68da29d7b35bbecf01a3 (patch)
tree5b39d13a35693015bebc7ea3821efbd20afa5ad9 /src
parenta772b70632008d6c375487a8e711b80bb343a931 (diff)
bearer-qmi: avoid increasing self reference during dispose()
The reset_bearer_connection() method is called during dispose, and if a link had been created during the connection attempt, we would be increasing the reference to the bearer object during dispose(), which should never happen. Just avoid passing any callback to the cleanup_link() method, as we really were using that only for logging purposes.
Diffstat (limited to 'src')
-rw-r--r--src/mm-bearer-qmi.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/mm-bearer-qmi.c b/src/mm-bearer-qmi.c
index 39f0e48a..5a348b26 100644
--- a/src/mm-bearer-qmi.c
+++ b/src/mm-bearer-qmi.c
@@ -2217,18 +2217,6 @@ disconnect_finish (MMBaseBearer *self,
}
static void
-cleanup_link_ready (MMPortQmi *qmi,
- GAsyncResult *res,
- MMBearerQmi *self) /* full reference */
-{
- g_autoptr(GError) error = NULL;
-
- if (!mm_port_qmi_cleanup_link_finish (qmi, res, &error))
- mm_obj_warn (self, "couldn't cleanup link: %s", error->message);
- g_object_unref (self);
-}
-
-static void
reset_bearer_connection (MMBearerQmi *self,
gboolean reset_ipv4,
gboolean reset_ipv6)
@@ -2278,8 +2266,8 @@ reset_bearer_connection (MMBearerQmi *self,
mm_port_qmi_cleanup_link (self->priv->qmi,
mm_port_get_device (self->priv->link),
self->priv->mux_id,
- (GAsyncReadyCallback) cleanup_link_ready,
- g_object_ref (self));
+ NULL,
+ NULL);
g_clear_object (&self->priv->link);
}
self->priv->mux_id = QMI_DEVICE_MUX_ID_UNBOUND;