diff options
author | greg@kroah.com <greg@kroah.com> | 2003-12-25 00:05:28 -0800 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:13:11 -0700 |
commit | 1d936fbca0b93dd9cc7a71983ca1a8ea890f181d (patch) | |
tree | c027151257ba747c394592836f8c138840a16e4c | |
parent | 47b3f983da53fe7a990c9e2eadd73d5eb261bbfd (diff) |
[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 <azarah@nosferatu.za.org> for pointing this out.
-rw-r--r-- | namedev.c | 5 | ||||
-rw-r--r-- | test/udev-test.pl | 11 |
2 files changed, 14 insertions, 2 deletions
@@ -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 ea1d8611ef..9538cba2d1 100644 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -215,7 +215,7 @@ 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" , @@ -225,6 +225,15 @@ REPLACE, KERNEL="console", NAME="TTY" EOF }, { + desc => "valid callout for device with no bus", + subsys => "tty", + devpath => "class/tty/console", + expected => "foo" , + conf => <<EOF +CALLOUT, PROGRAM="/bin/echo -n foo", ID="foo", NAME="foo" +EOF + }, + { desc => "devfs disk naming substitution", subsys => "block", devpath => "block/sda", |