summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2003-06-04 09:50:39 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2003-06-04 09:50:39 -0700
commitcbe7defa859ae2077f2b577a5540853b24868da8 (patch)
tree0b50616f6595c91c137ca7e13500c77d714ed04e
parentcd290c4adbbb7588e16062c86893d90353f474f2 (diff)
[NET]: Fix device unregister in TUN driver.
-rw-r--r--drivers/net/tun.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 369ad8cb2729..8e159834ed06 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -551,10 +551,12 @@ static int tun_chr_close(struct inode *inode, struct file *file)
if (!(tun->flags & TUN_PERSIST)) {
dev_close(&tun->dev);
unregister_netdevice(&tun->dev);
- kfree(tun);
}
rtnl_unlock();
+
+ if (!(tun->flags & TUN_PERSIST))
+ kfree(tun);
return 0;
}