[PATCH 2/2]: mac80211: report correct MCS information in tx status info

STALE5614d

2 messages, 2 authors, 2011-05-20 · open the first message on its own page

[PATCH 2/2]: mac80211: report correct MCS information in tx status info

From: Matteo Croce <hidden>
Date: 2011-05-19 23:13:47

Report correct MCS information in tx status info

Signed-off-by: Matteo Croce <redacted>
--- a/net/mac80211/status.c	2011-05-20 00:22:56.220640264 +0200
+++ b/net/mac80211/status.c	2011-05-20 00:24:14.010640270 +0200
@@ -405,6 +405,20 @@
 	    !(info->status.rates[0].flags & IEEE80211_TX_RC_MCS))
 		rthdr->rate = sband->bitrates[
 				info->status.rates[0].idx].bitrate / 5;
+	/* HT rates */
+	if (info->status.rates[0].flags & IEEE80211_TX_RC_MCS) {
+		rthdr->hdr.it_present |=
+				cpu_to_le32(1 << IEEE80211_RADIOTAP_MCS);
+		rthdr->rate = 0;
+		rthdr->ht_known =	IEEE80211_RADIOTAP_MCS_HAVE_BW |
+					IEEE80211_RADIOTAP_MCS_HAVE_MCS |
+					IEEE80211_RADIOTAP_MCS_HAVE_GI;
+		rthdr->ht_mcs = info->status.rates[0].idx;
+		if (info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
+			rthdr->ht_flag |= IEEE80211_RADIOTAP_MCS_BW_40;
+		if (info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)
+			rthdr->ht_flag |= IEEE80211_RADIOTAP_MCS_SGI;
+	}

 	/* for now report the total retry_count */
 	rthdr->data_retries = retry_count;

Re: [PATCH 2/2]: mac80211: report correct MCS information in tx status info

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-05-20 15:10:51

On Fri, 2011-05-20 at 01:13 +0200, Matteo Croce wrote:
quoted hunk
Report correct MCS information in tx status info

Signed-off-by: Matteo Croce <redacted>
--- a/net/mac80211/status.c	2011-05-20 00:22:56.220640264 +0200
+++ b/net/mac80211/status.c	2011-05-20 00:24:14.010640270 +0200
@@ -405,6 +405,20 @@
 	    !(info->status.rates[0].flags & IEEE80211_TX_RC_MCS))
 		rthdr->rate = sband->bitrates[
 				info->status.rates[0].idx].bitrate / 5;
+	/* HT rates */
+	if (info->status.rates[0].flags & IEEE80211_TX_RC_MCS) {
+		rthdr->hdr.it_present |=
+				cpu_to_le32(1 << IEEE80211_RADIOTAP_MCS);
This means the part that I just commented on from the other patch is
wrong. Think about this again, about how radiotap works etc. You're
creating an invalid radiotap header that's too long if MCS rates aren't
used.

johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help