diff options
author | adrian <adrian@FreeBSD.org> | 2010-08-12 06:11:44 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2010-08-12 06:11:44 +0000 |
commit | 85bba21fcdb6f335e45e56dc17e3e0b1c14289b7 (patch) | |
tree | 15437c12c82c03e18cc55703a04503751ea68ac9 /sys/dev/ath/ath_hal | |
parent | 6a989e2e780ccf97cb01301ba5e071fe51858fa3 (diff) | |
download | FreeBSD-src-85bba21fcdb6f335e45e56dc17e3e0b1c14289b7.zip FreeBSD-src-85bba21fcdb6f335e45e56dc17e3e0b1c14289b7.tar.gz |
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.
Diffstat (limited to 'sys/dev/ath/ath_hal')
-rw-r--r-- | sys/dev/ath/ath_hal/ar5416/ar5416_cal.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c b/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c index 82b3009..30daa1d 100644 --- a/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c +++ b/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c @@ -407,6 +407,13 @@ ar5416PerCalibrationN(struct ath_hal *ah, struct ieee80211_channel *chan, *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) { |