Browse Source

mac80211: Remove radiotap rate-present flag for HT

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>
Jouni Malinen 16 years ago
parent
commit
8d6f658e21
1 changed files with 3 additions and 2 deletions
  1. 3 2
      net/mac80211/rx.c

+ 3 - 2
net/mac80211/rx.c

@@ -123,7 +123,6 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
 	/* radiotap header, set always present flags */
 	/* radiotap header, set always present flags */
 	rthdr->it_present =
 	rthdr->it_present =
 		cpu_to_le32((1 << IEEE80211_RADIOTAP_FLAGS) |
 		cpu_to_le32((1 << IEEE80211_RADIOTAP_FLAGS) |
-			    (1 << IEEE80211_RADIOTAP_RATE) |
 			    (1 << IEEE80211_RADIOTAP_CHANNEL) |
 			    (1 << IEEE80211_RADIOTAP_CHANNEL) |
 			    (1 << IEEE80211_RADIOTAP_ANTENNA) |
 			    (1 << IEEE80211_RADIOTAP_ANTENNA) |
 			    (1 << IEEE80211_RADIOTAP_RX_FLAGS));
 			    (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)
 		 * - short-GI (status->flag & RX_FLAG_SHORT_GI)
 		 */
 		 */
 		*pos = 0;
 		*pos = 0;
-	} else
+	} else {
+		rthdr->it_present |= (1 << IEEE80211_RADIOTAP_RATE);
 		*pos = rate->bitrate / 5;
 		*pos = rate->bitrate / 5;
+	}
 	pos++;
 	pos++;
 
 
 	/* IEEE80211_RADIOTAP_CHANNEL */
 	/* IEEE80211_RADIOTAP_CHANNEL */