rt2x00: read 5GHz TX power values from the correct offset
The current code uses the same index value both for the channel information array and for the TX power table. The index starts from 14, however the index of the TX power table must start from zero. Fix it, in order to get the correct TX power value for a given channel. The changes in rt61pci.c and rt73usb.c are compile tested only. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Cc: stable@vger.kernel.org Acked-by: Stanislaw Gruszka <stf_xl@wp.pl> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
428e3cf5f9
commit
0a6f3a8eba
|
@ -6254,8 +6254,8 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
|
||||||
default_power2 = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A2);
|
default_power2 = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A2);
|
||||||
|
|
||||||
for (i = 14; i < spec->num_channels; i++) {
|
for (i = 14; i < spec->num_channels; i++) {
|
||||||
info[i].default_power1 = default_power1[i];
|
info[i].default_power1 = default_power1[i - 14];
|
||||||
info[i].default_power2 = default_power2[i];
|
info[i].default_power2 = default_power2[i - 14];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2825,7 +2825,8 @@ static int rt61pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
|
||||||
tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START);
|
tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START);
|
||||||
for (i = 14; i < spec->num_channels; i++) {
|
for (i = 14; i < spec->num_channels; i++) {
|
||||||
info[i].max_power = MAX_TXPOWER;
|
info[i].max_power = MAX_TXPOWER;
|
||||||
info[i].default_power1 = TXPOWER_FROM_DEV(tx_power[i]);
|
info[i].default_power1 =
|
||||||
|
TXPOWER_FROM_DEV(tx_power[i - 14]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2167,7 +2167,8 @@ static int rt73usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
|
||||||
tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START);
|
tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START);
|
||||||
for (i = 14; i < spec->num_channels; i++) {
|
for (i = 14; i < spec->num_channels; i++) {
|
||||||
info[i].max_power = MAX_TXPOWER;
|
info[i].max_power = MAX_TXPOWER;
|
||||||
info[i].default_power1 = TXPOWER_FROM_DEV(tx_power[i]);
|
info[i].default_power1 =
|
||||||
|
TXPOWER_FROM_DEV(tx_power[i - 14]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue