rt2800: fix wrong TX power compensation
authorStanislaw Gruszka <sgruszka@redhat.com>
Mon, 26 Aug 2013 13:18:53 +0000 (15:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Oct 2013 16:40:58 +0000 (09:40 -0700)
commitb8a1785c3c1ce85a36d3088e3322f9a2619716bd
treea68078948e9a8d2124ee97a84cc59e29f995c9d9
parent2ad776fc3d2c243dc6fd51139dde92aac9c841ac
rt2800: fix wrong TX power compensation

commit 6e956da2027c767859128b9bfef085cf2a8e233b upstream.

We should not do temperature compensation on devices without
EXTERNAL_TX_ALC bit set (called DynamicTxAgcControl on vendor driver).
Such devices can have totally bogus TSSI parameters on the EEPROM,
but still threaded by us as valid and result doing wrong TX power
calculations.

This fix inability to connect to AP on slightly longer distance on
some Ralink chips/devices.

Reported-and-tested-by: Fabien ADAM <id2ndr@crocobox.org>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/rt2x00/rt2800lib.c