Commit e278c5a9 authored by Christian Lamparter's avatar Christian Lamparter Committed by John W. Linville

carl9170: fix noise dBm conversion

Ever since carl9170 gained support to read the noisefloor,
the reported noisefloor level was pretty poor.

Initially I assumed that something was wrong in the PHY
setup and it would be impossible to fix without any
guidances. But this was not the case. In fact the nf
readings were correct and the thing that was broken
was the "simple" sign extension code!
Signed-off-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9dec6f9c
...@@ -1558,9 +1558,9 @@ static int carl9170_set_power_cal(struct ar9170 *ar, u32 freq, ...@@ -1558,9 +1558,9 @@ static int carl9170_set_power_cal(struct ar9170 *ar, u32 freq,
static int carl9170_calc_noise_dbm(u32 raw_noise) static int carl9170_calc_noise_dbm(u32 raw_noise)
{ {
if (raw_noise & 0x100) if (raw_noise & 0x100)
return ~((raw_noise & 0x0ff) >> 1); return ~0x1ff | raw_noise;
else else
return (raw_noise & 0xff) >> 1; return raw_noise;
} }
int carl9170_get_noisefloor(struct ar9170 *ar) int carl9170_get_noisefloor(struct ar9170 *ar)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment