netdev
[Top] [All Lists]

[PATCH] tun driver not cleaning up on module remove

To: bellucda@xxxxxxxxxx, "David S. Miller" <davem@xxxxxxxxxx>
Subject: [PATCH] tun driver not cleaning up on module remove
From: Stephen Hemminger <shemminger@xxxxxxxx>
Date: Thu, 7 Aug 2003 15:45:24 -0700
Cc: netdev@xxxxxxxxxxx
In-reply-to: <200308051910.55823.bellucda@xxxxxxxxxx>
Organization: Open Source Development Lab
References: <200308051630.28552.bellucda@xxxxxxxxxx> <20030805090647.691daa7e.shemminger@xxxxxxxx> <200308051910.55823.bellucda@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
This should fix module unload issues with tun driver in 2.6-test2.
Driver was not cleaning up it's devices on module exit.

diff -Nru a/drivers/net/tun.c b/drivers/net/tun.c
--- a/drivers/net/tun.c Thu Aug  7 15:41:10 2003
+++ b/drivers/net/tun.c Thu Aug  7 15:41:10 2003
@@ -605,7 +605,18 @@
 
 void tun_cleanup(void)
 {
+       struct net_device *dev, *nxt;
+
        misc_deregister(&tun_miscdev);  
+
+       rtnl_lock();
+       for (dev = dev_base; dev; dev = nxt) {
+               nxt = dev->next;
+               if (dev->init == tun_net_init) 
+                       unregister_netdevice(dev);
+       }
+       rtnl_unlock();
+       
 }
 
 module_init(tun_init);

<Prev in Thread] Current Thread [Next in Thread>