 net/core/dev.c |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)

diff -puN net/core/dev.c~netdev-deadlock-fix net/core/dev.c
--- 25/net/core/dev.c~netdev-deadlock-fix	2003-05-23 02:47:58.000000000 -0700
+++ 25-akpm/net/core/dev.c	2003-05-23 02:48:19.000000000 -0700
@@ -2758,6 +2758,7 @@ void netdev_run_todo(void)
 
 		BUG_ON(atomic_read(&dev->refcnt));
 
+		netdev_unregister_sysfs(dev);
 		netdev_finish_unregister(dev);
 
 		dev = next;
@@ -2842,8 +2843,6 @@ int unregister_netdevice(struct net_devi
 
 	free_divert_blk(dev);
 
-	netdev_unregister_sysfs(dev);
-
 	spin_lock(&unregister_todo_lock);
 	dev->next = unregister_todo;
 	unregister_todo = dev;

_
