Search Linux Wireless

Re: [PATCH 4/4] mac80211: Fix typos in "set default QoS values according to spec"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux