1 diff -Naur udev-096.org/udev_device.c udev-096/udev_device.c
2 --- udev-096.org/udev_device.c 2006-07-09 21:48:19.000000000 +0200
3 +++ udev-096/udev_device.c 2009-04-28 22:04:56.000000000 +0200
5 strlcpy(ifr.ifr_newname, udev->name, IFNAMSIZ);
6 retval = ioctl(sk, SIOCSIFNAME, &ifr);
10 - /* see if the destination interface name already exists */
11 - if (errno != EEXIST) {
12 - err("error changing netif name: %s", strerror(errno));
16 - /* free our own name, another process may wait for us */
17 - strlcpy(ifr.ifr_newname, udev->dev->kernel_name, IFNAMSIZ);
18 - strlcat(ifr.ifr_newname, "_rename", IFNAMSIZ);
19 - retval = ioctl(sk, SIOCSIFNAME, &ifr);
21 - err("error changing netif name: %s", strerror(errno));
25 - /* wait 30 seconds for our target to become available */
26 - strlcpy(ifr.ifr_name, ifr.ifr_newname, IFNAMSIZ);
27 - strlcpy(ifr.ifr_newname, udev->name, IFNAMSIZ);
30 - retval = ioctl(sk, SIOCSIFNAME, &ifr);
32 - if (errno != EEXIST) {
33 - err("error changing net interface name: %s", strerror(errno));
36 - dbg("wait for netif '%s' to become free, loop=%i", udev->name, (30 * 20) - loop);
37 - usleep(1000 * 1000 / 20);
40 + err("error changing netif name: %s", strerror(errno));