hal: Branch 'master'

Danny Kukawka dkukawka at kemper.freedesktop.org
Mon Aug 11 07:14:36 PDT 2008


 hald/linux/device.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 170883b55a72751bed3565782bdb02fbb2eb1ab6
Author: Danny Kukawka <danny.kukawka at web.de>
Date:   Mon Aug 11 16:12:45 2008 +0200

    fixed device removage
    
    Fixed device removage. Remove childs maually only if they have no
    sysfs_path which means they are spawned normaly.

diff --git a/hald/linux/device.c b/hald/linux/device.c
index 72bff9c..ea9015a 100644
--- a/hald/linux/device.c
+++ b/hald/linux/device.c
@@ -4511,8 +4511,11 @@ hotplug_event_begin_remove_dev (const gchar *subsystem, const gchar *sysfs_path,
 
 				for (tmp = children; tmp != NULL; tmp = g_slist_next (tmp)) {
 			                child = HAL_DEVICE (tmp->data);
-					HAL_INFO(("Remove now: %s as child of: %s", hal_device_get_udi(child), hal_device_get_udi(d)));
-					hal_util_callout_device_remove (child, dev_callouts_remove_child_done, NULL, NULL);
+					/* find childs without sysfs path as e.g. spawned devices*/
+					if (hal_device_property_get_string(child, "linux.sysfs_path") == NULL) {
+						HAL_INFO(("Remove now: %s as child of: %s", hal_device_get_udi(child), hal_device_get_udi(d)));
+						hal_util_callout_device_remove (child, dev_callouts_remove_child_done, NULL, NULL);
+					}
                 		}
 				g_slist_free (children);
 


More information about the hal-commit mailing list