From: kay.sievers@vrfy.org Date: Mon, 14 Mar 2005 03:18:20 +0000 (+0100) Subject: [PATCH] correct rule match for devices without a physical device X-Git-Tag: 055~8 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=ca4c984cf5a2ee3e8d61d16bb3391ed6ff5f4cc7 [PATCH] correct rule match for devices without a physical device --- diff --git a/udev_rules.c b/udev_rules.c index f09d6d47b..3dc77855d 100644 --- a/udev_rules.c +++ b/udev_rules.c @@ -564,7 +564,7 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule, if (rule->driver[0] != '\0') { if (sysfs_device == NULL) { dbg("device has no sysfs_device"); - goto try_parent; + goto exit; } dbg("check for " KEY_DRIVER " rule->driver='%s' sysfs_device->driver_name='%s'", 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 (sysfs_device == NULL) { dbg("device has no sysfs_device"); - goto try_parent; + goto exit; } dbg("check for " KEY_BUS " rule->bus='%s' sysfs_device->bus='%s'", 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 (sysfs_device == NULL) { dbg("device has no sysfs_device"); - goto try_parent; + goto exit; } dbg("check " KEY_ID); if (strcmp_pattern(rule->id, sysfs_device->bus_id) != 0) { @@ -648,8 +648,8 @@ try_parent: sysfs_device = sysfs_get_device_parent(sysfs_device); if (sysfs_device == NULL) goto exit; - dbg("sysfs_device->path='%s'", sysfs_device->path); - dbg("sysfs_device->bus_id='%s'", sysfs_device->bus_id); + dbg("look at sysfs_device->path='%s'", sysfs_device->path); + dbg("look at sysfs_device->bus_id='%s'", sysfs_device->bus_id); } /* execute external program */