netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] change delete bridge to work with new unregister
@ 2003-05-29 17:24 Stephen Hemminger
  2003-05-30  3:02 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2003-05-29 17:24 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev

The changes in 2.5.70 for unregister cause deleteing a bridge device to
hang, because the last reference to the bridge was being dropped after
calling unregister_netdev.  Doing the unregister under lock, instead
of by holding a reference fixes that.

diff -Nru a/net/bridge/br_if.c b/net/bridge/br_if.c
--- a/net/bridge/br_if.c	Thu May 29 10:19:39 2003
+++ b/net/bridge/br_if.c	Thu May 29 10:19:39 2003
@@ -170,11 +170,12 @@
 	struct net_device *dev;
 	int ret = 0;
 
-	dev = dev_get_by_name(name);
+	rtnl_lock();
+	dev = __dev_get_by_name(name);
 	if (dev == NULL) 
-		return -ENXIO; 	/* Could not find device */
+		ret =  -ENXIO; 	/* Could not find device */
 
-	if (!(dev->priv_flags & IFF_EBRIDGE)) {
+	else if (!(dev->priv_flags & IFF_EBRIDGE)) {
 		/* Attempt to delete non bridge device! */
 		ret = -EPERM;
 	}
@@ -186,11 +187,10 @@
 
 	else {
 		del_ifs((struct net_bridge *) dev->priv);
-	
-		unregister_netdev(dev);
+		unregister_netdevice(dev);
 	}
 
-	dev_put(dev);
+	rtnl_unlock();
 	return ret;
 }
 

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] change delete bridge to work with new unregister
  2003-05-29 17:24 [PATCH] change delete bridge to work with new unregister Stephen Hemminger
@ 2003-05-30  3:02 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2003-05-30  3:02 UTC (permalink / raw)
  To: shemminger; +Cc: netdev

   From: Stephen Hemminger <shemminger@osdl.org>
   Date: Thu, 29 May 2003 10:24:07 -0700

   The changes in 2.5.70 for unregister cause deleteing a bridge device to
   hang, because the last reference to the bridge was being dropped after
   calling unregister_netdev.  Doing the unregister under lock, instead
   of by holding a reference fixes that.
   
Applied, thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-05-30  3:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-29 17:24 [PATCH] change delete bridge to work with new unregister Stephen Hemminger
2003-05-30  3:02 ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).