rt2x00:correct rx packet length for USB devices
authorAdam Baker <linux@baker-net.org.uk>
Sun, 9 Mar 2008 21:43:27 +0000 (22:43 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 13 Mar 2008 20:02:35 +0000 (16:02 -0400)
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>
drivers/net/wireless/rt2x00/rt2x00usb.c

index eec91111e7656bffa9b903223af03858aaab86d3..5a331674dcb2384c036f77b08aa79f93b819946a 100644 (file)
@@ -299,6 +299,7 @@ static void rt2x00usb_interrupt_rxdone(struct urb *urb)
                memmove(entry->skb->data, entry->skb->data + 2,
                        entry->skb->len - 2);
                skbdesc->data = entry->skb->data;
+               skb_trim(entry->skb,entry->skb->len - 2);
        }
 
        /*