[rt2x00-users] [PATCH] rt2x00: Allow tx duplication for legacy rates in HT40 mode

Ivo Van Doorn ivdoorn at gmail.com
Mon Sep 20 08:50:46 UTC 2010


On Sat, Sep 18, 2010 at 12:49 PM, Helmut Schaa
<helmut.schaa at googlemail.com> wrote:
> Make use of the IEEE80211_TX_RC_DUP_DATA flag to duplicate a
> transmission with legacy rates to both 20Mhz channels if set.
> Also update the related comment in rt2800.h to describe the
> behavior of the BW_40 flag for legacy rates.
>
> Signed-off-by: Helmut Schaa <helmut.schaa at googlemail.com>

Applied.

Thanks.

> ---
>  drivers/net/wireless/rt2x00/rt2800.h   |    3 ++-
>  drivers/net/wireless/rt2x00/rt2x00ht.c |    8 +++++++-
>  2 files changed, 9 insertions(+), 2 deletions(-)
>
> Ivo,
>
> Not sure if this conflicts with any other patch I've sent before ;) but I'm
> on a different machine right now and don't want to apply all patches
> manually. So, if you encounter a conflict I'll just resend ...
>
> Thanks,
> Helmut
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
> index 2edc774..d25c6f0 100644
> --- a/drivers/net/wireless/rt2x00/rt2800.h
> +++ b/drivers/net/wireless/rt2x00/rt2800.h
> @@ -1963,7 +1963,8 @@ struct mac_iveiv_entry {
>  * FRAG: 1 To inform TKIP engine this is a fragment.
>  * MIMO_PS: The remote peer is in dynamic MIMO-PS mode
>  * TX_OP: 0:HT TXOP rule , 1:PIFS TX ,2:Backoff, 3:sifs
> - * BW: Channel bandwidth 20MHz or 40 MHz
> + * BW: Channel bandwidth 0:20MHz, 1:40 MHz (for legacy rates this will
> + *     duplicate the frame to both channels).
>  * STBC: 1: STBC support MCS =0-7, 2,3 : RESERVED
>  * AMPDU: 1: this frame is eligible for AMPDU aggregation, the hw will
>  *        aggregate consecutive frames with the same RA and QoS TID.
> diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
> index ad3c7ff..60d419d 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00ht.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
> @@ -84,7 +84,13 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
>                txdesc->rate_mode = RATE_MODE_HT_MIX;
>        if (txrate->flags & IEEE80211_TX_RC_GREEN_FIELD)
>                txdesc->rate_mode = RATE_MODE_HT_GREENFIELD;
> -       if (txrate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
> +
> +       /*
> +        * Set 40Mhz mode if necessary (for legacy rates this will
> +        * duplicate the frame to both channels).
> +        */
> +       if (txrate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH ||
> +           txrate->flags & IEEE80211_TX_RC_DUP_DATA)
>                __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
>        if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
>                __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
> --
> 1.7.1
>
>
> _______________________________________________
> users mailing list
> users at rt2x00.serialmonkey.com
> http://rt2x00.serialmonkey.com/mailman/listinfo/users_rt2x00.serialmonkey.com
>



More information about the users mailing list