ath9k_hw: fix an off-by-one error in the PDADC boundaries calculation
authorFelix Fietkau <nbd@openwrt.org>
Sun, 11 Jul 2010 10:48:41 +0000 (12:48 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 12 Jul 2010 20:05:38 +0000 (16:05 -0400)
PDADC values were only generated for values surrounding the target
index, however not for the target index itself, leading to a minor
error in the generated curve.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/eeprom_def.c

index 60480a1122b2d6ec294f9114d78c953dcf421b5e..02e6c2a55fe46e5dfb8b26ba4a760c92b9fb71ce 100644 (file)
@@ -730,7 +730,7 @@ static void ath9k_hw_get_def_gain_boundaries_pdadcs(struct ath_hw *ah,
                                    vpdTableI[i][sizeCurrVpdTable - 2]);
                vpdStep = (int16_t)((vpdStep < 1) ? 1 : vpdStep);
 
-               if (tgtIndex > maxIndex) {
+               if (tgtIndex >= maxIndex) {
                        while ((ss <= tgtIndex) &&
                               (k < (AR5416_NUM_PDADC_VALUES - 1))) {
                                tmpVal = (int16_t)((vpdTableI[i][sizeCurrVpdTable - 1] +