From 3b1d3063ba9aacb6ecbb927de3f20bd938c45f55 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Thu, 12 Jul 2012 15:35:55 +0200 Subject: manager: remove the MMDevice object when the last port of the device is released --- src/mm-manager.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/mm-manager.c b/src/mm-manager.c index 9c05239d..5dc8bc87 100644 --- a/src/mm-manager.c +++ b/src/mm-manager.c @@ -333,6 +333,13 @@ device_removed (MMManager *self, g_udev_device_get_name (udev_device), g_udev_device_get_sysfs_path (mm_device_peek_udev_device (device))); mm_device_release_port (device, udev_device); + + /* If port probe list gets empty, remove the device object iself */ + if (!mm_device_peek_port_probe_list (device)) { + mm_dbg ("Removing empty device '%s'", mm_device_get_path (device)); + mm_device_remove_modem (device); + g_hash_table_remove (self->priv->devices, mm_device_get_path (device)); + } } return; -- cgit v1.2.3-70-g09d2