summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2000-07-19 17:33:53 +0000
committerarchie <archie@FreeBSD.org>2000-07-19 17:33:53 +0000
commit32c8825fe14648c9f2780127de4bc90f0404a0e9 (patch)
tree90c89cb0b4b487ab902c9cbb3048ac2c0d01e46f /sys
parentb16240b827e66c5ee41e826518fe10d23ef44bfd (diff)
downloadFreeBSD-src-32c8825fe14648c9f2780127de4bc90f0404a0e9.zip
FreeBSD-src-32c8825fe14648c9f2780127de4bc90f0404a0e9.tar.gz
Remove node's name reference when the interface is detached;
otherwise, the ng_ether.ko KLD will never be unloadable after all Ethernet interfaces are detached, as it should be, because of the lingering extra reference. Submitted by: "Yevmenkin, Maksim N, CSCIO" <myevmenkin@att.com>
Diffstat (limited to 'sys')
-rw-r--r--sys/netgraph/ng_ether.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c
index 86a4dcb..7c96548 100644
--- a/sys/netgraph/ng_ether.c
+++ b/sys/netgraph/ng_ether.c
@@ -288,6 +288,7 @@ ng_ether_detach(struct ifnet *ifp)
return;
ng_rmnode(node); /* break all links to other nodes */
node->flags |= NG_INVALID;
+ ng_unname(node); /* free name (and its reference) */
IFP2NG(ifp) = NULL; /* detach node from interface */
priv = node->private; /* free node private info */
bzero(priv, sizeof(*priv));
OpenPOWER on IntegriCloud