mac80211_hwsim: Fix RX status reporting for HT
authorJouni Malinen <j@w1.fi>
Sat, 6 Aug 2011 20:07:00 +0000 (23:07 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 10 Aug 2011 18:07:41 +0000 (14:07 -0400)
RX_FLAG_HT must be included when reporting MCS rates. Without
this, mac80211 ended up dropping any frame sent at MCS index 12
or higher and that resulted in oddly random looking errors in
mac80211_hwsim tests.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mac80211_hwsim.c

index 031cd89..34b79fc 100644 (file)
@@ -612,6 +612,12 @@ static bool mac80211_hwsim_tx_frame_no_nl(struct ieee80211_hw *hw,
        rx_status.freq = data->channel->center_freq;
        rx_status.band = data->channel->band;
        rx_status.rate_idx = info->control.rates[0].idx;
+       if (info->control.rates[0].flags & IEEE80211_TX_RC_MCS)
+               rx_status.flag |= RX_FLAG_HT;
+       if (info->control.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
+               rx_status.flag |= RX_FLAG_40MHZ;
+       if (info->control.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)
+               rx_status.flag |= RX_FLAG_SHORT_GI;
        /* TODO: simulate real signal strength (and optional packet loss) */
        rx_status.signal = data->power_level - 50;