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> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
9655a6ec19
commit
663cb47cc2
|
@ -413,7 +413,7 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev,
|
||||||
*/
|
*/
|
||||||
rt2x00_desc_read(txi, 0, &word);
|
rt2x00_desc_read(txi, 0, &word);
|
||||||
rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN,
|
rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN,
|
||||||
skb->len + TXWI_DESC_SIZE);
|
skb->len - TXINFO_DESC_SIZE);
|
||||||
rt2x00_set_field32(&word, TXINFO_W0_WIV,
|
rt2x00_set_field32(&word, TXINFO_W0_WIV,
|
||||||
!test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags));
|
!test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags));
|
||||||
rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2);
|
rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2);
|
||||||
|
|
Loading…
Reference in a new issue