diff options
Diffstat (limited to 'udev_sysfs.c')
-rw-r--r-- | udev_sysfs.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/udev_sysfs.c b/udev_sysfs.c index a25223ef46..7293407be1 100644 --- a/udev_sysfs.c +++ b/udev_sysfs.c @@ -267,6 +267,7 @@ int wait_for_devices_device(struct sysfs_device *devices_dev, const char *file; } device_files[] = { { .bus = "scsi", .file = "vendor" }, + { .bus = "usb", .file = NULL }, { .bus = "usb", .file = "idVendor" }, { .bus = "usb", .file = "iInterface" }, { .bus = "usb", .file = "bNumEndpoints" }, @@ -278,7 +279,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 +339,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); |