svn commit: r242604 - head/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Mon Nov 5 09:27:47 UTC 2012
Author: adrian
Date: Mon Nov 5 09:27:47 2012
New Revision: 242604
URL: http://svnweb.freebsd.org/changeset/base/242604
Log:
Clear IFF_DRV_OACTIVE if any slots were completed.
This unblocks TX EDMA under high load.
Modified:
head/sys/dev/ath/if_ath_tx_edma.c
Modified: head/sys/dev/ath/if_ath_tx_edma.c
==============================================================================
--- head/sys/dev/ath/if_ath_tx_edma.c Mon Nov 5 09:26:27 2012 (r242603)
+++ head/sys/dev/ath/if_ath_tx_edma.c Mon Nov 5 09:27:47 2012 (r242604)
@@ -602,6 +602,12 @@ ath_edma_tx_proc(void *arg, int npending
sc->sc_wd_timer = 0;
+ if (idx > 0) {
+ IF_LOCK(&sc->sc_ifp->if_snd);
+ sc->sc_ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
+ IF_UNLOCK(&sc->sc_ifp->if_snd);
+ }
+
/* Kick software scheduler */
/*
* XXX It's inefficient to do this if the FIFO queue is full,
More information about the svn-src-all
mailing list