libertas: store rssi as an u32
authorHolger Schurig <hs4233@mail.mn-solutions.de>
Wed, 19 Mar 2008 16:08:32 +0000 (17:08 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 25 Mar 2008 20:41:50 +0000 (16:41 -0400)
Don't store an (hardware base) u8 value in bss_descriptor, but just an
unsigned int (RSSI is really unsigned). Compilers generate more efficent
code for ints than for bytes.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/debugfs.c
drivers/net/wireless/libertas/scan.c
drivers/net/wireless/libertas/scan.h

index 6d7c0d9b677bafe3c3e06077edf72c40912a51e7..7072e26b42d95276a1a480af5f97c3b085cd5e12 100644 (file)
@@ -78,7 +78,7 @@ static ssize_t lbs_getscantable(struct file *file, char __user *userbuf,
                u16 spectrum_mgmt = (iter_bss->capability & WLAN_CAPABILITY_SPECTRUM_MGMT);
 
                pos += snprintf(buf+pos, len-pos,
-                       "%02u| %03d | %04ld | %s |",
+                       "%02u| %03d | %04d | %s |",
                        numscansdone, iter_bss->channel, iter_bss->rssi,
                        print_mac(mac, iter_bss->bssid));
                pos += snprintf(buf+pos, len-pos, " %04x-", iter_bss->capability);
index 0598541451d87ae1c2a3647e2505e968a97a5d4a..3825b7979fc42584d45d2edd02924642255caa46 100644 (file)
@@ -602,7 +602,7 @@ static int lbs_scan_networks(struct lbs_private *priv, int full_scan)
        lbs_deb_scan("scan table:\n");
        list_for_each_entry(iter, &priv->network_list, list)
                lbs_deb_scan("%02d: BSSID %s, RSSI %d, SSID '%s'\n",
-                            i++, print_mac(mac, iter->bssid), (int)iter->rssi,
+                            i++, print_mac(mac, iter->bssid), iter->rssi,
                             escape_essid(iter->ssid, iter->ssid_len));
        mutex_unlock(&priv->lock);
 #endif
@@ -948,7 +948,7 @@ struct bss_descriptor *lbs_find_ssid_in_list(struct lbs_private *priv,
                                             uint8_t *bssid, uint8_t mode,
                                             int channel)
 {
-       uint8_t bestrssi = 0;
+       u32 bestrssi = 0;
        struct bss_descriptor * iter_bss = NULL;
        struct bss_descriptor * found_bss = NULL;
        struct bss_descriptor * tmp_oldest = NULL;
index c50c8b74714b7c223eb3992fd55ac00aee246c63..b50cf1415e04eec9eceee2cbee95462f9ca14d12 100644 (file)
@@ -34,14 +34,9 @@ struct bss_descriptor {
        u8 ssid_len;
 
        u16 capability;
-
-       /* receive signal strength in dBm */
-       long rssi;
-
+       u32 rssi;
        u32 channel;
-
        u16 beaconperiod;
-
        u32 atimwindow;
 
        /* IW_MODE_AUTO, IW_MODE_ADHOC, IW_MODE_INFRA */