svn commit: r246579 - head/sys/dev/ath/ath_hal/ar5416
Adrian Chadd
adrian at FreeBSD.org
Sat Feb 9 02:42:02 UTC 2013
Author: adrian
Date: Sat Feb 9 02:42:01 2013
New Revision: 246579
URL: http://svnweb.freebsd.org/changeset/base/246579
Log:
The encryption type field needs to be preserved for each descriptor
making up a frame, in both a sub-frame and for all frames in an
aggregate.
Tested:
* AR5416, STA mode
Modified:
head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sat Feb 9 01:41:21 2013 (r246578)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sat Feb 9 02:42:01 2013 (r246579)
@@ -306,10 +306,14 @@ ar5416FillTxDesc(struct ath_hal *ah, str
& AR_TxIntrReq;
ads->ds_ctl2 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl2);
ads->ds_ctl3 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl3);
+ /* ctl6 - we only need encrtype; the rest are blank */
+ ads->ds_ctl6 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl6 & AR_EncrType);
#else
ads->ds_ctl0 = AR5416DESC_CONST(ds0)->ds_ctl0 & AR_TxIntrReq;
ads->ds_ctl2 = AR5416DESC_CONST(ds0)->ds_ctl2;
ads->ds_ctl3 = AR5416DESC_CONST(ds0)->ds_ctl3;
+ /* ctl6 - we only need encrtype; the rest are blank */
+ ads->ds_ctl6 = AR5416DESC_CONST(ds0)->ds_ctl6 & AR_EncrType;
#endif
} else { /* !firstSeg && !lastSeg */
/*
@@ -318,8 +322,10 @@ ar5416FillTxDesc(struct ath_hal *ah, str
#ifdef AH_NEED_DESC_SWAP
ads->ds_ctl0 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl0)
& AR_TxIntrReq;
+ ads->ds_ctl6 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl6 & AR_EncrType);
#else
ads->ds_ctl0 = AR5416DESC_CONST(ds0)->ds_ctl0 & AR_TxIntrReq;
+ ads->ds_ctl6 = AR5416DESC_CONST(ds0)->ds_ctl6 & AR_EncrType;
#endif
ads->ds_ctl1 = segLen | AR_TxMore;
ads->ds_ctl2 = 0;
More information about the svn-src-head
mailing list