Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Jun 2013 19:14:29 +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: r251340 - head/sys/dev/ath/ath_hal/ar5416
Message-ID:  <201306031914.r53JETC5031062@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Mon Jun  3 19:14:29 2013
New Revision: 251340
URL: http://svnweb.freebsd.org/changeset/base/251340

Log:
  Fix receive on the AR9285 (Kite) with only one antenna connected.
  
  The main problem here is that fast and driver RX diversity isn't actually
  configured; I need to figure out why that is.  That said, this makes
  the single-antenna connected AR9285 and AR2427 (AR9285 w/ no 11n) work
  correctly.
  
  PR:		kern/179269

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

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c	Mon Jun  3 19:13:44 2013	(r251339)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c	Mon Jun  3 19:14:29 2013	(r251340)
@@ -136,7 +136,20 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO
 	 * Preserve the antenna on a channel change
 	 */
 	saveDefAntenna = OS_REG_READ(ah, AR_DEF_ANTENNA);
-	if (saveDefAntenna == 0)		/* XXX magic constants */
+
+	/*
+	 * Don't do this for the AR9285 - it breaks RX for single
+	 * antenna designs when diversity is disabled.
+	 *
+	 * I'm not sure what this was working around; it may be
+	 * something to do with the AR5416.  Certainly this register
+	 * isn't supposed to be used by the MIMO chips for anything
+	 * except for defining the default antenna when an external
+	 * phase array / smart antenna is connected.
+	 *
+	 * See PR: kern/179269 .
+	 */
+	if ((! AR_SREV_KITE(ah)) && saveDefAntenna == 0)	/* XXX magic constants */
 		saveDefAntenna = 1;
 
 	/* Save hardware flag before chip reset clears the register */



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