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
This commit is contained in:
Adrian Chadd 2013-06-03 19:14:29 +00:00
parent 8cc74771f2
commit cc7b47dd1b

View file

@ -136,7 +136,20 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMODE opmode,
* 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 */