svn commit: r226765 - head/sys/dev/ath/ath_hal/ar5212

Adrian Chadd adrian at FreeBSD.org
Tue Oct 25 23:28:17 UTC 2011


Author: adrian
Date: Tue Oct 25 23:28:16 2011
New Revision: 226765
URL: http://svn.freebsd.org/changeset/base/226765

Log:
  The AR5413 datasheet specifies that AR_TxIntrReq should be set consistently
  for all frames, so do so.

Modified:
  head/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c	Tue Oct 25 23:24:05 2011	(r226764)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c	Tue Oct 25 23:28:16 2011	(r226765)
@@ -821,12 +821,14 @@ ar5212FillTxDesc(struct ath_hal *ah, str
 		 * copy the multi-rate transmit parameters from
 		 * the first frame for processing on completion. 
 		 */
-		ads->ds_ctl0 = 0;
 		ads->ds_ctl1 = segLen;
 #ifdef AH_NEED_DESC_SWAP
+		ads->ds_ctl0 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl0)
+		    & AR_TxInterReq;
 		ads->ds_ctl2 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl2);
 		ads->ds_ctl3 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl3);
 #else
+		ads->ds_ctl0 = AR5212DESC_CONST(ds0)->ds_ctl0 & AR_TxInterReq;
 		ads->ds_ctl2 = AR5212DESC_CONST(ds0)->ds_ctl2;
 		ads->ds_ctl3 = AR5212DESC_CONST(ds0)->ds_ctl3;
 #endif
@@ -834,7 +836,12 @@ ar5212FillTxDesc(struct ath_hal *ah, str
 		/*
 		 * Intermediate descriptor in a multi-descriptor frame.
 		 */
-		ads->ds_ctl0 = 0;
+#ifdef AH_NEED_DESC_SWAP
+		ads->ds_ctl0 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl0)
+		    & AR_TxInterReq;
+#else
+		ads->ds_ctl0 = AR5212DESC_CONST(ds0)->ds_ctl0 & AR_TxInterReq;
+#endif
 		ads->ds_ctl1 = segLen | AR_More;
 		ads->ds_ctl2 = 0;
 		ads->ds_ctl3 = 0;


More information about the svn-src-all mailing list