diff options
author | Gertjan van Wingerde <gwingerde@gmail.com> | 2010-06-03 04:51:50 -0400 |
---|---|---|
committer | Ivo van Doorn <IvDoorn@gmail.com> | 2010-06-03 04:51:50 -0400 |
commit | a903ae004a766a675ff063b88b168bd411e7760c (patch) | |
tree | f48a3dcedf9e657002918fbd0a72cbf37bc76773 /drivers/net/wireless/rt2x00/rt2800usb.c | |
parent | 0b8004aa12d13ec750d102ba4082a95f0107c649 (diff) |
rt2x00: Fix rt2800usb TX descriptor writing.
The recent changes to skb handling introduced a bug in the rt2800usb
TX descriptor writing whereby the length of the USB packet wasn't
calculated correctly.
Found via code inspection, as the devices themselves didn't seem to mind.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800usb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c index ee407f138753..c697066152d7 100644 --- a/drivers/net/wireless/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/rt2x00/rt2800usb.c | |||
@@ -414,7 +414,7 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev, | |||
414 | */ | 414 | */ |
415 | rt2x00_desc_read(txi, 0, &word); | 415 | rt2x00_desc_read(txi, 0, &word); |
416 | rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN, | 416 | rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN, |
417 | skb->len + TXWI_DESC_SIZE); | 417 | skb->len - TXINFO_DESC_SIZE); |
418 | rt2x00_set_field32(&word, TXINFO_W0_WIV, | 418 | rt2x00_set_field32(&word, TXINFO_W0_WIV, |
419 | !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags)); | 419 | !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags)); |
420 | rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2); | 420 | rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2); |