patch-2.2.5 linux/net/core/dev.c

Next file: linux/net/core/filter.c
Previous file: linux/net/appletalk/ddp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.4/linux/net/core/dev.c linux/net/core/dev.c
@@ -232,9 +232,8 @@
 	{
 		if(pt==(*pt1))
 		{
-			net_serialize_enter();
 			*pt1=pt->next;
-			net_serialize_leave();
+			synchronize_bh();
 #ifdef CONFIG_NET_FASTROUTE
 			if (pt->data)
 				netdev_fastroute_obstacles--;
@@ -1823,9 +1822,8 @@
 	/* And unlink it from device chain. */
 	for (dp = &dev_base; (d=*dp) != NULL; dp=&d->next) {
 		if (d == dev) {
-			net_serialize_enter();
 			*dp = d->next;
-			net_serialize_leave();
+			synchronize_bh();
 			d->next = NULL;
 
 			if (dev->destructor)
@@ -1986,9 +1984,8 @@
 			/*
 			 *	It failed to come up. Unhook it.
 			 */
-			net_serialize_enter();
 			*dp = dev->next;
-			net_serialize_leave();
+			synchronize_bh();
 		} 
 		else
 		{

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)