From: Greg KH Date: Mon, 6 Jun 2005 20:46:19 +0000 (-0700) Subject: Fix udevinfo for empty sysfs directories X-Git-Tag: 059~15 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=e2bd03ff63789e0ffcc1955f15d9927f3ce87465 Fix udevinfo for empty sysfs directories 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 --- diff --git a/udevinfo.c b/udevinfo.c index 31e719fe3..69e5335b7 100644 --- a/udevinfo.c +++ b/udevinfo.c @@ -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)