[PATCH] correct rule match for devices without a physical device

This commit is contained in:
kay.sievers@vrfy.org 2005-03-14 04:18:20 +01:00 committed by Greg KH
parent d6d1a18d72
commit ca4c984cf5

View File

@ -564,7 +564,7 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule,
if (rule->driver[0] != '\0') { if (rule->driver[0] != '\0') {
if (sysfs_device == NULL) { if (sysfs_device == NULL) {
dbg("device has no sysfs_device"); dbg("device has no sysfs_device");
goto try_parent; goto exit;
} }
dbg("check for " KEY_DRIVER " rule->driver='%s' sysfs_device->driver_name='%s'", dbg("check for " KEY_DRIVER " rule->driver='%s' sysfs_device->driver_name='%s'",
rule->driver, sysfs_device->driver_name); rule->driver, sysfs_device->driver_name);
@ -584,7 +584,7 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule,
if (rule->bus[0] != '\0') { if (rule->bus[0] != '\0') {
if (sysfs_device == NULL) { if (sysfs_device == NULL) {
dbg("device has no sysfs_device"); dbg("device has no sysfs_device");
goto try_parent; goto exit;
} }
dbg("check for " KEY_BUS " rule->bus='%s' sysfs_device->bus='%s'", dbg("check for " KEY_BUS " rule->bus='%s' sysfs_device->bus='%s'",
rule->bus, sysfs_device->bus); rule->bus, sysfs_device->bus);
@ -604,7 +604,7 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule,
if (rule->id[0] != '\0') { if (rule->id[0] != '\0') {
if (sysfs_device == NULL) { if (sysfs_device == NULL) {
dbg("device has no sysfs_device"); dbg("device has no sysfs_device");
goto try_parent; goto exit;
} }
dbg("check " KEY_ID); dbg("check " KEY_ID);
if (strcmp_pattern(rule->id, sysfs_device->bus_id) != 0) { if (strcmp_pattern(rule->id, sysfs_device->bus_id) != 0) {
@ -648,8 +648,8 @@ try_parent:
sysfs_device = sysfs_get_device_parent(sysfs_device); sysfs_device = sysfs_get_device_parent(sysfs_device);
if (sysfs_device == NULL) if (sysfs_device == NULL)
goto exit; goto exit;
dbg("sysfs_device->path='%s'", sysfs_device->path); dbg("look at sysfs_device->path='%s'", sysfs_device->path);
dbg("sysfs_device->bus_id='%s'", sysfs_device->bus_id); dbg("look at sysfs_device->bus_id='%s'", sysfs_device->bus_id);
} }
/* execute external program */ /* execute external program */