From ae72c2e86b33381de1c1f3ce4cb9301e88c0a5f8 Mon Sep 17 00:00:00 2001 From: green Date: Fri, 9 Jan 2004 00:41:45 +0000 Subject: Don't try to ifpromisc() on an interface that's deleted already. --- sys/netgraph/ng_ether.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/netgraph') diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index b1756d0..b741b07 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -597,10 +597,6 @@ ng_ether_shutdown(node_p node) { const priv_p priv = NG_NODE_PRIVATE(node); - if (priv->promisc) { /* disable promiscuous mode */ - (void)ifpromisc(priv->ifp, 0); - priv->promisc = 0; - } if (node->nd_flags & NG_REALLY_DIE) { /* * WE came here because the ethernet card is being unloaded, @@ -613,6 +609,10 @@ ng_ether_shutdown(node_p node) NG_NODE_UNREF(node); /* free node itself */ return (0); } + if (priv->promisc) { /* disable promiscuous mode */ + (void)ifpromisc(priv->ifp, 0); + priv->promisc = 0; + } priv->autoSrcAddr = 1; /* reset auto-src-addr flag */ node->nd_flags &= ~NG_INVALID; /* Signal ng_rmnode we are persisant */ return (0); -- cgit v1.1