chiark / gitweb /
[PATCH] don't call the hotplug scripts with a test run
[elogind.git] / udev_sysfs.c
index a25223ef461248242e394a7dc1b57fcdc366c36e..6655968433cfb47a63d6373b3650b5c8e7a95279 100644 (file)
@@ -31,7 +31,7 @@
 #include "libsysfs/sysfs/libsysfs.h"
 #include "udev_version.h"
 #include "udev_sysfs.h"
-#include "udev_lib.h"
+#include "udev_utils.h"
 #include "logging.h"
 
 /* list of subsystem specific files, NULL if there is no file to wait for */
@@ -278,7 +278,7 @@ int wait_for_devices_device(struct sysfs_device *devices_dev,
                { .bus = "ieee1394",    .file = "node_count" },
                { .bus = "ieee1394",    .file = "nodeid" },
                { .bus = "ieee1394",    .file = "address" },
-               { .bus = "bttv-sub",    .file = "detach_state" },
+               { .bus = "bttv-sub",    .file = NULL },
                { .bus = "pnp",         .file = "detach_state" },
                { .bus = "eisa",        .file = "detach_state" },
                { .bus = "pseudo",      .file = "detach_state" },
@@ -338,6 +338,11 @@ int wait_for_devices_device(struct sysfs_device *devices_dev,
                                char filename[SYSFS_PATH_MAX];
                                struct stat stats;
 
+                               if (devicefile->file == NULL) {
+                                       dbg("bus '%s' has no file to wait for", devices_dev->bus);
+                                       return 0;
+                               }
+
                                found_bus_type = 1;
                                snprintf(filename, SYSFS_PATH_MAX-1, "%s/%s", devices_dev->path, devicefile->file);
                                dbg("looking at bus '%s' device for specific file '%s'", devices_dev->bus, filename);