From 25c208d659cf0f8bc887a1f7c62e9d2e0c546aec Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 12 Sep 2007 00:21:53 +0200 Subject: [PATCH] ignore device node names while restoring symlinks from the stack --- udev_node.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/udev_node.c b/udev_node.c index 25eed869..556a442a 100644 --- a/udev_node.c +++ b/udev_node.c @@ -230,11 +230,15 @@ static int update_link(struct udevice *udev, const char *name) if (udev_db == NULL) continue; if (udev_db_get_device(udev_db, device->name) == 0) { - info("compare priority of '%s' %i > %i", - udev_db->dev->devpath, udev_db->link_priority, priority); - if (target[0] == '\0' || udev_db->link_priority > priority) { - priority = udev_db->link_priority; - strlcpy(target, udev_db->name, sizeof(target)); + if (strcmp(udev_db->name, name) == 0) { + info("'%s' is a device node of '%s', skip link update", udev_db->name, device->name); + } else { + info("compare priority of '%s' %i > %i", + udev_db->dev->devpath, udev_db->link_priority, priority); + if (target[0] == '\0' || udev_db->link_priority > priority) { + priority = udev_db->link_priority; + strlcpy(target, udev_db->name, sizeof(target)); + } } } udev_device_cleanup(udev_db); @@ -242,8 +246,8 @@ static int update_link(struct udevice *udev, const char *name) name_list_cleanup(&name_list); if (target[0] == '\0') { - err("missing target for '%s'", name); - rc = -1; + info("no current target for '%s' found", name); + rc = 1; goto out; } -- 2.39.5