mac80211: increase minstrel_ht precision by properly using a-mpdu frame stats
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 7 Mar 2010 16:29:37 +0000 (16:29 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 7 Mar 2010 16:29:37 +0000 (16:29 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20034 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/560-minstrel_ht.patch

index 2eaab62ab623591b082fee34b4d3124aeb150c2c..15ff3e6d729a8d144759e67516ff0f70c2b7bf5f 100644 (file)
@@ -68,7 +68,7 @@
  
 --- /dev/null
 +++ b/net/mac80211/rc80211_minstrel_ht.c
  
 --- /dev/null
 +++ b/net/mac80211/rc80211_minstrel_ht.c
-@@ -0,0 +1,825 @@
+@@ -0,0 +1,824 @@
 +/*
 + * Copyright (C) 2010 Felix Fietkau <nbd@openwrt.org>
 + *
 +/*
 + * Copyright (C) 2010 Felix Fietkau <nbd@openwrt.org>
 + *
 +              group = minstrel_ht_get_group_idx(&ar[i]);
 +              rate = &mi->groups[group].rates[ar[i].idx % 8];
 +
 +              group = minstrel_ht_get_group_idx(&ar[i]);
 +              rate = &mi->groups[group].rates[ar[i].idx % 8];
 +
-+              if (last && (info->flags & IEEE80211_TX_STAT_ACK) &&
-+                  info->status.ampdu_len == info->status.ampdu_ack_len)
-+                      rate->success++;
++              if (last && (info->flags & IEEE80211_TX_STAT_ACK))
++                      rate->success += info->status.ampdu_ack_len;
 +
 +
-+              rate->attempts += ar[i].count;
++              rate->attempts += ar[i].count * info->status.ampdu_len;
 +      }
 +
 +
 +      }
 +
 +