From: Simon Edlund <[email protected]> When mdev -s traverses the /sys directory looking for "dev" files, it starts with the block devices under /sys/block, and will find the "dev" file through the symlink, and create a block device node. In the next stage it will scan the /sys/class looking for char devices, and will find mtdX/dev again, but this time the mknod will fail because there is already a device node with that name.
[gregory: added commit message to patch from BZ #6806] Signed-off-by: Gregory Fong <[email protected]> --- util-linux/mdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/util-linux/mdev.c b/util-linux/mdev.c index ca4b915..4495b0a 100644 --- a/util-linux/mdev.c +++ b/util-linux/mdev.c @@ -1063,6 +1063,9 @@ int mdev_main(int argc UNUSED_PARAM, char **argv) putenv((char*)"ACTION=add"); + recursive_action("/sys/class", + ACTION_RECURSE | ACTION_FOLLOWLINKS, + fileAction, dirAction, temp, 0); /* ACTION_FOLLOWLINKS is needed since in newer kernels * /sys/block/loop* (for example) are symlinks to dirs, * not real directories. @@ -1079,9 +1082,6 @@ int mdev_main(int argc UNUSED_PARAM, char **argv) ACTION_RECURSE | ACTION_FOLLOWLINKS | ACTION_QUIET, fileAction, dirAction, temp, 0); } - recursive_action("/sys/class", - ACTION_RECURSE | ACTION_FOLLOWLINKS, - fileAction, dirAction, temp, 0); } else { char *fw; char *seq; -- 1.9.1 _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
