[rt2x00-users] [PATCH 2/2] rt2800: nulify all last words of TXWI

Gertjan van Wingerde gwingerde at gmail.com
Fri Apr 19 19:49:42 AEST 2013


Hi Stanislaw,

On Wed, Apr 17, 2013 at 2:30 PM,  <stf_xl at wp.pl> wrote:
> From: Stanislaw Gruszka <stf_xl at wp.pl>
>
> Signed-off-by: Stanislaw Gruszka <stf_xl at wp.pl>
> ---
>  drivers/net/wireless/rt2x00/rt2800lib.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index 5c20e98..35f58bb 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -542,6 +542,7 @@ void rt2800_write_tx_data(struct queue_entry *entry,
>  {
>         __le32 *txwi = rt2800_drv_get_txwi(entry);
>         u32 word;
> +       int i;
>
>         /*
>          * Initialize TX Info descriptor
> @@ -584,14 +585,16 @@ void rt2800_write_tx_data(struct queue_entry *entry,
>         rt2x00_desc_write(txwi, 1, word);
>
>         /*
> -        * Always write 0 to IV/EIV fields, hardware will insert the IV
> -        * from the IVEIV register when TXD_W3_WIV is set to 0.
> +        * Always write 0 to IV/EIV fields (word 2 and 3), hardware will insert
> +        * the IV from the IVEIV register when TXD_W3_WIV is set to 0.
>          * When TXD_W3_WIV is set to 1 it will use the IV data
>          * from the descriptor. The TXWI_W1_WIRELESS_CLI_ID indicates which
>          * crypto entry in the registers should be used to encrypt the frame.
> +        *
> +        * Nulify all remaining words as well, we don't know how to program them.
>          */
> -       _rt2x00_desc_write(txwi, 2, 0 /* skbdesc->iv[0] */);
> -       _rt2x00_desc_write(txwi, 3, 0 /* skbdesc->iv[1] */);
> +       for (i = 2; i < entry->queue->winfo_size / sizeof(__le32); i++)
> +               _rt2x00_desc_write(txwi, i, 0);
>  }
>  EXPORT_SYMBOL_GPL(rt2800_write_tx_data);
>

Wouldn't it be easier / better to simply clear the whole descriptor at
the start, instead of selective clearing parts of it after everything
has been written already?

---
Gertjan




More information about the users mailing list