diff options
author | Adam Baker <linux@baker-net.org.uk> | 2008-03-09 17:43:27 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-03-13 16:02:35 -0400 |
commit | fd07e06380a1fe2b2c505d00563a63cfb63d7ceb (patch) | |
tree | 4bf5c8ab6d38941ef9b7f8fc86db7dfee64a577a /drivers/net | |
parent | 8af244ccb14a4367568db11c5e78b45a4c2cf77e (diff) |
rt2x00:correct rx packet length for USB devices
When fixing up the packet alignment, if we had to add 2 bytes to the front of
the skb we need to remember to take them off the end afterwards. This fixes
reception of encrypted packets which were otherwise failing with an invalid
ICV.
Signed-off-by: Adam Baker <linux@baker-net.org.uk>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index eec91111e765..5a331674dcb2 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c | |||
@@ -299,6 +299,7 @@ static void rt2x00usb_interrupt_rxdone(struct urb *urb) | |||
299 | memmove(entry->skb->data, entry->skb->data + 2, | 299 | memmove(entry->skb->data, entry->skb->data + 2, |
300 | entry->skb->len - 2); | 300 | entry->skb->len - 2); |
301 | skbdesc->data = entry->skb->data; | 301 | skbdesc->data = entry->skb->data; |
302 | skb_trim(entry->skb,entry->skb->len - 2); | ||
302 | } | 303 | } |
303 | 304 | ||
304 | /* | 305 | /* |