Message ID | 4AEA8F0F.4030100@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Fri, 30 Oct 2009 08:00:31 +0100 > In commit 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b > (net: add a list_head parameter to dellink() method), > I forgot to actually use this parameter in veth_dellink. > > I remember feeling a bit uncomfortable about veth_close(), > because it does : > > netif_carrier_off(dev); > netif_carrier_off(priv->peer); > > > Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Applied, thanks Eric. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Eric Dumazet <eric.dumazet@gmail.com> writes: > In commit 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b > (net: add a list_head parameter to dellink() method), > I forgot to actually use this parameter in veth_dellink. > > I remember feeling a bit uncomfortable about veth_close(), > because it does : > > netif_carrier_off(dev); > netif_carrier_off(priv->peer); > > > Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> > --- > > diff --git a/drivers/net/veth.c b/drivers/net/veth.c > index ffb502d..9bed694 100644 > --- a/drivers/net/veth.c > +++ b/drivers/net/veth.c > @@ -450,8 +450,8 @@ static void veth_dellink(struct net_device *dev, struct list_head *head) > priv = netdev_priv(dev); > peer = priv->peer; > > - unregister_netdevice(dev); > - unregister_netdevice(peer); > + unregister_netdevice_queue(dev, head); > + unregister_netdevice_queue(peer, head); Unless I am mistaken you need to change the list_add_tail to list_move_tail in unregister_netdevice_queue because we will be adding each veth device twice. Eric -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Eric W. Biederman a écrit : > Eric Dumazet <eric.dumazet@gmail.com> writes: >> >> diff --git a/drivers/net/veth.c b/drivers/net/veth.c >> index ffb502d..9bed694 100644 >> --- a/drivers/net/veth.c >> +++ b/drivers/net/veth.c >> @@ -450,8 +450,8 @@ static void veth_dellink(struct net_device *dev, struct list_head *head) >> priv = netdev_priv(dev); >> peer = priv->peer; >> >> - unregister_netdevice(dev); >> - unregister_netdevice(peer); >> + unregister_netdevice_queue(dev, head); >> + unregister_netdevice_queue(peer, head); > > Unless I am mistaken you need to change the list_add_tail to > list_move_tail in unregister_netdevice_queue because we will be > adding each veth device twice. > You are right, and your patch is the solution to this problem Thanks -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/veth.c b/drivers/net/veth.c index ffb502d..9bed694 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c @@ -450,8 +450,8 @@ static void veth_dellink(struct net_device *dev, struct list_head *head) priv = netdev_priv(dev); peer = priv->peer; - unregister_netdevice(dev); - unregister_netdevice(peer); + unregister_netdevice_queue(dev, head); + unregister_netdevice_queue(peer, head); } static const struct nla_policy veth_policy[VETH_INFO_MAX + 1];
In commit 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b (net: add a list_head parameter to dellink() method), I forgot to actually use this parameter in veth_dellink. I remember feeling a bit uncomfortable about veth_close(), because it does : netif_carrier_off(dev); netif_carrier_off(priv->peer); Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html