wireless: correctly report signal value for IEEE80211_HW_SIGNAL_UNSPEC
authorJohn W. Linville <linville@tuxdriver.com>
Tue, 8 Dec 2009 22:10:13 +0000 (17:10 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Dec 2009 22:04:25 +0000 (14:04 -0800)
commit 19deffbeba930030cfaf000b920333c6ba99ad52 upstream.

This part was missed in "cfg80211: implement get_wireless_stats",
probably because sta_set_sinfo already existed and was only handling
dBm signals.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/mac80211/cfg.c

index 7b5131bd6fa17827af6574bb624cf072e5f7b35e..cca675e25363ec984a607c881bc7349c9ab6281a 100644 (file)
@@ -338,7 +338,8 @@ static void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo)
        sinfo->rx_packets = sta->rx_packets;
        sinfo->tx_packets = sta->tx_packets;
 
-       if (sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) {
+       if ((sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) ||
+           (sta->local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC)) {
                sinfo->filled |= STATION_INFO_SIGNAL;
                sinfo->signal = (s8)sta->last_signal;
        }