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;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to