On Tue, 2009-05-26 at 22:05 -0700, Jeff Hansen wrote: > Some of the acwmin and acwmax values were backwards in the original patch, > which cut TX performance (on my device at least) down from ~25-30Mbps to > 2Mbps. Performance is back up after this commit. Thanks for reporting these and verifying that this fixes the issue. However, not all of these are typos.. In addition, linux-wireless@xxxxxxxxxxxxxxx should be cc'ed. > diff --git a/net/mac80211/util.c b/net/mac80211/util.c > @@ -657,20 +657,20 @@ void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata) > > switch (queue) { > case 3: /* AC_BK */ > - qparam.cw_max = aCWmin; > - qparam.cw_min = aCWmax; > + qparam.cw_max = aCWmax; > + qparam.cw_min = aCWmin; > qparam.txop = 0; > qparam.aifs = 7; > break; > default: /* never happens but let's not leave undefined */ > case 2: /* AC_BE */ > - qparam.cw_max = aCWmin; > - qparam.cw_min = aCWmax; > + qparam.cw_max = aCWmax; > + qparam.cw_min = aCWmin; > qparam.txop = 0; > qparam.aifs = 3; > break; These are correct fixes. > case 1: /* AC_VI */ > - qparam.cw_max = aCWmin; > + qparam.cw_max = aCWmax; > qparam.cw_min = (aCWmin + 1) / 2 - 1; > if (use_11b) > qparam.txop = 6016/32; > @@ -679,7 +679,7 @@ void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata) > qparam.aifs = 2; > break; > case 0: /* AC_VO */ > - qparam.cw_max = (aCWmin + 1) / 2 - 1; > + qparam.cw_max = (aCWmax + 1) / 2 - 1; > qparam.cw_min = (aCWmin + 1) / 4 - 1; > if (use_11b) > qparam.txop = 3264/32; These were actually already correct (yes, it may look like a typo, but it is not, both of VI and VO are indeed using aCWmin in calculation for both min and max values) and should not be changed. - Jouni -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html