From 8a0c11d360a5c07f200cb421c5a4291dd00d5a09 Mon Sep 17 00:00:00 2001 From: "greg@kroah.com" Date: Wed, 12 Nov 2003 17:56:26 -0800 Subject: [PATCH] [PATCH] fix bug where NUMBER and TOPOLOGY would not work for partitions. --- namedev.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/namedev.c b/namedev.c index 2176e8ba..140d5007 100644 --- a/namedev.c +++ b/namedev.c @@ -608,6 +608,7 @@ static int get_attr(struct sysfs_class_device *class_dev, struct udevice *udev) udev->mode = 0; /* find the sysfs_device for this class device */ + /* Wouldn't it really be nice if libsysfs could do this for us? */ if (class_dev->sysdevice) { sysfs_device = class_dev->sysdevice; } else { @@ -691,12 +692,11 @@ label_found: case NUMBER: { char path[SYSFS_PATH_MAX]; - char *temp; found = 0; - if (!class_dev->sysdevice) + if (!sysfs_device) continue; - strcpy(path, class_dev->sysdevice->path); + strcpy(path, sysfs_device->path); temp = strrchr(path, '/'); dbg_parse("NUMBER path = '%s'", path); dbg_parse("NUMBER temp = '%s' id = '%s'", temp, dev->id); @@ -727,12 +727,11 @@ label_found: case TOPOLOGY: { char path[SYSFS_PATH_MAX]; - char *temp; - if (!class_dev->sysdevice) + if (!sysfs_device) continue; found = 0; - strcpy(path, class_dev->sysdevice->path); + strcpy(path, sysfs_device->path); temp = strrchr(path, '/'); dbg_parse("TOPOLOGY path = '%s'", path); dbg_parse("TOPOLOGY temp = '%s' place = '%s'", temp, dev->place); -- 2.39.5