diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 8c8cc6936f7e..1fdda2ef8462 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2634,7 +2634,8 @@ iflib_stop(if_ctx_t ctx) bzero((void *)di->idi_vaddr, di->idi_size); } for (i = 0; i < scctx->isc_nrxqsets; i++, rxq++) { - /* make sure all transmitters have completed before proceeding XXX */ + gtaskqueue_drain(rxq->ifr_task.gt_taskqueue, + &rxq->ifr_task.gt_task); rxq->ifr_cq_cidx = 0; for (j = 0, di = rxq->ifr_ifdi; j < sctx->isc_nrxqs; j++, di++)