Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Aug 2010 06:11:44 +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: r211208 - head/sys/dev/ath/ath_hal/ar5416
Message-ID:  <201008120611.o7C6BiUT093223@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Thu Aug 12 06:11:44 2010
New Revision: 211208
URL: http://svn.freebsd.org/changeset/base/211208

Log:
  Ensure that the correct rxchainmask is used when doing calibration in the
  AR5416 and later chipsets.
  
  ath_hal_calibrateN() calls the HAL calibrateN function with rxchainmask=0x1.
  This is not necessarily the case for AR5416 and later chipsets.

Modified:
  head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c	Thu Aug 12 06:08:36 2010	(r211207)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c	Thu Aug 12 06:11:44 2010	(r211208)
@@ -407,6 +407,13 @@ ar5416PerCalibrationN(struct ath_hal *ah
 
 	*isCalDone = AH_TRUE;
 
+	/*
+	 * Since ath_hal calls the PerCal method with rxchainmask=0x1;
+	 * override it with the current chainmask. The upper levels currently
+	 * doesn't know about the chainmask.
+	 */
+	rxchainmask = AH5416(ah)->ah_rx_chainmask;
+
 	/* Invalid channel check */
 	ichan = ath_hal_checkchannel(ah, chan);
 	if (ichan == AH_NULL) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008120611.o7C6BiUT093223>