chiark / gitweb /
Fix udevinfo for empty sysfs directories
authorGreg KH <gregkh@suse.de>
Mon, 6 Jun 2005 20:46:19 +0000 (13:46 -0700)
committerGreg KH <greg@press.(none)>
Mon, 6 Jun 2005 20:46:19 +0000 (13:46 -0700)
udevinfo would die if it ran into a sysfs directory with no attributes.
This is valid for a lot of scsi devices, so now we just continue on
up the chain.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
udevinfo.c

index 31e719fe35f32c8810cc962524089f98c92935de..69e5335b7cef9d26d099c72c8bf45adadac0c483 100644 (file)
@@ -152,19 +152,16 @@ static int print_device_chain(const char *path)
 
        /* look the device chain upwards */
        while (sysfs_dev != NULL) {
-               attr_list = sysfs_get_device_attributes(sysfs_dev);
-               if (attr_list == NULL) {
-                       fprintf(stderr, "couldn't open device directory\n");
-                       retval = -1;
-                       goto exit;
-               }
-
                printf("  looking at the device chain at '%s':\n", sysfs_dev->path);
                printf("    BUS==\"%s\"\n", sysfs_dev->bus);
                printf("    ID==\"%s\"\n", sysfs_dev->bus_id);
                printf("    DRIVER==\"%s\"\n", sysfs_dev->driver_name);
 
-               print_all_attributes(attr_list);
+               attr_list = sysfs_get_device_attributes(sysfs_dev);
+               if (attr_list != NULL)
+                       print_all_attributes(attr_list);
+               else
+                       printf("\n");
 
                sysfs_dev = sysfs_get_device_parent(sysfs_dev);
                if (sysfs_dev == NULL)