summaryrefslogtreecommitdiff
path: root/recipes-core/busybox/files/ifplugd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/busybox/files/ifplugd.patch')
-rw-r--r--recipes-core/busybox/files/ifplugd.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/recipes-core/busybox/files/ifplugd.patch b/recipes-core/busybox/files/ifplugd.patch
new file mode 100644
index 0000000..839a8a2
--- /dev/null
+++ b/recipes-core/busybox/files/ifplugd.patch
@@ -0,0 +1,20 @@
+#
+# This patch is found here:
+# http://lists.busybox.net/pipermail/busybox/2018-March/086328.html
+# Basically ifplugd will not stay up if the driver is loading.
+# This is particularly apparent with gadget.
+diff -arNu a/networking/ifplugd.c b/networking/ifplugd.c
+--- a/networking/ifplugd.c 2019-05-28 18:11:43.836982315 -0500
++++ b/networking/ifplugd.c 2019-05-28 18:13:13.088979672 -0500
+@@ -358,8 +358,10 @@
+ ifrequest.ifr_flags |= IFF_UP;
+ /* Let user know we mess up with interface */
+ bb_error_msg("upping interface");
+- if (network_ioctl(SIOCSIFFLAGS, &ifrequest, "setting interface flags") < 0)
++ if (network_ioctl(SIOCSIFFLAGS, &ifrequest, "setting interface flags") < 0) {
++ if (errno != ENODEV && errno != EADDRNOTAVAIL)
+ xfunc_die();
++ }
+ }
+
+ #if 0 /* why do we mess with IP addr? It's not our business */