mac80211_hwsim: Incorporate txpower into rssi
authorBlaise Gassend <blaise@willowgarage.com>
Thu, 28 Oct 2010 09:01:24 +0000 (02:01 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 15 Nov 2010 18:25:28 +0000 (13:25 -0500)
Up to now mac80211_hwsim has been reporting an rssi of -50. This patch
improves the model slightly by returning txpower-50. This makes it
easy to stimulate tests that need to see a varying rssi.

Signed-off-by: Blaise Gassend <blaise@willowgarage.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mac80211_hwsim.c

index 7eaaa3bab54780a334bcd70c99fb2d42b5862b92..454f045ddff33118525f93142e53349622e015c3 100644 (file)
@@ -309,6 +309,8 @@ struct mac80211_hwsim_data {
         */
        u64 group;
        struct dentry *debugfs_group;
+
+       int power_level;
 };
 
 
@@ -497,7 +499,7 @@ static bool mac80211_hwsim_tx_frame(struct ieee80211_hw *hw,
        rx_status.band = data->channel->band;
        rx_status.rate_idx = info->control.rates[0].idx;
        /* TODO: simulate real signal strength (and optional packet loss) */
-       rx_status.signal = -50;
+       rx_status.signal = data->power_level - 50;
 
        if (data->ps != PS_DISABLED)
                hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_PM);
@@ -698,6 +700,7 @@ static int mac80211_hwsim_config(struct ieee80211_hw *hw, u32 changed)
        data->idle = !!(conf->flags & IEEE80211_CONF_IDLE);
 
        data->channel = conf->channel;
+       data->power_level = conf->power_level;
        if (!data->started || !data->beacon_int)
                del_timer(&data->beacon_timer);
        else