staging: rtl8192u: r8192U_wx: fix negative noise and level values
authorLuis de Bethencourt <luisbg@osg.samsung.com>
Sun, 11 Oct 2015 13:42:01 +0000 (14:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Oct 2015 03:40:48 +0000 (20:40 -0700)
range->max_qual.noise and level are of type uint8, so they shouldn't be
assigned a negative number. Assigning them 0x100 - 98, and 0x100 - 78 which
are the equivalent to -98 dBm and -78 dBm, respectively, when IW_QUAL_DBM
is set.

Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192u/r8192U_wx.c

index 83597051a4485b5f541052cc80abea7981805b79..4911fef2e2e5f39026f78dedd06c3b8088100463 100644 (file)
@@ -263,12 +263,12 @@ static int rtl8180_wx_get_range(struct net_device *dev,
        range->max_qual.qual = 100;
        /* TODO: Find real max RSSI and stick here */
        range->max_qual.level = 0;
-       range->max_qual.noise = -98;
+       range->max_qual.noise = 0x100 - 98;
        range->max_qual.updated = 7; /* Updated all three */
 
        range->avg_qual.qual = 92; /* > 8% missed beacons is 'bad' */
        /* TODO: Find real 'good' to 'bad' threshold value for RSSI */
-       range->avg_qual.level = 20 + -98;
+       range->avg_qual.level = 0x100 - 78;
        range->avg_qual.noise = 0;
        range->avg_qual.updated = 7; /* Updated all three */