Add a madwifi patch by Brian Candler, which fixes minstrel when operating without...
authorFelix Fietkau <nbd@openwrt.org>
Fri, 21 Dec 2007 15:36:54 +0000 (15:36 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 21 Dec 2007 15:36:54 +0000 (15:36 +0000)
Should lead to significant performance improvements when dealing with stations in B/G mixed mode.
Fixes #2876

SVN-Revision: 9820

package/madwifi/patches/110-minstrel_counters.patch [new file with mode: 0644]

diff --git a/package/madwifi/patches/110-minstrel_counters.patch b/package/madwifi/patches/110-minstrel_counters.patch
new file mode 100644 (file)
index 0000000..a3ed91a
--- /dev/null
@@ -0,0 +1,22 @@
+diff --exclude '*~' -uNr madwifi-dfs-r3053.orig/ath_rate/minstrel/minstrel.c madwifi-dfs-r3053/ath_rate/minstrel/minstrel.c
+--- madwifi-dfs-r3053.orig/ath_rate/minstrel/minstrel.c        2007-12-21 13:34:23.000000000 +0000
++++ madwifi-dfs-r3053/ath_rate/minstrel/minstrel.c     2007-12-21 14:29:07.000000000 +0000
+@@ -449,7 +449,6 @@
+               const struct ath_desc *ds = &bf->bf_desc[0];
+               int final_rate = 0;
+               int tries = 0;
+-              int ndx = -1;
+               int mrr;
+               int final_ndx;
+               int rate0, tries0, ndx0;
+@@ -488,8 +487,8 @@
+               mrr = sc->sc_mrretry && !(ic->ic_flags & IEEE80211_F_USEPROT) && ENABLE_MRR;
+               if (!mrr) {
+-                      if ((0 <= ndx) && (ndx < sn->num_rates)) {
+-                              sn->rs_rateattempts[ndx]++; /* only one rate was used */
++                      if ((0 <= final_ndx) && (final_ndx < sn->num_rates)) {
++                              sn->rs_rateattempts[final_ndx]++; /* only one rate was used */
+                       }
+                       return;
+               }