diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c index 3fa1180d050..9d1a7452666 100644 --- a/sys/dev/em/if_em.c +++ b/sys/dev/em/if_em.c @@ -644,7 +644,9 @@ em_start(struct ifnet *ifp) struct adapter *adapter = ifp->if_softc; EM_LOCK(adapter); - em_start_locked(ifp); + if (ifp->if_drv_flags & IFF_DRV_RUNNING && + !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + em_start_locked(ifp); EM_UNLOCK(adapter); return; }