--- hald/linux/osspec.c 2005-01-23 22:57:01.000000000 +0100 +++ hald/linux/osspec.c 2005-03-14 17:35:19.000000000 +0100 @@ -1010,6 +1010,11 @@ add_device (const char *given_sysfs_path strncpy (sysfs_path, given_sysfs_path, SYSFS_PATH_MAX); + if (hal_device_store_match_key_value_string (hald_get_gdl (), "linux.sysfs_path", sysfs_path)) { + HAL_WARNING (("devpath %s already present in the store, don't add device", sysfs_path)); + return NULL; + } + len1 = snprintf (buf1, SYSFS_PATH_MAX, "%s/block", sysfs_mount_path); len2 = snprintf (buf2, SYSFS_PATH_MAX, "%s/class", sysfs_mount_path); if (strncmp (sysfs_path, buf1, len1) == 0 || strncmp (sysfs_path, buf2, len2) == 0) {