diff options
author | kay.sievers@vrfy.org <kay.sievers@vrfy.org> | 2004-04-01 00:59:58 -0800 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:35:13 -0700 |
commit | 9b28a52a0ac9b7993c932bbfe9d86dfc814be218 (patch) | |
tree | 804f4ed19ff4849415b074771c42e5fec7142b14 /udev-add.c | |
parent | bbbe503ec1a5623a5a8abd003f46fdd8c3581054 (diff) |
[PATCH] DEVPATH for netdev
Here we change the DEVPATH for netdev's in the environment of the dev.d/
scripts to the name the device is renamed to. The original name doesn't
exist in the kernel after rename.
Diffstat (limited to 'udev-add.c')
-rw-r--r-- | udev-add.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/udev-add.c b/udev-add.c index 1f17f50bc3..09c2ac6d3e 100644 --- a/udev-add.c +++ b/udev-add.c @@ -403,7 +403,7 @@ int udev_add_device(char *path, char *subsystem, int fake) { struct sysfs_class_device *class_dev; struct udevice dev; - char key[DEVPATH_SIZE]; + char devpath[DEVPATH_SIZE]; char *pos; int retval; @@ -452,10 +452,11 @@ int udev_add_device(char *path, char *subsystem, int fake) dbg("udevdb_add_dev failed, but we are going to try " "to create the node anyway. But remove might not " "work properly for this device."); + + dev_d_send(&dev, subsystem, path); break; case 'n': - strfieldcpy(key, path); if (strcmp(dev.name, dev.kernel_name) != 0) { retval = rename_net_if(&dev, fake); if (fake || retval != 0) @@ -463,20 +464,20 @@ int udev_add_device(char *path, char *subsystem, int fake) /* netif's are keyed with the configured name, cause * the original kernel name sleeps with the fishes */ - pos = strrchr(key, '/'); + strfieldcpy(devpath, path); + pos = strrchr(devpath, '/'); if (pos != NULL) { pos[1] = '\0'; - strfieldcat(key, dev.name); + strfieldcat(devpath, dev.name); } } - if (udevdb_add_dev(key, &dev) != 0) + if (udevdb_add_dev(devpath, &dev) != 0) dbg("udevdb_add_dev failed"); + + dev_d_send(&dev, subsystem, devpath); break; } - /* execute programs in dev.d/ with the name in the environment */ - dev_d_send(&dev, subsystem); - exit: sysfs_close_class_device(class_dev); |