orinoco: indicate it is using dBm in wireless_stats and spy
authorAndrey Borzenkov <arvidjaar@mail.ru>
Sat, 15 Nov 2008 14:15:09 +0000 (17:15 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 26 Nov 2008 14:47:18 +0000 (09:47 -0500)
Since WE7 /proc/net/wireless checks whether level and noise  are in dBm
and shows them accordingly. Indicate that we return signal and noice
levels in dBm.

Before:
Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
 face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
  eth1: 0000   65.  219.  165.       0      0    148     41      0        0

After:
Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
 face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
  eth1: 0000   65.  -37.  -91.       0      0      0      0      0        0

While at it, replace raw numbers with appropriate macro.

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/orinoco/orinoco.c

index fd9263980d695ead99d16adbbe7a223a9b7deb67..7ec038ac1c36646f393d96d7d40658195363b8fb 100644 (file)
@@ -809,7 +809,7 @@ static struct iw_statistics *orinoco_get_wireless_stats(struct net_device *dev)
                        wstats->qual.qual = (int)le16_to_cpu(cq.qual);
                        wstats->qual.level = (int)le16_to_cpu(cq.signal) - 0x95;
                        wstats->qual.noise = (int)le16_to_cpu(cq.noise) - 0x95;
-                       wstats->qual.updated = 7;
+                       wstats->qual.updated = IW_QUAL_ALL_UPDATED | IW_QUAL_DBM;
                }
        }
 
@@ -1168,7 +1168,7 @@ static inline void orinoco_spy_gather(struct net_device *dev, u_char *mac,
        wstats.level = level - 0x95;
        wstats.noise = noise - 0x95;
        wstats.qual = (level > noise) ? (level - noise) : 0;
-       wstats.updated = 7;
+       wstats.updated = IW_QUAL_ALL_UPDATED | IW_QUAL_DBM;
        /* Update spy records */
        wireless_spy_update(dev, mac, &wstats);
 }