mac80211/minstrel_ht: fix spacing between sample attempts

A sample attempt should only count in mi->sample_tries if the sample
attempt wasn't skipped based on slower rate criteria.
This patch increases the sampling frequency for potentially desirable
rates and thus enables faster recovery from interference or collisions.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Felix Fietkau 2013-03-03 12:49:52 +01:00 committed by Johannes Berg
parent 965237ab9f
commit 098b8afbf2

View File

@ -640,7 +640,6 @@ minstrel_get_sample_rate(struct minstrel_priv *mp, struct minstrel_ht_sta *mi)
if (!mi->sample_tries) if (!mi->sample_tries)
return -1; return -1;
mi->sample_tries--;
mg = &mi->groups[mi->sample_group]; mg = &mi->groups[mi->sample_group];
sample_idx = sample_table[mg->column][mg->index]; sample_idx = sample_table[mg->column][mg->index];
mr = &mg->rates[sample_idx]; mr = &mg->rates[sample_idx];
@ -677,6 +676,7 @@ minstrel_get_sample_rate(struct minstrel_priv *mp, struct minstrel_ht_sta *mi)
if (mi->sample_slow++ > 2) if (mi->sample_slow++ > 2)
return -1; return -1;
} }
mi->sample_tries--;
return sample_idx; return sample_idx;
} }