patch-2.2.5 linux/net/ipv4/devinet.c

Next file: linux/net/ipv4/fib_hash.c
Previous file: linux/net/ipv4/af_inet.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.4/linux/net/ipv4/devinet.c linux/net/ipv4/devinet.c
@@ -1,7 +1,7 @@
 /*
  *	NET3	IP device support routines.
  *
- *	Version: $Id: devinet.c,v 1.26 1999/03/21 05:22:31 davem Exp $
+ *	Version: $Id: devinet.c,v 1.27 1999/03/25 10:04:06 davem Exp $
  *
  *		This program is free software; you can redistribute it and/or
  *		modify it under the terms of the GNU General Public License
@@ -138,9 +138,8 @@
 #ifdef CONFIG_SYSCTL
 	devinet_sysctl_unregister(&in_dev->cnf);
 #endif
-	net_serialize_enter();
 	in_dev->dev->ip_ptr = NULL;
-	net_serialize_leave();
+	synchronize_bh();
 	neigh_parms_release(&arp_tbl, in_dev->arp_parms);
 	kfree(in_dev);
 }
@@ -174,9 +173,8 @@
 				ifap1 = &ifa->ifa_next;
 				continue;
 			}
-			net_serialize_enter();
 			*ifap1 = ifa->ifa_next;
-			net_serialize_leave();
+			synchronize_bh();
 
 			rtmsg_ifa(RTM_DELADDR, ifa);
 			notifier_call_chain(&inetaddr_chain, NETDEV_DOWN, ifa);
@@ -186,9 +184,8 @@
 
 	/* 2. Unlink it */
 
-	net_serialize_enter();
 	*ifap = ifa1->ifa_next;
-	net_serialize_leave();
+	synchronize_bh();
 
 	/* 3. Announce address deletion */
 
@@ -244,9 +241,8 @@
 	}
 
 	ifa->ifa_next = *ifap;
-	net_serialize_enter();
+	wmb();
 	*ifap = ifa;
-	net_serialize_leave();
 
 	/* Send message first, then call notifier.
 	   Notifier will trigger FIB update, so that

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