diff mbox

cdc-eem: bad crc checking

Message ID 5ca532980907160908k3c18fd16k18e17f92a18de5a8@mail.gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Vincent CUISSARD July 16, 2009, 4:08 p.m. UTC
When the driver received an EEM packet with CRC option enabled, driver must
compute and check the CRC of the Ethernet data. Previous version computes CRC
on Ethernet data plus the original CRC value. Skbuff is correctly trimed but
the old length is used when CRC is computed.


Signed-off-by: Vincent CUISSARD <vincent.cuissard@gmail.com>
---
 drivers/net/usb/cdc_eem.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller July 17, 2009, 1:10 a.m. UTC | #1
From: Vincent CUISSARD <vincent.cuissard@gmail.com>
Date: Thu, 16 Jul 2009 18:08:58 +0200

> When the driver received an EEM packet with CRC option enabled, driver must
> compute and check the CRC of the Ethernet data. Previous version computes CRC
> on Ethernet data plus the original CRC value. Skbuff is correctly trimed but
> the old length is used when CRC is computed.
> 
> 
> Signed-off-by: Vincent CUISSARD <vincent.cuissard@gmail.com>

Applied, but you need to fix your patch submission so that your
email client doesn't corrupt the patch by splitting up longer
lines like it did here.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/usb/cdc_eem.c b/drivers/net/usb/cdc_eem.c
index 80e0177..b9e7162 100644
--- a/drivers/net/usb/cdc_eem.c
+++ b/drivers/net/usb/cdc_eem.c
@@ -311,7 +311,7 @@  static int eem_rx_fixup(struct usbnet *dev, struct
sk_buff *skb)
 			 *	bmCRC = 0	: CRC = 0xDEADBEEF
 			 */
 			if (header & BIT(14))
-				crc2 = ~crc32_le(~0, skb2->data, len);
+				crc2 = ~crc32_le(~0, skb2->data, skb2->len);
 			else
 				crc2 = 0xdeadbeef;