Browse Source

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>
Adam Baker 17 years ago
parent
commit
fd07e06380
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/net/wireless/rt2x00/rt2x00usb.c

+ 1 - 0
drivers/net/wireless/rt2x00/rt2x00usb.c

@@ -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);
 	}
 
 	/*