X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev_node.c;h=c620e4aa0b13f95b676cb95401e9216235aff291;hp=556a442a333709a08593a4f4c2ded038942a8e5c;hb=e9b647708440d4bff4c250292b72b0c59087e3df;hpb=25c208d659cf0f8bc887a1f7c62e9d2e0c546aec diff --git a/udev_node.c b/udev_node.c index 556a442a3..c620e4aa0 100644 --- a/udev_node.c +++ b/udev_node.c @@ -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;