X-Git-Url: http://git.ozo.com/?p=openwrt-10.03%2F.git;a=blobdiff_plain;f=package%2Fmac80211%2Fpatches%2F560-minstrel_ht.patch;h=9fa9e05c526fcb70fa886e6f7ba41baf3d97b115;hp=bc50ca67e27b66deb4f46122ed9e5f62ffc1590b;hb=32997050fa657d18173dac13c6a376305ee1876a;hpb=d19c65588b7df7f4a793819e43508b1ae6383e77 diff --git a/package/mac80211/patches/560-minstrel_ht.patch b/package/mac80211/patches/560-minstrel_ht.patch index bc50ca67e..9fa9e05c5 100644 --- a/package/mac80211/patches/560-minstrel_ht.patch +++ b/package/mac80211/patches/560-minstrel_ht.patch @@ -68,7 +68,7 @@ --- /dev/null +++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -0,0 +1,800 @@ +@@ -0,0 +1,807 @@ +/* + * Copyright (C) 2010 Felix Fietkau + * @@ -262,6 +262,7 @@ + int cur_prob, cur_prob_tp, cur_tp, cur_tp2; + int group, i, index; + ++ mi->sample_slow = 0; + mi->sample_count = 0; + mi->max_tp_rate = 0; + mi->max_tp_rate2 = 0; @@ -542,7 +543,9 @@ + if (!mr->retry_updated) + minstrel_calc_retransmit(mp, mi, index); + -+ if (rtscts) ++ if (mr->probability < MINSTREL_FRAC(20, 100)) ++ rate->count = 2; ++ else if (rtscts) + rate->count = mr->retry_count_rtscts; + else + rate->count = mr->retry_count; @@ -595,9 +598,13 @@ + * if the link is working perfectly. + */ + if (minstrel_get_duration(sample_idx) > -+ minstrel_get_duration(mi->max_tp_rate) && -+ mr->sample_skipped < 10) -+ goto next; ++ minstrel_get_duration(mi->max_tp_rate)) { ++ if (mr->sample_skipped < 10) ++ goto next; ++ ++ if (mi->sample_slow++ > 2) ++ goto next; ++ } + + return sample_idx; + @@ -871,7 +878,7 @@ +} --- /dev/null +++ b/net/mac80211/rc80211_minstrel_ht.h -@@ -0,0 +1,120 @@ +@@ -0,0 +1,121 @@ +/* + * Copyright (C) 2010 Felix Fietkau + * @@ -967,6 +974,7 @@ + u8 sample_wait; + u8 sample_tries; + u8 sample_count; ++ u8 sample_slow; + + /* current MCS group to be sampled */ + u8 sample_group;