Index: sys/net/iflib.c =================================================================== --- sys/net/iflib.c +++ sys/net/iflib.c @@ -5010,10 +5010,14 @@ } tqg = qgroup_if_config_tqg; - if (ctx->ifc_admin_task.gt_uniq != NULL) + if (ctx->ifc_admin_task.gt_uniq != NULL) { + gtaskqueue_drain(ctx->ifc_admin_task.gt_taskqueue, &ctx->ifc_admin_task.gt_task); taskqgroup_detach(tqg, &ctx->ifc_admin_task); - if (ctx->ifc_vflr_task.gt_uniq != NULL) + } + if (ctx->ifc_vflr_task.gt_uniq != NULL) { + gtaskqueue_drain(ctx->ifc_vflr_task.gt_taskqueue, &ctx->ifc_vflr_task.gt_task); taskqgroup_detach(tqg, &ctx->ifc_vflr_task); + } CTX_LOCK(ctx); IFDI_DETACH(ctx); CTX_UNLOCK(ctx);