ath9k_hw: Fix regulatory CTL index usage for AR9003
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Sun, 1 Aug 2010 06:25:16 +0000 (02:25 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 4 Aug 2010 19:27:38 +0000 (15:27 -0400)
commit824b185adf86163e57892f22a878f97bc4bc69ab
treeeb55ec49284f3a1114affa6e8883ec9ac9e198c1
parentbb1236115eb6fd9ab7563b6a8cfbcc6980eb3ff1
ath9k_hw: Fix regulatory CTL index usage for AR9003

AR9003 was not relying on the CTL indexes from the EEPROM for capping the
max output power. The CTL indexes from the EEPROM provide calibrated
limits for output power for each tested and supported frequency. Without
this the device operates at a power level which only conforms to the
transmit spectrum mask as specified by IEEE Annex I.2.3.

The regulatory limit by CRDA is always used but does not provide
calibrated values for optimal performance, specially on band edges.
Using the calibrated data from the EEPROM ensures the device
operates at optimal output power while still ensuring proper
regulatory compliance. The device uses the minimum of these tree
values, the value from CRDA, the calibrated value from CTL indexex,
and the value to conform to the IEEE transmit spectrum mask.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c