X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Fudev-event.c;h=e34f09cfe3dc156d7f815d9eb319b60e2678626f;hp=6d055943371ac241ca2b59af2ddf8ad2e4801080;hb=b822542608326092e177fd1707ca7fb53b2846c4;hpb=ec2dd02e2a2748134f9c8347e12b802b42dea6b5 diff --git a/udev/udev-event.c b/udev/udev-event.c index 6d0559433..e34f09cfe 100644 --- a/udev/udev-event.c +++ b/udev/udev-event.c @@ -505,10 +505,10 @@ static int rename_netif(struct udev_event *event) goto exit; } - /* wait 30 seconds for our target to become available */ + /* wait 90 seconds for our target to become available */ util_strlcpy(ifr.ifr_name, ifr.ifr_newname, IFNAMSIZ); util_strlcpy(ifr.ifr_newname, event->name, IFNAMSIZ); - loop = 30 * 20; + loop = 90 * 20; while (loop--) { err = ioctl(sk, SIOCSIFNAME, &ifr); if (err == 0) { @@ -522,7 +522,7 @@ static int rename_netif(struct udev_event *event) break; } dbg(event->udev, "wait for netif '%s' to become free, loop=%i\n", - event->name, (30 * 20) - loop); + event->name, (90 * 20) - loop); usleep(1000 * 1000 / 20); } } @@ -582,22 +582,24 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules) util_strlcat(filename, event->name, sizeof(filename)); udev_device_set_devnode(dev, filename); - /* read current database entry */ + /* read old database entry */ dev_old = udev_device_new_from_syspath(event->udev, udev_device_get_syspath(dev)); if (dev_old != NULL) { udev_device_read_db(dev_old); udev_device_set_info_loaded(dev_old); } - /* update database, create node and symlinks */ + /* write current database entry */ udev_device_update_db(dev); - err = udev_node_add(dev, event->mode, event->uid, event->gid); /* remove/update possible left-over symlinks from old database entry */ if (dev_old != NULL) { udev_node_update_old_links(dev, dev_old); udev_device_unref(dev_old); } + + /* create new node and symlinks */ + err = udev_node_add(dev, event->mode, event->uid, event->gid); goto exit; }