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

Adrian Chadd adrian at FreeBSD.org
Sun Mar 24 04:09:30 UTC 2013


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);
 }
 
 /*


More information about the svn-src-all mailing list