mdev: clear LOGMODE_STDIO only directly before daemonizing

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index 2cf98b1..9a8c144 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -1279,21 +1279,17 @@
 
 #if ENABLE_FEATURE_MDEV_DAEMON
 	if (opt & MDEV_OPT_DAEMON) {
-		int fd;
-
-		/* there is no point in write()ing to /dev/null */
-		if (!(opt & MDEV_OPT_FOREGROUND))
-			logmode &= ~LOGMODE_STDIO;
-
-		/*
-		 * Daemon mode listening on uevent netlink socket. Fork away
+		/* Daemon mode listening on uevent netlink socket. Fork away
 		 * after initial scan so that caller can be sure everything
 		 * is up-to-date when mdev process returns.
 		 */
-		fd = daemon_init(temp);
+		int fd = daemon_init(temp);
 
-		if (!(opt & MDEV_OPT_FOREGROUND))
+		if (!(opt & MDEV_OPT_FOREGROUND)) {
+			/* there is no point in logging to /dev/null */
+			logmode &= ~LOGMODE_STDIO;
 			bb_daemonize_or_rexec(0, argv);
+		}
 
 		daemon_loop(temp, fd);
 	}