summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2005-04-18 04:07:18 +0000
committerBrad Smith <brad@cvs.openbsd.org>2005-04-18 04:07:18 +0000
commit9f66fd5e486228cdfaf5c84e74e3181616128c0e (patch)
tree5dcb33bd9b28e31e90c375ed7733900718522091 /sys
parentc864678a94a4dbeea6d6ec4f31fc4034007ed258 (diff)
If the parent interface is not IFF_RUNNING, do not call its start function.
This prevent a variety of fun panics. From NetBSD
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_vlan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index f71601f63eb..8d4b1fe7da9 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_vlan.c,v 1.50 2005/04/18 03:29:18 brad Exp $ */
+/* $OpenBSD: if_vlan.c,v 1.51 2005/04/18 04:07:17 brad Exp $ */
/*
* Copyright 1998 Massachusetts Institute of Technology
*
@@ -255,7 +255,7 @@ vlan_start(struct ifnet *ifp)
}
ifp->if_opackets++;
- if ((p->if_flags & IFF_OACTIVE) == 0)
+ if ((p->if_flags & (IFF_RUNNING|IFF_OACTIVE)) == IFF_RUNNING)
p->if_start(p);
}
ifp->if_flags &= ~IFF_OACTIVE;