diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-10-11 01:33:09 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-10-11 01:33:09 +0000 |
commit | 090f16f6fb1019af891be04e2da176f6feb65cc9 (patch) | |
tree | 1fafd2be3f6989795ec69425f3dabbade11138b2 /package/mac80211/patches/300-minstrel_no_mrr.patch | |
parent | 042b8de61d833ef841b2ccf4d39f673aecaacd3a (diff) |
mac80211: add rate control rewrite and enhance the performance of the minstrel algorithm for non-mrr configurations
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12948 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/300-minstrel_no_mrr.patch')
-rw-r--r-- | package/mac80211/patches/300-minstrel_no_mrr.patch | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/package/mac80211/patches/300-minstrel_no_mrr.patch b/package/mac80211/patches/300-minstrel_no_mrr.patch deleted file mode 100644 index d4c04c4d8..000000000 --- a/package/mac80211/patches/300-minstrel_no_mrr.patch +++ /dev/null @@ -1,31 +0,0 @@ -This fixes tx status processing for drivers that do not support mrr. -If the retry count is bigger than the maximum retry count configured in -the hardware, do not count the rate attempt as successful, the hardware -has probably switched to a lower rate. - -Signed-off-by: Felix Fietkau <nbd@openwrt.org> - ---- a/net/mac80211/rc80211_minstrel.c -+++ b/net/mac80211/rc80211_minstrel.c -@@ -171,6 +171,7 @@ minstrel_tx_status(void *priv, struct ie - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - struct ieee80211_tx_altrate *ar = info->status.retries; - struct minstrel_priv *mp = priv; -+ struct ieee80211_local *local = hw_to_local(mp->hw); - int i, ndx, tries; - int success = 0; - -@@ -180,6 +181,13 @@ minstrel_tx_status(void *priv, struct ie - if (!mp->has_mrr || (ar[0].rate_idx < 0)) { - ndx = rix_to_ndx(mi, info->tx_rate_idx); - tries = info->status.retry_count + 1; -+ -+ /* If the driver does not support the MRR API, but uses -+ * a fallback rate, use the long retry limit as indication -+ * that a rate switch has happened */ -+ if (!mp->has_mrr && (tries >= local->long_retry_limit)) -+ success = 0; -+ - mi->r[ndx].success += success; - mi->r[ndx].attempts += tries; - return; |