Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Apr 2014 07:10:53 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r264255 - head/sys/dev/ath
Message-ID:  <201404080710.s387ArHo068966@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404080710.s387ArHo068966>