mac80211: add ldpc and stbc support to minstrel_ht
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 18 Apr 2010 00:56:32 +0000 (00:56 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 18 Apr 2010 00:56:32 +0000 (00:56 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20975 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/530-minstrel_ht.patch

index a77e94b..6b59529 100644 (file)
@@ -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>
 + *
 +      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,
 +      }
 +      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;
 +}
 --- /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>
 + *
 +      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;