chiark / gitweb /
prevent wrong symlink creation if database disagress with current rules
authorKay Sievers <kay.sievers@vrfy.org>
Thu, 20 Sep 2007 17:38:58 +0000 (19:38 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Thu, 20 Sep 2007 17:38:58 +0000 (19:38 +0200)
udev_node.c

index 556a442..c620e4a 100644 (file)
@@ -218,14 +218,16 @@ static int update_link(struct udevice *udev, const char *name)
                if (strcmp(udev->dev->devpath, device->name) == 0) {
                        info("compare (our own) priority of '%s' %i >= %i",
                             udev->dev->devpath, udev->link_priority, priority);
-                       if (target[0] == '\0' || udev->link_priority >= priority) {
+                       if (strcmp(udev->name, name) == 0) {
+                               info("'%s' is our device node, database inconsistent, skip link update", udev->name);
+                       } else if (target[0] == '\0' || udev->link_priority >= priority) {
                                priority = udev->link_priority;
                                strlcpy(target, udev->name, sizeof(target));
                        }
                        continue;
                }
 
-               /* or something else, then read priority from database */
+               /* another device, read priority from database */
                udev_db = udev_device_init(NULL);
                if (udev_db == NULL)
                        continue;