[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.
This commit is contained in:
greg@kroah.com 2003-12-25 00:05:28 -08:00 committed by Greg KH
parent 47b3f983da
commit 1d936fbca0
2 changed files with 14 additions and 2 deletions

View File

@ -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;

View File

@ -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 => <<EOF
CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n foo", ID="foo", NAME="foo"
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
},
{