diff options
author | Stanislaw Gruszka <stf_xl@wp.pl> | 2013-04-17 08:30:48 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-22 15:20:20 -0400 |
commit | 557985ae3442b43a776e58a494e1b6f549321ce2 (patch) | |
tree | 1da060b45d474b8606a6c318dcf063da9d135cf3 /drivers/net/wireless/rt2x00 | |
parent | f0bda571047746365569fccaede86adf6c0dfe8a (diff) |
rt2800: nulify all last words of TXWI
Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00')
-rw-r--r-- | 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 5c20e98b4808..35f58bbf25c1 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, | |||
542 | { | 542 | { |
543 | __le32 *txwi = rt2800_drv_get_txwi(entry); | 543 | __le32 *txwi = rt2800_drv_get_txwi(entry); |
544 | u32 word; | 544 | u32 word; |
545 | int i; | ||
545 | 546 | ||
546 | /* | 547 | /* |
547 | * Initialize TX Info descriptor | 548 | * Initialize TX Info descriptor |
@@ -584,14 +585,16 @@ void rt2800_write_tx_data(struct queue_entry *entry, | |||
584 | rt2x00_desc_write(txwi, 1, word); | 585 | rt2x00_desc_write(txwi, 1, word); |
585 | 586 | ||
586 | /* | 587 | /* |
587 | * Always write 0 to IV/EIV fields, hardware will insert the IV | 588 | * Always write 0 to IV/EIV fields (word 2 and 3), hardware will insert |
588 | * from the IVEIV register when TXD_W3_WIV is set to 0. | 589 | * the IV from the IVEIV register when TXD_W3_WIV is set to 0. |
589 | * When TXD_W3_WIV is set to 1 it will use the IV data | 590 | * When TXD_W3_WIV is set to 1 it will use the IV data |
590 | * from the descriptor. The TXWI_W1_WIRELESS_CLI_ID indicates which | 591 | * from the descriptor. The TXWI_W1_WIRELESS_CLI_ID indicates which |
591 | * crypto entry in the registers should be used to encrypt the frame. | 592 | * crypto entry in the registers should be used to encrypt the frame. |
593 | * | ||
594 | * Nulify all remaining words as well, we don't know how to program them. | ||
592 | */ | 595 | */ |
593 | _rt2x00_desc_write(txwi, 2, 0 /* skbdesc->iv[0] */); | 596 | for (i = 2; i < entry->queue->winfo_size / sizeof(__le32); i++) |
594 | _rt2x00_desc_write(txwi, 3, 0 /* skbdesc->iv[1] */); | 597 | _rt2x00_desc_write(txwi, i, 0); |
595 | } | 598 | } |
596 | EXPORT_SYMBOL_GPL(rt2800_write_tx_data); | 599 | EXPORT_SYMBOL_GPL(rt2800_write_tx_data); |
597 | 600 | ||