OSDN Git Service

mac80211: Remove radiotap rate-present flag for HT
authorJouni Malinen <jouni.malinen@atheros.com>
Mon, 15 Dec 2008 08:37:50 +0000 (10:37 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 19 Dec 2008 20:23:22 +0000 (15:23 -0500)
Since we do not currently report HT rates (MCS index) in radiotap
header for HT rates, we should not claim the rate is present. The rate
octet itself is used as padding in this case, so only the it_present
flag needs to be removed in case of HT rates.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/rx.c

index b729c00..7175ae8 100644 (file)
@@ -123,7 +123,6 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
        /* radiotap header, set always present flags */
        rthdr->it_present =
                cpu_to_le32((1 << IEEE80211_RADIOTAP_FLAGS) |
-                           (1 << IEEE80211_RADIOTAP_RATE) |
                            (1 << IEEE80211_RADIOTAP_CHANNEL) |
                            (1 << IEEE80211_RADIOTAP_ANTENNA) |
                            (1 << IEEE80211_RADIOTAP_RX_FLAGS));
@@ -158,8 +157,10 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
                 * - short-GI (status->flag & RX_FLAG_SHORT_GI)
                 */
                *pos = 0;
-       } else
+       } else {
+               rthdr->it_present |= (1 << IEEE80211_RADIOTAP_RATE);
                *pos = rate->bitrate / 5;
+       }
        pos++;
 
        /* IEEE80211_RADIOTAP_CHANNEL */