diff options
Diffstat (limited to 'source/l/hal/patches/ignore_dupe_add_events.diff')
-rw-r--r-- | source/l/hal/patches/ignore_dupe_add_events.diff | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/source/l/hal/patches/ignore_dupe_add_events.diff b/source/l/hal/patches/ignore_dupe_add_events.diff deleted file mode 100644 index 0056d8f9..00000000 --- a/source/l/hal/patches/ignore_dupe_add_events.diff +++ /dev/null @@ -1,40 +0,0 @@ -Author: Danny Kukawka <danny.kukawka@web.de> -Date: Wed Mar 18 17:30:53 2009 +0100 - - ignore ADD events if there is already a device with same sysfs_path - - Ignore ADD events if there is already a device with the same - syfs_path available in the GDL or TDL. This should prevent - problems getting duplicated devices from calling 'udevadm trigger' - (fd.o#18861) or from some other rare cases (see: - http://lists.freedesktop.org/archives/hal/2009-February/012954.html). - - TODO: Check if it make sense to call a refresh for the already - existing device instead of ignoring the event completely. - -diff -Nur hal-0.5.11.orig/hald/linux/device.c hal-0.5.11/hald/linux/device.c ---- hal-0.5.11.orig/hald/linux/device.c 2008-05-07 18:23:42.000000000 -0500 -+++ hal-0.5.11/hald/linux/device.c 2009-07-16 16:21:36.619979288 -0500 -@@ -4423,11 +4423,22 @@ - handler = dev_handlers[i]; - if (strcmp (handler->subsystem, subsystem) == 0) { - HalDevice *d; -+ HalDevice *check; - - if (strcmp (subsystem, "scsi") == 0) - if (missing_scsi_host (sysfs_path, (HotplugEvent *)end_token, HOTPLUG_ACTION_ADD)) - goto out; - -+ /* check if there is already a device with this sysfs_path in the system */ -+ if ((check = hal_device_store_match_key_value_string (hald_get_gdl (), "linux.sysfs_path", sysfs_path)) != NULL || -+ (check = hal_device_store_match_key_value_string (hald_get_tdl (), "linux.sysfs_path", sysfs_path)) != NULL) { -+ HAL_WARNING(("Have already a device with sysfs_path='%s' and udi='%s'. Ignore new add event for now.", -+ sysfs_path, hal_device_get_udi(check))); -+ /* maybe we should do a refresh on the found device ??? */ -+ hotplug_event_end (end_token); -+ goto out; -+ } -+ - /* attempt to add the device */ - d = handler->add (sysfs_path, device_file, parent_dev, parent_path); - if (d == NULL) { |