rt2800: calculate tx power temperature compensation on selected chips
authorStanislaw Gruszka <sgruszka@redhat.com>
Tue, 25 Nov 2014 14:17:29 +0000 (15:17 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 1 Dec 2014 20:57:20 +0000 (15:57 -0500)
commit87dd2d76a94b310c173943a7de9a8b6598af0c78
treedb2aab20e227cb641a1576320b5f1f5f876f7e4c
parent8e09b7d2dbb86eb3e9a714d6622f4da24e988029
rt2800: calculate tx power temperature compensation on selected chips

Currently implemented temperature compensation is only valid on some of
supported chips. Other chips do not need temperature compensation or
need different way to do this (not yet implemented in the rt2800
driver). Trying to do run rt2800_get_gain_calibration_delta() when this
is not appropriate on particular chip gives bogus result of TX power
and can make connection unstable.

This is follow up to commit 8c8d2017ba25c510ddf093419048460db1109bc4
"rt2800: fix RT5390 & RT3290 TX power settings regression". On that
commit we avoid setting BBP_R1 register, but the real problem is wrong
temperature compensation calculation.

Reported-and-tested-by: Ronald Wahl <ronald.wahl@raritan.com>
Debugged-by: Ronald Wahl <ronald.wahl@raritan.com>
Cc: Mike Romberg <mike-romberg@comcast.net>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2800lib.c