summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--udev_rules.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/udev_rules.c b/udev_rules.c
index f1bbfd854c..8e9c1605bf 100644
--- a/udev_rules.c
+++ b/udev_rules.c
@@ -348,14 +348,14 @@ static int wait_for_sysfs(struct udevice *udev, const char *file, int timeout)
snprintf(filename, sizeof(filename), "%s%s/%s", sysfs_path, udev->dev->devpath, file);
filename[sizeof(filename)-1] = '\0';
- dbg("wait %i sec for '%s'", timeout, filename);
+ dbg("will wait %i sec for '%s'", timeout, filename);
while (--loop) {
if (stat(filename, &stats) == 0) {
info("file '%s' appeared after %i loops", filename, (timeout * WAIT_LOOP_PER_SECOND) - loop-1);
return 0;
}
- info("wait for %i mseconds", 1000 / WAIT_LOOP_PER_SECOND);
+ info("wait for '%s' for %i mseconds", filename, 1000 / WAIT_LOOP_PER_SECOND);
usleep(1000 * 1000 / WAIT_LOOP_PER_SECOND);
}
err("waiting for '%s' failed", filename);
@@ -782,6 +782,8 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule)
value = sysfs_attr_get_value(udev->dev_parent->devpath, key_name);
if (value == NULL)
+ value = sysfs_attr_get_value(udev->dev->devpath, key_name);
+ if (value == NULL)
goto try_parent;
strlcpy(val, value, sizeof(val));