Date: Tue, 25 Oct 2011 23:28:16 +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: r226765 - head/sys/dev/ath/ath_hal/ar5212 Message-ID: <201110252328.p9PNSGbc021637@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110252328.p9PNSGbc021637>