aboutsummaryrefslogtreecommitdiff
path: root/sys/net/iflib.c
diff options
context:
space:
mode:
authorMatt Macy <mmacy@FreeBSD.org>2020-05-31 18:42:00 +0000
committerMatt Macy <mmacy@FreeBSD.org>2020-05-31 18:42:00 +0000
commit1f93e931d9f0c688f43f98ef777e04636a325526 (patch)
tree176b9dbf8ed9a83dee7e33407de5fa200aabc137 /sys/net/iflib.c
parent0cfac4d5c6906e114b98dde7c9ad63d5bd714f6e (diff)
downloadsrc-1f93e931d9f0c688f43f98ef777e04636a325526.tar.gz
src-1f93e931d9f0c688f43f98ef777e04636a325526.zip
Fix panics when using iflib pseudo device support
Reviewed by: gallatin@, hselasky@ MFC after: 1 week Sponsored by: Netgate, Inc. Differential Revision: https://reviews.freebsd.org/D23710
Notes
Notes: svn path=/head/; revision=361665
Diffstat (limited to 'sys/net/iflib.c')
-rw-r--r--sys/net/iflib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index db4a11faaad5..b6d2f0fe9027 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -4902,6 +4902,7 @@ iflib_pseudo_register(device_t dev, if_shared_ctx_t sctx, if_ctx_t *ctxp,
if_setgetcounterfn(ctx->ifc_ifp, iflib_if_get_counter);
iflib_add_device_sysctl_post(ctx);
ctx->ifc_flags |= IFC_INIT_DONE;
+ CTX_UNLOCK(ctx);
return (0);
}
_iflib_pre_assert(scctx);
@@ -5354,7 +5355,8 @@ iflib_register(if_ctx_t ctx)
device_t dev = ctx->ifc_dev;
if_t ifp;
- _iflib_assert(sctx);
+ if ((sctx->isc_flags & IFLIB_PSEUDO) == 0)
+ _iflib_assert(sctx);
CTX_LOCK_INIT(ctx);
STATE_LOCK_INIT(ctx, device_get_nameunit(ctx->ifc_dev));