diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-01-02 11:48:20 +0100 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2020-01-06 20:46:06 +0000 |
commit | 941879b43af4848b444fd299ec18fb4d92729642 (patch) | |
tree | 2f31e97dc00a4336726c5ca7cd0846ffa2e2d8b3 /src/mm-base-manager.c | |
parent | debec6f650e395eaa722da62ce89dab2d754a059 (diff) |
device: keep reference to object manager server
Instead of having the reference to the object manager server only
while the modem is exported, just keep a reference for as long as the
device object exists. This will make it easier to handle reprobing
logic.
Diffstat (limited to 'src/mm-base-manager.c')
-rw-r--r-- | src/mm-base-manager.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mm-base-manager.c b/src/mm-base-manager.c index 55382e30..d5899466 100644 --- a/src/mm-base-manager.c +++ b/src/mm-base-manager.c @@ -192,7 +192,7 @@ device_support_check_ready (MMPluginManager *plugin_manager, mm_device_set_plugin (ctx->device, G_OBJECT (plugin)); g_object_unref (plugin); - if (!mm_device_create_modem (ctx->device, ctx->self->priv->object_manager, &error)) { + if (!mm_device_create_modem (ctx->device, &error)) { mm_warn ("Couldn't create modem for device '%s': %s", mm_device_get_uid (ctx->device), error->message); g_error_free (error); @@ -368,7 +368,7 @@ device_added (MMBaseManager *manager, subsys, name, physdev_uid); /* Keep the device listed in the Manager */ - device = mm_device_new (physdev_uid, hotplugged, FALSE); + device = mm_device_new (physdev_uid, hotplugged, FALSE, manager->priv->object_manager); g_hash_table_insert (manager->priv->devices, g_strdup (physdev_uid), device); @@ -1084,7 +1084,7 @@ remove_device_inhibition (MMBaseManager *self, GError *error = NULL; /* Uninhibit device, which will create and expose the modem object */ - if (!mm_device_uninhibit (device, self->priv->object_manager, &error)) { + if (!mm_device_uninhibit (device, &error)) { mm_warn ("Couldn't uninhibit device: %s", error->message); g_error_free (error); } @@ -1271,7 +1271,7 @@ handle_set_profile (MmGdbusTest *skeleton, /* Create device and keep it listed in the Manager */ physdev_uid = g_strdup_printf ("/virtual/%s", id); - device = mm_device_new (physdev_uid, TRUE, TRUE); + device = mm_device_new (physdev_uid, TRUE, TRUE, self->priv->object_manager); g_hash_table_insert (self->priv->devices, physdev_uid, device); /* Grab virtual ports */ @@ -1292,7 +1292,7 @@ handle_set_profile (MmGdbusTest *skeleton, mm_device_set_plugin (device, G_OBJECT (plugin)); /* Create modem */ - if (!mm_device_create_modem (device, self->priv->object_manager, &error)) { + if (!mm_device_create_modem (device, &error)) { mm_warn ("Couldn't create modem for virtual device '%s': %s", mm_device_get_uid (device), error->message); |