patch-2.1.68 linux/drivers/net/slip.c

Next file: linux/drivers/net/strip.c
Previous file: linux/drivers/net/scc.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.67/linux/drivers/net/slip.c linux/drivers/net/slip.c
@@ -68,6 +68,7 @@
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <linux/skbuff.h>
+#include <linux/rtnetlink.h>
 #include <linux/if_arp.h>
 #include <linux/if_slip.h>
 #include <linux/init.h>
@@ -733,6 +734,7 @@
 		return;
 	}
 
+	rtnl_lock();
 	if (sl->dev->flags & IFF_UP)
 	{
 		/* STRONG layering violation! --ANK */
@@ -749,6 +751,8 @@
 		(void)del_timer (&sl->outfill_timer);
 #endif
 	sl_free(sl);
+	unregister_netdevice(sl->dev);
+	rtnl_unlock();
 	MOD_DEC_USE_COUNT;
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov