summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_eiface.c
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2007-03-08 21:10:53 +0000
committerru <ru@FreeBSD.org>2007-03-08 21:10:53 +0000
commit42f2b268fddb1dbaba47c239fdfa67651e6a8e16 (patch)
treec977159206ea1cdc5b644bd01a073be806d193fa /sys/netgraph/ng_eiface.c
parent586626109703a0b678541b88c583f2c26de8363a (diff)
downloadFreeBSD-src-42f2b268fddb1dbaba47c239fdfa67651e6a8e16.zip
FreeBSD-src-42f2b268fddb1dbaba47c239fdfa67651e6a8e16.tar.gz
ng_send_fn() can return with an error, the function of interest
will never be called and OACTIVE will never be reset. Fix this. Submitted by: Vsevolod Lobko MFC after: 3 days
Diffstat (limited to 'sys/netgraph/ng_eiface.c')
-rw-r--r--sys/netgraph/ng_eiface.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netgraph/ng_eiface.c b/sys/netgraph/ng_eiface.c
index bef1c26..a38abe3 100644
--- a/sys/netgraph/ng_eiface.c
+++ b/sys/netgraph/ng_eiface.c
@@ -277,7 +277,8 @@ ng_eiface_start(struct ifnet *ifp)
ifp->if_drv_flags |= IFF_DRV_OACTIVE;
- ng_send_fn(priv->node, NULL, &ng_eiface_start2, ifp, 0);
+ if (ng_send_fn(priv->node, NULL, &ng_eiface_start2, ifp, 0) != 0)
+ ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
}
#ifdef DEBUG
OpenPOWER on IntegriCloud