From c9dc1d928d009df6018d3956c309660a44ae94b7 Mon Sep 17 00:00:00 2001 From: Sebastien Lorquet Date: Fri, 19 May 2017 10:04:57 -0600 Subject: [PATCH] network IOCTL commands: The only place in net/netdev/netdev_ioctl.c where the interface state should change is for SIOCSIFFLAGS. the other ones .. SIOCSIFADDR, SIOSLIFADDR, SIODIFADDR .. should not change the link state. --- net/netdev/netdev_ioctl.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/net/netdev/netdev_ioctl.c b/net/netdev/netdev_ioctl.c index dae8064645..3978819d21 100644 --- a/net/netdev/netdev_ioctl.c +++ b/net/netdev/netdev_ioctl.c @@ -506,9 +506,7 @@ static int netdev_ifr_ioctl(FAR struct socket *psock, int cmd, dev = netdev_ifr_dev(req); if (dev) { - netdev_ifdown(dev); ioctl_set_ipv4addr(&dev->d_ipaddr, &req->ifr_addr); - netdev_ifup(dev); ret = OK; } } @@ -599,9 +597,7 @@ static int netdev_ifr_ioctl(FAR struct socket *psock, int cmd, { FAR struct lifreq *lreq = (FAR struct lifreq *)req; - netdev_ifdown(dev); ioctl_set_ipv6addr(dev->d_ipv6addr, &lreq->lifr_addr); - netdev_ifup(dev); ret = OK; } } @@ -830,7 +826,6 @@ static int netdev_ifr_ioctl(FAR struct socket *psock, int cmd, dev = netdev_ifr_dev(req); if (dev) { - netdev_ifdown(dev); #ifdef CONFIG_NET_IPv4 dev->d_ipaddr = 0; #endif