diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2005-04-18 04:07:18 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2005-04-18 04:07:18 +0000 |
commit | 9f66fd5e486228cdfaf5c84e74e3181616128c0e (patch) | |
tree | 5dcb33bd9b28e31e90c375ed7733900718522091 /sys | |
parent | c864678a94a4dbeea6d6ec4f31fc4034007ed258 (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.c | 4 |
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; |