Applied, thanks!
On Thu, Mar 29, 2018 at 2:12 PM, Stefan Agner <ste...@agner.ch> wrote: > When using ifplugd on a RNDIS interface with monitor mode, using > SIOCSIFFLAGS seems to fail with EADDRNOTAVAIL. Treat it the same > as if iface disappeared again. > > Signed-off-by: Stefan Agner <ste...@agner.ch> > --- > This has been observed on a Tegra TK1 using Linux 4.14. There seem > to be a race when the kernel is creating the device: > ifplugd(usb0): started: BusyBox v1.24.1 (2018-03-27 09:47:48 CEST) > ifplugd(usb0): interface doesn't exist, waiting > ifplugd(usb0): interface appeared > ifplugd(usb0): upping interface > ifplugd(usb0): setting interface flags failed: Cannot assign requested > address > <exit> > > With this patch ifplugd is successful in upping the device the second > time around: > > ifplugd(usb0): upping interface > ifplugd(usb0): using SIOCETHTOOL detection mode > ifplugd(usb0): interface appeared > ifplugd(usb0): upping interface > ifplugd(usb0): setting interface flags failed: Cannot assign requested > address > ifplugd(usb0): interface appeared > ifplugd(usb0): upping interface > ifplugd(usb0): using SIOCETHTOOL detection mode > ifplugd(usb0): link is up > ifplugd(usb0): executing '/etc/ifplugd/ifplugd.usb.action usb0 up' > ifplugd up > ifplugd(usb0): exit code: 0 > > (BusyBox v1.24.1 with commit b11be131b7 ("ifplugd: if SIOCSIFFLAGS > fails with ENODEV, don't die") applied. > > -- > Stefan > > networking/ifplugd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/networking/ifplugd.c b/networking/ifplugd.c > index 9bc1a075f..5059eaf73 100644 > --- a/networking/ifplugd.c > +++ b/networking/ifplugd.c > @@ -367,7 +367,7 @@ static void up_iface(void) > /* Let user know we mess up with interface */ > bb_error_msg("upping interface"); > if (network_ioctl(SIOCSIFFLAGS, &ifrequest, "setting > interface flags") < 0) { > - if (errno != ENODEV) > + if (errno != ENODEV && errno != EADDRNOTAVAIL) > xfunc_die(); > G.iface_exists = 0; > return; > -- > 2.16.2 > > _______________________________________________ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox