From owner-svn-src-head@FreeBSD.ORG Sat Feb 5 22:54:37 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 894B81065674; Sat, 5 Feb 2011 22:54:37 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 784CB8FC08; Sat, 5 Feb 2011 22:54:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p15MsbRD044122; Sat, 5 Feb 2011 22:54:37 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p15Msbrk044120; Sat, 5 Feb 2011 22:54:37 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102052254.p15Msbrk044120@svn.freebsd.org> From: Adrian Chadd Date: Sat, 5 Feb 2011 22:54:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218354 - head/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Feb 2011 22:54:37 -0000 Author: adrian Date: Sat Feb 5 22:54:37 2011 New Revision: 218354 URL: http://svn.freebsd.org/changeset/base/218354 Log: Add a temporary workaround so the 11n rate scenario setup code sets a useful TX chainmask. since the upper layers don't (yet) know about the active TX/RX chainmasks, it can't tell the rate scenario functions what to use. I'll eventually sort this out; this restores functionality in the meantime. 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 5 22:04:20 2011 (r218353) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sat Feb 5 22:54:37 2011 (r218354) @@ -621,6 +621,20 @@ ar5416Set11nRateScenario(struct ath_hal (void)nseries; /* + * XXX since the upper layers doesn't know the current chainmask + * XXX setup, just override its decisions here. + * XXX The upper layers need to be taught this! + */ + if (series[0].Tries != 0) + series[0].ChSel = AH5416(ah)->ah_tx_chainmask; + if (series[1].Tries != 0) + series[1].ChSel = AH5416(ah)->ah_tx_chainmask; + if (series[2].Tries != 0) + series[2].ChSel = AH5416(ah)->ah_tx_chainmask; + if (series[3].Tries != 0) + series[3].ChSel = AH5416(ah)->ah_tx_chainmask; + + /* * Only one of RTS and CTS enable must be set. * If a frame has both set, just do RTS protection - * that's enough to satisfy legacy protection. @@ -642,7 +656,6 @@ ar5416Set11nRateScenario(struct ath_hal (ads->ds_ctl0 & ~(AR_RTSEnable | AR_CTSEnable)); } - ads->ds_ctl2 = set11nTries(series, 0) | set11nTries(series, 1) | set11nTries(series, 2)