svn commit: r264255 - head/sys/dev/ath

Adrian Chadd adrian at FreeBSD.org
Tue Apr 8 07:10:53 UTC 2014


Author: adrian
Date: Tue Apr  8 07:10:52 2014
New Revision: 264255
URL: http://svnweb.freebsd.org/changeset/base/264255

Log:
  Don't do continue inside the scheduler loop; we really need to check
  if we've hit the end of the list and cycled around to the first
  node again.
  
  Obtained from:	DragonflyBSD

Modified:
  head/sys/dev/ath/if_ath_tx.c

Modified: head/sys/dev/ath/if_ath_tx.c
==============================================================================
--- head/sys/dev/ath/if_ath_tx.c	Tue Apr  8 07:08:59 2014	(r264254)
+++ head/sys/dev/ath/if_ath_tx.c	Tue Apr  8 07:10:52 2014	(r264255)
@@ -5509,7 +5509,7 @@ ath_txq_sched(struct ath_softc *sc, stru
 		 * a frame; be careful.
 		 */
 		if (! ath_tx_tid_can_tx_or_sched(sc, tid)) {
-			continue;
+			goto loop_done;
 		}
 		if (ath_tx_ampdu_running(sc, tid->an, tid->tid))
 			ath_tx_tid_hw_queue_aggr(sc, tid->an, tid);
@@ -5532,7 +5532,7 @@ ath_txq_sched(struct ath_softc *sc, stru
 		if (txq->axq_depth >= sc->sc_hwq_limit_nonaggr) {
 			break;
 		}
-
+loop_done:
 		/*
 		 * If this was the last entry on the original list, stop.
 		 * Otherwise nodes that have been rescheduled onto the end


More information about the svn-src-head mailing list