summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-18 00:56:32 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-18 00:56:32 +0000
commitaccf7948da0cdc20a2c3a59856cd099efc1bbf5a (patch)
treee8b399ed4259a35dbcd89b89285cefbea3bf1309
parent639151d788b8865a5cf691e43ef1a75d48dca50b (diff)
mac80211: add ldpc and stbc support to minstrel_ht
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20975 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/patches/530-minstrel_ht.patch14
1 files changed, 12 insertions, 2 deletions
diff --git a/package/mac80211/patches/530-minstrel_ht.patch b/package/mac80211/patches/530-minstrel_ht.patch
index a77e94b5e..6b59529b9 100644
--- a/package/mac80211/patches/530-minstrel_ht.patch
+++ b/package/mac80211/patches/530-minstrel_ht.patch
@@ -68,7 +68,7 @@
--- /dev/null
+++ b/net/mac80211/rc80211_minstrel_ht.c
-@@ -0,0 +1,815 @@
+@@ -0,0 +1,822 @@
+/*
+ * Copyright (C) 2010 Felix Fietkau <nbd@openwrt.org>
+ *
@@ -660,6 +660,7 @@
+ if (!msp->is_ht)
+ return mac80211_minstrel.get_rate(priv, sta, &msp->legacy, txrc);
+
++ info->flags |= mi->tx_flags;
+ sample_idx = minstrel_get_sample_rate(mp, mi);
+ if (sample_idx >= 0) {
+ minstrel_ht_set_rate(mp, mi, &ar[0], sample_idx,
@@ -733,6 +734,12 @@
+ }
+ mi->sample_tries = 4;
+
++ if (sta_cap & IEEE80211_HT_CAP_TX_STBC)
++ mi->tx_flags |= IEEE80211_TX_CTL_STBC;
++
++ if (sta_cap & IEEE80211_HT_CAP_LDPC_CODING)
++ mi->tx_flags |= IEEE80211_TX_CTL_LDPC;
++
+ if (oper_chan_type != NL80211_CHAN_HT40MINUS &&
+ oper_chan_type != NL80211_CHAN_HT40PLUS)
+ sta_cap &= ~IEEE80211_HT_CAP_SUP_WIDTH_20_40;
@@ -886,7 +893,7 @@
+}
--- /dev/null
+++ b/net/mac80211/rc80211_minstrel_ht.h
-@@ -0,0 +1,125 @@
+@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2010 Felix Fietkau <nbd@openwrt.org>
+ *
@@ -983,6 +990,9 @@
+ unsigned int total_packets;
+ unsigned int sample_packets;
+
++ /* tx flags to add for frames for this sta */
++ u32 tx_flags;
++
+ u8 sample_wait;
+ u8 sample_tries;
+ u8 sample_count;