aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2011-03-11 03:46:27 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2011-03-11 03:46:27 +0000
commit9ec9578e01fadabbd2a03d0210648a7fcc59970f (patch)
treec4ac794c44d92e0e3c9aa5d3859a1f4c170eb933 /sys
parent79422085d49358af16e00ab015fe2601692235e9 (diff)
downloadsrc-9ec9578e01fadabbd2a03d0210648a7fcc59970f.tar.gz
src-9ec9578e01fadabbd2a03d0210648a7fcc59970f.zip
Don't call ar5416SetTransmitPower() directly from ar5416SetTxPowerLimit();
this is incorrect for Kite (AR9285) and any future chipsets that override the EEPROM related routines. It meant that a direct call to set the TX power would call the v14 EEPROM AR5416/AR9280 calibration routines, rather than the v4k EEPROM routines for the AR9285. It thus read the incorrect values from the EEPROM and programmed garbage PDADC and TX power values into the hardware.
Notes
Notes: svn path=/head/; revision=219474
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ath/ath_hal/ar5416/ar5416_reset.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c b/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
index c59e23c598e2..9727505cefae 100644
--- a/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
+++ b/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
@@ -405,7 +405,7 @@ ar5416ChannelChange(struct ath_hal *ah, const structu ieee80211_channel *chan)
return AH_FALSE;
/* Setup the transmit power values. */
- if (!ar5416SetTransmitPower(ah, chan, rfXpdGain)) {
+ if (!ah->ah_setTxPower(ah, chan, rfXpdGain)) {
HALDEBUG(ah, HAL_DEBUG_ANY,
"%s: error init'ing transmit power\n", __func__);
return AH_FALSE;
@@ -748,7 +748,7 @@ ar5416SetTxPowerLimit(struct ath_hal *ah, uint32_t limit)
uint16_t dummyXpdGains[2];
AH_PRIVATE(ah)->ah_powerLimit = AH_MIN(limit, MAX_RATE_POWER);
- return ar5416SetTransmitPower(ah, AH_PRIVATE(ah)->ah_curchan,
+ return ah->ah_setTxPower(ah, AH_PRIVATE(ah)->ah_curchan,
dummyXpdGains);
}