Hi Stanislaw, On Wed, Apr 17, 2013 at 2:30 PM, <stf_xl@xxxxx> wrote: > From: Stanislaw Gruszka <stf_xl@xxxxx> > > Signed-off-by: Stanislaw Gruszka <stf_xl@xxxxx> > --- > 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 -- 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