From 1d936fbca0b93dd9cc7a71983ca1a8ea890f181d Mon Sep 17 00:00:00 2001 From: "greg@kroah.com" Date: Thu, 25 Dec 2003 00:05:28 -0800 Subject: [PATCH] [PATCH] If a CALLOUT rule has a BUS id, then we must check to see if the device is on a bus. Thanks to Martin Schlemmer for pointing this out. --- namedev.c | 5 ++++- test/udev-test.pl | 11 ++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/namedev.c b/namedev.c index e474b48e5..de1b20618 100644 --- a/namedev.c +++ b/namedev.c @@ -399,7 +399,10 @@ static int do_callout(struct sysfs_class_device *class_dev, struct udevice *udev if (dev->type != CALLOUT) continue; - if (sysfs_device) { + if (dev->bus[0] != '\0') { + /* as the user specified a bus, we must match it up */ + if (!sysfs_device) + continue; dbg("dev->bus='%s' sysfs_device->bus='%s'", dev->bus, sysfs_device->bus); if (strcasecmp(dev->bus, sysfs_device->bus) != 0) continue; diff --git a/test/udev-test.pl b/test/udev-test.pl index ea1d8611e..9538cba2d 100644 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -215,13 +215,22 @@ CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", ID="node *", NAME= EOF }, { - desc => "callout for device with no bus", + desc => "invalid callout for device with no bus", subsys => "tty", devpath => "class/tty/console", expected => "TTY" , conf => < "valid callout for device with no bus", + subsys => "tty", + devpath => "class/tty/console", + expected => "foo" , + conf => <