Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Mar 2013 04:09:29 +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: r248675 - head/sys/dev/ath
Message-ID:  <201303240409.r2O49TCO013008@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sun Mar 24 04:09:29 2013
New Revision: 248675
URL: http://svnweb.freebsd.org/changeset/base/248675

Log:
  Fix the locking changes due to the TXQ change drive-by.
  
  Tested:
  
  * AR9580, STA mode

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	Sun Mar 24 03:15:20 2013	(r248674)
+++ head/sys/dev/ath/if_ath_tx_edma.c	Sun Mar 24 04:09:29 2013	(r248675)
@@ -203,7 +203,7 @@ ath_edma_xmit_handoff_hw(struct ath_soft
 {
 	struct ath_hal *ah = sc->sc_ah;
 
-	ATH_TXQ_LOCK_ASSERT(txq);
+	ATH_TXQ_LOCK(txq);
 
 	KASSERT((bf->bf_flags & ATH_BUF_BUSY) == 0,
 	    ("%s: busy status 0x%x", __func__, bf->bf_flags));
@@ -234,6 +234,7 @@ ath_edma_xmit_handoff_hw(struct ath_soft
 		txq->axq_fifo_depth++;
 		ath_hal_txstart(ah, txq->axq_qnum);
 	}
+	ATH_TXQ_UNLOCK(txq);
 }
 
 /*
@@ -252,6 +253,7 @@ ath_edma_xmit_handoff_mcast(struct ath_s
 	KASSERT((bf->bf_flags & ATH_BUF_BUSY) == 0,
 	    ("%s: busy status 0x%x", __func__, bf->bf_flags));
 
+	ATH_TXQ_LOCK(txq);
 	/*
 	 * XXX this is mostly duplicated in ath_tx_handoff_mcast().
 	 */
@@ -278,6 +280,7 @@ ath_edma_xmit_handoff_mcast(struct ath_s
 
 	ATH_TXQ_INSERT_TAIL(txq, bf, bf_list);
 	ath_hal_gettxdesclinkptr(sc->sc_ah, bf->bf_lastds, &txq->axq_link);
+	ATH_TXQ_UNLOCK(txq);
 }
 
 /*



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